Fix your Raspberry Pi 4B USB-C cable issue at home

Raspberry Pi 4B has one well known issue — it doesn’t power up when plugged using some USB-C cables. It may work with old USB-C to USB 2.0 cable, but, for instance, with original MacBook charger it doesn’t. In general, it won’t work with electrically marked (e-marked) cables, but works well with ‘dumb’ cables.

This issue has recently been fixed in revision 1.2 of Raspberry board, however you can still come across older hardware versions. To check your board revision, see this page.

It turns out, that RPi board does not follow the USB-C electrical specification. In brief, USB-C has two CC (Configuration Channel) lines — CC1 and CC2, which are used to determine what kind of device the cable is connected to, based on resistance given at their ends. Regular cables have them unconnected, but e-marked ones monitor resistance at their ends and can cut-out power line. To get powered properly, the device should have both of them connected to ground through independent 5.1kΩ resistors. However, Raspberry Pi 4 has them shorted together and grounded through only one resistor. For USB-C cable Raspberry is detected as an audio adapter accessory. An in-depth detailed description can be found here.

The fix

Fortunately, a workaround is possible, however it requires some precision and basic soldering skills.

If you are not careful enough and do something wrong, you may damage your Raspberry Pi! Read three times before proceeding and cease if something is not clear to you. Be warned.

You will need a few things:

We are going to lift CC1 pin from USB-C connector on Raspberry board and connect it through resistor to ground. When looking from rear side of the connector, it is 4th pin from the right, marked in the datasheet as A5.

Unfortunately, I didn’t take photos before soldering the resistor

Now, if you’ve done everything correctly, you should be able to power your Raspberry Pi 4B using electrically marked USB-C cables.

Thanks to Raspipat, who shared his fix in this post.

Enthusiast of electronics and all kinds of software development — from web apps to embedded systems. Expo open-source contributor at Software Mansion.