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.

Purchase the BetaTest Version - Lectronz

Demo Video - YouTube

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 the current sense amplifier

Here is where we are 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)
  • [x] Testing current limit mode with different PPS supplies.
  • [x] Work with non-PPS power supply by tapping into PDOs

Hardware specification:

  • Input/Output voltage: 3.3V - 20.5V
  • Max output current: 3A for BETAUSER
  • Input protection: ESD protection
  • Output protection: ESD protection, flyback diode protection, reverse current protection

Design iteration:

First prototype!!

Testing unit:

  • Functional prototype is here

    CentyLab04/19/2024 at 21:27 0 comments

    After a long wait from our PCB vendor, the boards are already here. This is the first batch to confirm our wiring, mechanical test, electrical and thermal performance.

    It is good news that the wiring is all good. The board boots up with some code modification from the previous design. We can work more on the mechanical design but overall it will FIT inside a case!

    The port layout works a bit better than we expected. The buttons' spring force and height are just right. The screen height is low enough not to shadow the button labels.

    The initial thermal test shows that the output switch selected is good for 3A continuous. We will also move the location of the status LED so that it can be used at night without being too bright.

    The next step for these 4 boards is to design a case for them. Let us know if you want to be our beta user and explore the application with USB PPS!

  • 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 3 project logs

Enjoy this project?



Drei Eck wrote 3 days ago point

You write in the descriptive text of this project

> Let us know if you want to be our beta user

I am interested; what do I need to do/ what do we arrange? (I am in Germany, European Union.)

  Are you sure? yes | no


[this comment has been deleted]

Drei Eck wrote 3 days ago point

@Eatingfloor, you commented here on a project that has nothing to do with your aim.

Please go to a forum appropriate for your topic.

I suggest that you delete your comment here because it does not belong here.


  Are you sure? yes | no

Drei Eck wrote 04/22/2024 at 17:55 point

When this is ready, I am willing to buy a kit (at least PCB with soldered small SMD parts).

I opt for (an option to add) barrel jack socket as an output socket.

  Are you sure? yes | no

CentyLab wrote 04/24/2024 at 00:37 point

Hi Drei, do you have a picture of the type of barrel you are talking about?

  Are you sure? yes | no

Drei Eck wrote 04/24/2024 at 09:51 point

I mean sockets for the widespread barrel plugs with 5.5 mm outer diameter/ 2.5 mm or 2.1 mm inner diameter, for [this kind of plugs](

Sockets are for example:






  Are you sure? yes | no

CentyLab wrote 04/24/2024 at 15:22 point

Oh yeah, this can be done. I was just confused as the ports suggested are usually power input. I can add an overlapping footprint to one of the ports. Probably the XT-60 port. I am hesitant to increase the port number since it will break the form factor.

  Are you sure? yes | no

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

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

Hi Gringl,

We have released the firmware that works on the BetaUser version: 

  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