Raspberry Pi and USB-C: Broken(ish)

A few years ago, when USB-C was coming into its own, there was a lot of confusion over what USB-C could and couldn’t do.

I know I’ve written quite a bit about USB-C over the years.

While some of that has died down, it’s not been completely erased. And while it’s fantastic that one of the cheapest computers in the world has finally moved into the USB-C future, it looks like that transition is not going completely smooth.

According to a post by Tyler Ward, the RaspberryPi 4 USB-C is designed incorrectly. Instead of one resistor on each of the “CC” pins of the USB-C port, the Pi 4 circuit design uses one resistor shared across both pins.

This design breaks the compatibility with some charging cables. The cables that don’t work are more expensive “e-marked” cables that come with expensive, high-powered USB-C charged devices like laptops. E-marked cables feature chips inside that let the cable negotiate with the charger and host device for things like power delivery and data transfer rates.

The incorrect wiring of the RaspberryPi 4 will cause an e-marked cable to think the Pi is an “audio accessory device” and the charger will provide no power.

If you have a Raspberry Pi 4 and your charger/cable are not providing power, there should be no need to replace the charger. The official RaspberryPi charger ($8) has a cable that should work, and both older USB-A-to-C cables or micro-B-to-C adapters should also work, provided that they provide enough power.