- Introduction
- Features
- Specifications
- How It Works
- Hardware Overview
- Gallery
- Repository Files
- Getting Started
- Project Links
- License & Author
PowerPD is an innovative ESP32-based USB-C Power Delivery (PD) and Power Profile Specification (PPS) programmable bench power supply. It leverages modern USB-C PD technology to provide a flexible, programmable power source that can deliver various voltage and current levels.
Perfect for electronics enthusiasts, makers, and professionals who need a compact, feature-rich power supply for prototyping, testing, and DIY projects.
- β‘ USB-C Power Delivery Support - Harness power from modern USB-C PD chargers (5V-20V)
- ποΈ Programmable Voltage & Current - User-configurable output with real-time control
- π§ ESP32 Powered - Full-featured microcontroller for advanced functionality
- π± Interactive Menu System - Intuitive interface for easy configuration
- π Real-time Monitoring - Display current voltage and current output
- π Easy Programming - UART to USB interface for firmware updates
- πΎ Compact Design - Space-efficient bench power supply form factor
- ποΈ Open Source - All designs, schematics, and code included
| Parameter | Value |
|---|---|
| Microcontroller | ESP32 |
| Input | USB-C Power Delivery / PPS Charger |
| Output Voltage Range | 5V to 20V (via USB PD/PPS protocols) |
| Programmable Voltage | User-configurable voltage selection |
| Programmable Current | User-adjustable current limits |
| Control Interface | Interactive menu system via ESP32 |
| Communication | UART to USB interface for programming |
| Form Factor | Compact bench power supply |
The PowerPD system operates through a simple but powerful workflow:
-
Power Input π
- A USB-C PD/PPS charger supplies power to the system
- The system negotiates the desired voltage with the charger
-
ESP32 Control π§
- The ESP32 microcontroller manages voltage negotiation and current limiting
- The AP33772S power manager IC provides precise voltage and current regulation
-
User Configuration βοΈ
- Users set desired voltage and current values through an intuitive menu interface
- Real-time feedback shows current operating parameters
-
Power Output β‘
- The regulated output is available as a programmable bench power supply
- Suitable for powering various electronics projects and testing scenarios
| Directory | Description |
|---|---|
| Firmware | ESP32 Arduino code (PowerPD.ino) with AP33772S power manager driver for voltage and current control |
| Gerber Files | Complete PCB manufacturing files including schematics BOM and centroid files ready for fabrication |
| Picture | High-quality project photos, gallery images, and demonstration screenshots |
| PowerPD Schematic | Detailed circuit schematics for reference and replication |
| STL | 3D-printable enclosure files for project housing |
- ESP32 Development Board or PowerPD PCB
- USB-C Power Delivery (PD) Charger (5V-20V recommended)
- Arduino IDE with ESP32 support
- UART to USB adapter (CH340G or similar) for programming
-
Clone/Download the Repository
git clone https://github.com/Rau7han/PowerPD.git
-
Prepare the Firmware
- Open
Firmware/PowerPD.inoin Arduino IDE - Include the
AP33772S.cppandAP33772S.hlibraries - Select ESP32 board and appropriate COM port
- Open
-
Upload Firmware
- Connect UART to USB adapter to programming header
- Upload the firmware to your ESP32
-
Power On
- Connect USB-C PD charger to the PowerPD input
- The system will boot and display the menu
-
Configure Output
- Use the menu system to select desired voltage (5V-20V)
- Adjust current limits as needed
- Your programmable power supply is ready to use!
| Platform | Link |
|---|---|
| Hackster.io | PowerPD ESP32 USB-C PD/PPS Programmable Power Supply |
| Hackaday.io | PowerPD - ESP32 USB-C PD/PPS Bench Power Supply |
| Instructables | PowerPD: ESP32 USB-C PD Bench Power Supply |
Author: Rau7han
License: See repository for detailed license information
Contributions, suggestions, and feedback are welcome! π
If you build PowerPD, we'd love to hear about it! Share your projects and improvements.














