|
KiCad 9.0 |
|
|
Fusion 360Autodesk
|
|
|
MounRiver StudioMounRiver
|
100 W USB PD Programmable Power Supply
In this article, I show you how I designed my own USB-PD (power delivery) programmable power supply (PPS). USB-PD is becoming more and more popular nowadays. I already touched upon the topic when I developed my, first of its kind, USB-PD-compatible breadboard power supply. The power supply can be used to negotiate the typical PD voltage levels between 5-20 V, while the board also provides the typical rail voltages, 3.3 V or 5 V, whichever was selected by the user. This time, I tried to take a bit bigger step: I developed a circuit and firmware based on the CH32X035G8U6 microcontroller. Actually, it is not “just” a circuit and its firmware, but a full product. I added a 2.8” LCD, an INA226 high-resolution power meter, an LM73100 ideal diode, proper banana plugs, and I designed a nice 3D-printable enclosure for the whole thing. So, it is a complete programmable power supply.
The board is based on the CH32X035G8U6 microcontroller. I picked this microcontroller because its development board is easily available from AliExpress, and it supports everything I need. It has native USB and PD PHY, so it can deal with power delivery, and it has all the typical peripherals that one might need: ADC, SPI, UART, I2C, etc. It has a built-in 48 MHz oscillator, so the circuit does not require an external one. Its operating voltage range allows both 3.3 V and 5 V operation. It has 20 KB RAM and 62 KB flash, which is a great leap from the V003 series’ 2 KB RAM and 16 KB flash, but it even out-competes the V006 series’ 8 KB RAM (however, same flash). This specific chip (G8U6) comes in a QFN28 package. It is fairly small, but allows a lot of GPIOs. As usual, I developed the firmware in MounRiver Studio II.
The firmware features the following:
- Full-featured communication with USB-PD power adapters.
- Status reporting through USART
- Power status and power enable/disable via the LM73100 ideal diode
- Displaying status and telemetry on a 2.8” ILI9341 LCD
- Navigating via a rotary encoder
- Measuring output power (current, voltage, power, energy, etc.) using an INA226 chip
The circuit has a lot of principles merged, and initially, I found the project quite intimidating because there were some components or sub-circuits that I had no former experience with. But I trusted the good old RTFM* approach, and it seems that it worked! I spent weeks reading the datasheets of the different chips and understanding their reference designs, and then implementing them into my circuit.
The circuit features the following:
- CH32X035G8U6 microcontroller for USB-PD communication, display control, ideal diode control and power meter control
- MP28167 Buck-boost converter that accepts voltages between 3.3 V and 20 V and outputs a stable 5 V
- TLV76733DRVR low dropout regulator that feeds the whole board’s 3.3 V rail
- LM73100 ideal diode that switches output power ON/OFF and provides a certain level of protection
- INA226 power meter chip that allows a high-resolution output power (current and voltage) measurement
- …and other small circuits and components that allow the whole circuit to operate properly
*RTFM: Read The F***ing Manual.
100 W USB PD Programmable Power Supply
Project images are for reference only. Actual production is based on the manufacturing files on the project page.
Please review the designer's notes (e.g., PCB thickness) and select the appropriate options.
PCBWay is not responsible
for issues caused by unsuitable parameter selections.
For more important ordering information, please refer to
Read More
Raspberry Pi 5 7 Inch Touch Screen IPS 1024x600 HD LCD HDMI-compatible Display for RPI 4B 3B+ OPI 5 AIDA64 PC Secondary Screen(Without Speaker)
BUY NOW- Comments(0)
- Likes(0)
- 0 USER VOTES
- YOUR VOTE 0.00 0.00
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
More by Curious Scientist
-
USB PD Breadboard Power Supply
In this article, I show you my new creation. It is a USB PD decoy-based breadboard power supply. All...
-
ADS1256 - RP2040 Custom DAQ Front Panel with GPIO
This is just a simple PCB panel that belongs to my other project which is a high-performance DAQ.A r...
-
ADS1256 - RP2040 Custom DAQ Front Panel without GPIO
This is just a simple PCB panel that belongs to my other project which is a high-performance DAQ.A r...
-
10th Anniversary Badge
I designed this small badge for PCBWay's 10th anniversary.I tried to make a deeper meaning to the bo...
-
ADS1256 - Atmega32u4 Custom DAQ board
IntroductionIn this project, I show you two things. One is a new version (v1.2) of my custom DAQ bas...
-
Debounced rotary encoder module
In this project, I show you my approach to making a rotary encoder module.One can buy different rota...
-
Custom ADS1256 board with ATmega32U4
I created my own ADS1256 PCB after working with this AD converter for several years. I wanted to bui...
-
100 W USB PD Programmable Power Supply
In this article, I show you how I designed my own USB-PD (power delivery) programmable power supply ...
-
Raspberry Pi Zero 2W Bird Feeder Camera
In this article, I show you how I built my own Raspberry Pi Zero 2 W-based bird camera. The project ...
-
CH32V003J4M6 - Miniature microcontroller board
I wanted something small but relatively capable, and since I have some experience with the CH32V003J...
-
3-axis stepper motor controller with CNC pendant connectivity
In this article, I show you the updated version of my motorized microscope. In one of my older video...
-
Light meter for analog cameras [CH32V006F8P6 + TSL2591]
Light meter for analog cameras [CH32V006F8P6 + TSL2591]In this article, I show you how I built my ow...
-
5-way navigator PCB
In this article, I show you a genius way of handling multiple buttons with a microcontroller. I “dis...
-
CH32V006K8U6 Development Board
IntroductionSo, I have been working with the CH32 microcontrollers and chips for a while, and I even...
-
PCBWay 11-year Anniversary Badge
This visual design was created by https://www.instagram.com/guiye.perez.bongiovanni/ ; however, only...
-
TCD1304 - STM32F401CCU6 breakout board
The recent modifications made to the circuit board design have improved its functionality and space ...
-
TCD1304 miniature PCB rev2
The redesign of the PCB involved several key changes to improve its performance and decrease its siz...
-
2-channel breadboard voltmeter
The project originally stems from my CH32 tutorial series. I started working with this chip not so l...
-
Programmable Mist Maker - XIAO / QT PY Extension
1061 2 1 -
RadioHAT - Raspberry Pi radio development platform
860 0 2 -
QWIIC-VL53L4CD Time-of-Flight Distance Sensor Module
1085 0 1 -
-
-
-
ARPS-2 – Arduino-Compatible Robot Project Shield for Arduino UNO
3322 0 6 -
-
A Compact Charging Breakout Board For Waveshare ESP32-C3
3930 3 8 -
AI-driven LoRa & LLM-enabled Kiosk & Food Delivery System
4315 2 2







