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.

(Closed) BetaTest Version - Lectronz

BetaTest Code -  GitHub

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.

Process update

June 19, 2024

  • New layout arrived. Component test completed.
  • New firmware is underdevelopment
  • Presenting at CrowdSupply Teardown 2024, Portland OR - June 23rd (Sunday).

June 13, 2024

  • New layout update (check project note)
  • New firmware is underdevelopment that will add some menu and finer control of the unit

May 25, 2024

  • BetaTester version sold out. Asking for feedbacks.


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:

  • New layout has arrived

    CentyLab06/19/2024 at 16:14 0 comments

    A refined version of the PCB has arrived. This version will support 5A, seem cool to touch under our recent 5A load test. Firmware is under development for this newer board to provide profile selection and better control response via encoder. Other component like case and lid are arriving a bit later in the month. The product will be online for purchase on June 30th.

    We will be presenting at CrowdSupply 2024 - Portland, OR on June 23rd, 2024! If you are around, come and check out the project in person. We will also have other products on demo like PPSTrigger and AndroidAuto Fast Charge Injector.

    Unlocking more ability from your USB-C Charger

  • Working on feedback

    CentyLab06/13/2024 at 15:23 0 comments

    A big thanks to our beta user for your feedback. We have incorporate many of the suggestion into the newer layout and design. Here is some sneak peak on our recent layout update:

    • Standard 19.05 mm spacing for banana clip
    • Optional footprint under XT-60 for standard 5.5x2.1mm DC jack
    • Input capacitance meet USB-PD sink standard
    • Dimmer Status LED
    • Support 5A full USB-C PD current

    Beside hardware, we have a long task list for the next firmware version that will add extra menu to provide protocol selection.

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

Enjoy this project?



Drei Eck wrote 05/25/2024 at 08:59 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

CentyLab wrote 05/29/2024 at 15:40 point

Hi Dreil. We are currently out of the BetaUser unit but we are working with feedback to push out the new design. Due to some shipping waste regulations, EU shipment will be supported right after US shipment.

  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

CentyLab wrote 06/13/2024 at 15:33 point

Drei, we have added an footprint for the 5.5x2.1 jack in the newer version. So you got to select between XT60 or 5.5x2.1 port.

  Are you sure? yes | no

Drei Eck wrote 06/13/2024 at 22:16 point


  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

Gangwa Labs 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