Ramblings of an aging IT geek
← Ramblings of an aging IT geek
hardware

poking at usb power delivery with a logic analyser

A short note on watching the USB-C power delivery negotiation happen in real time on a logic analyser, and what the handshake actually looks like.

A soldering iron and electronics on a workbench

I had a USB-C charger that flatly refused to give one particular device the 20V it wanted, and rather than buy another charger like a sensible person, I put a logic analyser on the CC line to find out why.

USB-C power delivery isn't the dumb voltage divider of the old days. The two ends actually talk. The source advertises a list of voltages it can offer, the sink picks one and asks for it, and the source either agrees and ramps up, or doesn't. It's a proper negotiation over the CC pin, BMC-encoded, and you can watch the whole conversation if you can decode it.

What I saw was the source advertising 5V, 9V and 15V as its Source Capabilities, and nothing higher. The device wanted a 20V profile that simply wasn't on the menu, so it fell back to 15V and ran slow. Not a fault. The charger was just never going to offer 20V, and both ends behaved correctly given that. Mystery solved, no new charger, and I got to watch a power negotiation happen one message at a time on a screen, which is a genuinely lovely thing to see once you've only ever thought of a charger as a brick that makes volts.