TRK-016 · ELECTRONICS / USB

5.1 kΩ: the resistor that decides whether your gadget charges

DATE2026-07-03
READ~5 min
TAGSelectronics, usb

Inside every USB-C connection there is a tiny job interview. Before a single milliamp flows, the charger wants to know: what are you? And the entire answer — the whole handshake that stands between your device and 15 watts — is a resistor. Not a chip, not a protocol, not firmware. A passive component that costs less than the cardboard it ships in.

Get it right and everything charges everywhere. Get it wrong and, as one very famous single-board computer discovered in 2019, your product gets mistaken for a pair of headphones.

The interview questions

USB-C has two pins for this, CC1 and CC2 ("configuration channel"). The rules of the interview:

  • The charger (source) puts a pull-up resistor, Rp, on each CC pin. Its value advertises how much current is on offer: 56 kΩ for legacy-USB levels, 22 kΩ for 1.5 A, 10 kΩ for 3 A.
  • The device (sink) puts a pull-down of 5.1 kΩ, called Rd, on each CC pin — one per pin, and the spec means it.
  • Plug them together and exactly one CC wire runs through the cable. The charger sees its pull-up loaded by 5.1 kΩ on that pin only, concludes "a device, plugged in this way up", and turns on the power. The voltage on the CC line even tells the device how much current it's allowed to draw. Orientation detection and power negotiation, solved by a voltage divider.

There's one more character: full-featured cables — the "e-marked" ones that come with laptops — contain an identity chip, powered through whichever CC pin didn't get used for the handshake. The cable marks that pin with its own resistor, Ra, around 1 kΩ. So a charger probing the two pins can see three things: Rd (a device), Ra (a cable's ID chip), or nothing.

And here the spec has a little easter egg: a plug presenting Ra on both pins means "audio accessory" — a passive USB-C-to-headphone-jack dongle. Remember that. It's about to matter.

The Raspberry Pi 4 hires one resistor to do two jobs

The Raspberry Pi 4 launched in June 2019 with USB-C power, and within days, Tyler Ward discovered that it refused to charge from exactly the chargers you'd expect to be best: laptop-class supplies with e-marked cables.

The schematic told the story. Instead of giving CC1 and CC2 their own 5.1 kΩ pull-down each, the Pi 4 tied both pins together into one shared resistor. Electrically identical with a dumb cable, and it saves half a cent. But plug in an e-marked cable and the cable's Ra lands on the second CC pin — which is now wired directly to the first. The charger probes and finds low-ish resistance on both pins, checks its table, and reaches the only conclusion the spec allows: Ra + Rathis is an audio adapter.

And chargers do not ship electrons to headphones. So it did nothing. No error, no negotiation, no power — the charger simply declined the interview. Hackaday's deep-dive walks the whole failure chain, which has the grim comedy of all good hardware bugs: every component behaved exactly correctly, including the Pi, if you accept the Pi's claim that it was a headphone dongle.

The fix — board revision 1.2 — was the second resistor. The workaround in the meantime was gloriously backwards: use a cheaper cable. No e-marker chip, no Ra, no case of mistaken identity.

NOTE — The USB-C spec is a free download, and Figure "Sink Functional Model" shows two Rd resistors plainly. Eben Upton was upfront that they'd expected the shared-resistor trick to be fine. The spec's authors, one imagines, added that figure because they'd already guessed someone would try it.

The man who tested cables so you didn't have to

The Pi got off lightly — the failure mode was "nothing happens". The other direction is worse. In the early USB-C era, legacy USB-A-to-C cables were required to contain a 56 kΩ pull-up, telling the device "this is an old port, draw legacy current". Cheap cables shipped with 10 kΩ instead — advertising 3 A from ports never built to supply it.

A Google engineer named Benson Leung started methodically buying cables and reviewing them on Amazon, spec in hand — a genuine public service with a genuinely dry rating format. It ended abruptly in February 2016 when one especially creative cable (miswired outright, wrong resistor as garnish) destroyed his Chromebook Pixel and his USB analyzer in the act of being tested. The cable that killed the reviewer's laptop remains USB-C's best cautionary tale: the connector may be reversible, but the wiring inside is on the honor system.

The moral, at one resistor per lesson

Everything above — the Pi's headphone impression, the laptop-killing cable — comes down to single passive components, placed with either care or optimism:

ResistorWhereJob
Rp 56 k / 22 k / 10 kΩcharger, each CC pinadvertise current
Rd 5.1 kΩdevice, each CC pin, no sharingidentify as a device; detect orientation
Ra ~1 kΩe-marked cablepower the cable's ID chip

If you're designing anything USB-C powered: two pull-downs, one per CC pin, 5.1 kΩ. It is the cheapest compliance you will ever buy, and the difference between "charges from anything" and starring in a Hackaday post-mortem.

My calculator project runs on USB-C, obviously. Both resistors are present. I checked twice, once with a meter and once out of fear.