USB-C Power Delivery chargers can supply far more than 5V, but only if something on the other end of the cable asks correctly. Phones and laptops handle that negotiation in a dedicated PD controller chip. We wanted the same capability on a standalone board small enough to live in a parts drawer, so any USB-C charger becomes an ad hoc bench supply for 9V, 12V, 15V, or 20V.
The negotiation is the whole project
The hardware is almost trivially simple: a dedicated PD sink controller IC, a USB-C receptacle, and a bank of DIP switches to select the requested voltage. Nearly all of the actual engineering effort went into understanding the PD negotiation sequence itself: the source and sink exchange a series of structured messages over the CC line before any voltage above 5V is delivered, and getting that sequence wrong means the charger simply refuses to raise the voltage at all, with no error message beyond silence.
The controller IC handles that protocol in hardware, which is the entire reason to use one instead of bit-banging the CC line from a microcontroller. This is a place where reinventing the wheel would cost weeks for no benefit.
Where it earns its keep
It now lives permanently in the parts drawer next to the oscilloscope probes. Testing a 12V regulator design no longer requires walking to the bench supply. It requires a USB-C cable to whatever charger happens to be nearest, which on a cluttered desk is a bigger convenience than it sounds.