PPSTrigger - USB PD Trigger SuperCharged with PPS!

A much simplified USB-C PD and PPS trigger board. Allow users to select arbitrary voltage from PPS-capable power brick via potentiometer

Similar projects worth following
Starting from
CentyLab has 34 orders / 1reviews
Ships from United States of America
Do you need 12V at 5A or 5V at 5A? With the right PD trigger board and the right wall power, this is easily achievable!

Purchase worldwide Elecrow

Purchase within the US/Canada Lectronz


Tested USB PD3.0 and USB PD+PPS from 3.3V to 20V @ 5A continuous. Actual voltage and current output depend on your charger. This include 12V @ 5A

Please check the recommended charger if you don't already have one.

V1.0: Without mounting screw. As of March 2023, all Lectronz stock has been upgraded to better ESD protection.

V1.1: With mounting slot and screws. As of March 2023, all Lectronz stock has been upgraded to better ESD protection.

V2.0: Under testing. Support current limit. Link to project here.

How to use the board

  • Default (no jumper): Always able to adjust voltage through potentiometer. Full range of your PPS charger.
  • 5V jumper: Request constant 5V
  • 9V jumper: Request constant 9V
  • 12V jumper: Request constant 12V
  • 15V jumper: Request constant 15V
  • 20V jumper: Request constant 20V
  • Pot jumper: Read the potentiometer at start-up and request this voltage. Voltage is not changeable during normal operation

Theory of operation

The device utilizes the AP33772_CPP library. Using the awesome USB-PD standard, the PPS mode can provide equal or more current than the fixed PDO within its voltage range (3.3V-11V or 3.3V-21V) except for 20V for some chargers. The device will always try to negotiate using the PPS profile first. If the charger is missing PPS capability or the PPS voltage range is under the selected voltage, a fixed PDO will be used.

There is no current limit, you can use up to the rated current on the charger. Higher than spec current draw will cause the charger to reset and re-connect after a couple of seconds. This is a standard safety in USB-PD charger.

PPS Example

Let us use a UGREEN 140W charger with the given power profile:

  • 5V@3A, 9V@3A, 12V@3A, 15V@3A, 20V@5A
  • 3.3V - 21V@5A

Since this board has PPS, when turning the potentiometer, you will get the full range starting from 3.3V to 21V. Keep in mind that the power brick tends to give a bit more voltage when there is no load. This is to expect some voltage drop across the cable when the load is attached.

If fixed voltage is selected, for example, fixed 9V. The device will request 9V in PPS mode.

Current limited is built-in to the USB PD 3.1 devices. If the cable is non-e-mark (3A rated), your PPS voltage range is limited based on the load so that the max current draw is only 3A max, preventing the circuit from being over current. Similar to an e-mark cable (5A rated), the current will cap out at 5A and the voltage will stop increasing even if the user tries to crank up the voltage. However, if the load is attached later and the device detects a high spike in voltage, it will go into over-current protection mode, stop the current flow, and restart. These are observed behavior from some UGREEN chargers. PPSTirgger does not directly contribute to charger behavior.

Charger/Cable configuration

Recommended/Tested USB-C Charger

Many Anker charger/power banks do not include PPS capability in their marketing document. However, some devices still support PPS and thus require some testing. UGREEN markets PPS directly in their datasheet.


Testing result

Stress test 5V @ 5A for 4 hours. The board temperature settles below 55C, well within spec for all ICs.

Our first 5 stars review


3D Step file for V1.1

step - 14.72 MB - 05/25/2024 at 08:04


Fab Drawing.pdf

Dimension file for V1.1

Adobe Portable Document Format - 4.83 kB - 03/09/2024 at 04:11



3D Step file for V1.0

step - 14.69 MB - 12/06/2023 at 03:20


  • Adding mounting holes V1.1

    CentyLab02/13/2024 at 05:00 0 comments

    The newer version of the PPSTrigger board now features half-cut mounting holes. This will fit your standard M2 screw or bolt. No more gluing your circuit to your 3D-printed enclosure.

    The new board also features a new LDO that has better ESD protection than the previous selection.

  • Video: Product introduction and how-to

    CentyLab01/05/2024 at 23:55 0 comments

    Thank you for all of the support we have in Hackaday and also on Reddit. We are working on getting the unit back in stock as well as creating a video that would cover:

    • Product introduction
    • Explain the voltage selection decision tree of the device, PPS vs fixed voltage
    • Explain e-mark cable 5A vs non e-mark 3A and how it impacts power output
    • Example of the over-current draw on the circuit
    • Example of using non-PD power brick
    • How to mount the board on your 3D design

    Please comment below if there is anything you would like us to cover.

View all 2 project logs

Enjoy this project?



Badbabyboyo wrote 01/18/2024 at 17:00 point

When you say "Voltage is not changeable during normal operation" do you mean you cannot adjust the PPS voltage when there is a load? Also, this board is amazing, thank you for making it!

  Are you sure? yes | no

CentyLab wrote 01/18/2024 at 17:07 point

Hi, that is correct that you cannot adjust PPS voltage after bootup. The board does not know if there is a load or not. One example is, the board boot-up, see that you want 10V from the potentiometer, request 10V, and then turn on the output. Now, if you have a load at the end, there will be some voltage drop through the cable. Then you might only get 9V out of the whole setup.

If your load doesn't change, recommend in default mode, adjust to the desired voltage, plug in your load, and then compensate by asking for a little more voltage. Then solder the POT jumper to fix the voltage. 

  Are you sure? yes | no

Badbabyboyo wrote 01/19/2024 at 21:26 point

That all makes sense. In the video it looks like you adjusted the voltage request on the fly, was that something you changed in the software just for the demo? If so, is that potentially bad for the hardware or do you just have it set not to change after bootup to avoid changing it accidentally.

  Are you sure? yes | no

CentyLab wrote 01/19/2024 at 22:00 point

You are correct on the 2nd point, it is just to prevent changing after booting up. This is for long-term implementation for constant power, people who come by can't just change the knob and kill your device. By default, you can change the voltage with or without the load. It is not bad for the hardware, it is designed to do that.

  Are you sure? yes | no

jacobsson wrote 12/06/2023 at 06:49 point

Amazing! This solves so many inconveniences ❤️

  Are you sure? yes | no

CentyLab wrote 12/28/2023 at 11:03 point

I just got some on Tindie and someone put in an order immediately.

  Are you sure? yes | no

jacobsson wrote 12/28/2023 at 11:11 point

Just put down an order of 3! Could you make one of them with screw terminals?

  Are you sure? yes | no

CentyLab wrote 12/28/2023 at 18:02 point

Totally can. So 2 without and 1 with screw terminal. You got it!

  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