Raspberry Pi fans were excited to hear that the new Raspberry Pi 4 comes with a modern USB-C charging port instead of the older microUSB port.
However, now that users are beginning to receive their new boards, complaints have been rolling in regarding the port malfunctioning or simply not powering their new Pis at all.
While the best solution is a redesign of the USB-C port, there are ways to get the RPi 4 to charge. Let's take a look at the problem and some possible solutions.
Why Won't the Pi 4 Charge?
Recently on his blog, Tyler Ward (aka scorpia) discovered the cause of this issue perplexing many new Raspberry Pi 4 owners. Apparently, Raspberry Pi designed their own USB-C circuit that strays from the standard design that should be followed. This means that the Pi is non-compliant and it simply will not work with some USB-C cables.
Why is the RPi 4 USB-C Design an Issue?
Why doesn't the Pi 4’s port work? According to Ward, “[T]he incorrect detection circuitry on the Pi end of the USB connection” causes the Pi to be detected as an audio adapter accessory by more advanced cables, such as those used to charge laptops.
As Ward explains, this is due to the fact that the Pi 4 uses a shared CC pull-down resistor on the USB Type-C connector rather than using one resistor for each CC line as is the standard shown in the Type C specifications sheet.
Google engineer Benson Leung writes that when CC lines in type-C ports share a resistor, “this configuration will cause compliant chargers [handling SuperSpeed data or 5A power] to provide 0V instead of 5V to the Pi.” What makes a type-C compliant charger more advanced than a non-compliant or less capable charger is an electronic marking chip.
Leung explains in a post breaking down the various types of USB-C cables that this chip stores essential information about the cable and its capabilities. Full-featured cables use this e-marker to detect what they are connected to (a wall adapter, laptop, or monitor) and perform their different functions. When these are ignored by shorting the two CC lines, however, the cable will not be able to detect the Pi and thus not power it.
Solutions for Charging the RPi 4
While a hardware revision is the best way to handle this, there are other options for makers with the current version of the Pi 4.
If the cable you planned on using to power your Pi 4 does not work, using a USB-C phone charger or an older charger with a type C adapter is suggested as they are less likely to use e-marker chips.
For Nintendo Switch owners, I’ve found that both the Switch charging cable and the Switch Pro Controller USB-C chargers work perfectly fine with the Pi 4. Of course, another way to avoid this problem is to purchase the official Pi 4 charger.