PocketPD - USB-C Portable Bench Power Supply

Leveraging the Programmable Power Supply (PPS) of USB PD 3.0 and 3.1 to make an ultra-compact bench power supply

Similar projects worth following
The No Inductor power supply. This project utilizes PicoPD's previous work to prototype a bench power supply. Beside portable soldering iron, this should be one of the best portable tools for college electrical engineering students. This bench power supply is powered by USB-C PD 3.0/3.1 using their PPS capability. There is no buck or boost converter on the board. We will explore how to implement constant voltage (CV) and constant current (CC), two modes that are featured in all of the standard bench power supplies.

Our current goal for this project is to provide the software as open-source after development and functional testing. Further development for other applications could reuse part of the code. Example applications are custom LiFePO4 or LiPo chargers, reflow ovens, or hotplates.

As the DIY community has grown, there are multiple ways to implement control features like adjusting parameters via Wifi, Bluetooth, or touch screen. We want to keep the design language simple, just physical knobs and buttons to control. This will give the system higher reliability when you need it to work.

The open-source software will feature:

  • OLED display
  • Rotary Encoder with button as input
  • Ability to turn on/off output switch
  • Read current and voltage from INA219

Here is where I am at:

  • [x] Rotary encoder implementation for voltage and current knob
  • [x] OLED display working. Showing welcome screen, PDOs, and voltage/current data
  • [x] Implement course and fine control for voltage knob
  • [x] Display mode switch from CC to CV and vice-versa
  • [x] Current limit mode
  • [x] Correctly display current reading (calibration)
  • [ ] Testing current limit mode with different PPS supplies.
  • [ ] Work with non-PPS power supply by tapping into PDOs

Preliminary hardware specification:

  • Input/Output voltage: 3.3V - 20.5V
  • Max output current: 3A or 5A depending on the USB-C cable and source
  • Input protection: ESD protection
  • Output protection: ESD protection, flyback diode protection, over-current protection, short circuit protection (TBD)

Design iteration:

Testing unit:

  • Current mode is working

    CentyLab03/02/2024 at 00:22 0 comments

    It requires some modification to the AP33772 Library but it seems like the current limit is working on our device.

    Here you can see the current limit (small font) is at 1.3A and we are reading 1.32A. The voltage will change when you are in current limit mode. During this mode, the voltage encoder knob will not react if you increase the voltage as the voltage is capped by the current.

  • Debug current/voltage measurement

    CentyLab02/27/2024 at 04:58 0 comments

    The prototype version of PocketPD utilizes a sense resistor of 10mOhm to measure the current reading of the load. Here is the configuration for V.Prototype:

    The power goes directly from USB-C VBUS, and passes through the sense resistor, thru the PMOS output switch to the banana jack terminals.

    Issue: VBUS reading is higher than VOUT, more than expected. There must be more voltage drop somewhere.

    Current (A)VBUS voltage (V)Vdrop across PMOS (V)Calculated Ron

    It was a bit surprising that Ron is consistent across multiple input voltages as Vgs and Ron are dependent on each other. Further investigation is needed

    Conclusion: The resistance of PMOS (68mOhm) is higher than expected (18mOhm) which causes the discrepancy between the OLED measured and the Banana jack output. 


    • Use the known resistance drop across the PMOS. Calculate the expected voltage drop with current. Display the adjusted VBUS value
    • Move the current sensing to just before the banana jack. This will take care if there need to be component changes on PMOS due to part shortage or part upgrade. 

    But !... The current reading is now calibrated. We are getting the correct amperage report through the Rsense resistor!

View all 2 project logs

Enjoy this project?



Martin Axelsen wrote 04/02/2024 at 21:32 point

I have long wanted to make something like this. I have also had an eye on MDP-P905 and DP100 for their compact form factor.
If you would make the next version of PocketPD in a similar form factor and with digipots instead of analog pots then I would really not hesitate to yell Shut up and take my money!
Until then I'd be happy to assist with anything.

  Are you sure? yes | no

CentyLab wrote 04/03/2024 at 03:26 point

Hi Martin, this current version doesn't use analog pot. It is already an encoder which technically is already digital.

I have an updated layout closer to the MDP-P905. Per area, this unit should be even smaller than the MDP-P905. Let me know what you think!

  Are you sure? yes | no

Martin Axelsen wrote 04/03/2024 at 10:54 point

In that case I think exactly what I yelled before! :-)

I have a friend or two who will probably utter the same. Where can we sign up to buy? 

  Are you sure? yes | no

CentyLab wrote 04/04/2024 at 05:05 point

Hi Martin,

I will start the first small prototype batch in the US around the end of this month (April). Once confident with the prototype, we will open pre-orders on Lectronz for beta users. If the prototype unit works well, Elecrow will be our worldwide shipper.

We are working on an output filter for the circuit. We have been looking into LC and pi filters but have not yet been able to effectively filter noise at 22-24KHz from the USB-C brick. This noise starts to show up when pulling higher than 3A. It would be awesome if someone could help us with this filter design.

  Are you sure? yes | no

Gringl wrote 04/02/2024 at 01:33 point

I love the idea of this project. are you going to release a BOM or more docs?

  Are you sure? yes | no

CentyLab wrote 04/02/2024 at 15:50 point

Hi Gringl, we are on the last stage of hardware prototyping. For releasing, the plan is to first release the software, and BOM. We will release the hardware file later to ensure the project doesnt get cheap cloned immediately.

  Are you sure? yes | no

Similar Projects

Does this project spark your interest?

Become a member to follow this project and never miss any updates