Raspberry Pi admits to faulty USB-C design on the Pi 4
The Raspberry Pi 4 was announced two weeks ago as a major new upgrade to the line of cheap single-board hobbyist computers. The Pi 4 featured a faster CPU, options for up to 4GB of RAM, and a new, modern USB-C port for power delivery. The Pi 4 was the Raspberry Pi Foundation's first ever USB-C device, and, well, they screwed it up.
As detailed by Tyler Ward, the Raspberry Pi 4 has a non-compliant USB-C charging port and doesn't work with as many chargers as it should. Thanks to the open nature of Raspberry Pi (even the schematics are online!), Ward was able to discover that Raspberry Pi just didn't design its USB-C port correctly. Two "CC" pins on a USB-C port are supposed to each get their own 5.1K ohms resistor, but Raspberry Pi came up with its own circuit design that allows them to share a single resistor. This is not a compliant design and breaks compatibility with some of the more powerful USB-C chargers out there.
[...] The Pi 4 is not the first high-profile device to get the USB-C spec wrong. The Nintendo Switch also has a non-compliant USB-C port and has issues with certain USB-C cables as a result.
After reports started popping up on the Internet, Raspberry Pi cofounder Eben Upton admitted to TechRepublic that "A smart charger with an e-marked cable will incorrectly identify the Raspberry Pi 4 as an audio adapter accessory and refuse to provide power." Upton went on to say, "I expect this will be fixed in a future board revision, but for now users will need to apply one of the suggested workarounds. It's surprising this didn't show up in our (quite extensive) field testing program."
Probably not a dealbreaker (the cables that do work are cheaper), but could be annoying.
Previously: Raspberry Pi 4 Model B Launched
(Score: 3, Interesting) by DannyB on Wednesday July 10 2019, @06:54PM (1 child)
I don't now the precise details of USB-C charging. What I think happens is that there is a maximum amount of current, but voltage is increased up to about 18 V after negotiation with the device being charged.
Doing some googling . . . two sources said: "up to 100 watts"
One source said: With up to 100 watts, or 3 amps of power, USB-C cables can power almost anything.
100 watts at 3 amps would mean about 33.333 volts.
My Pixelbook charger is 45 watts. My third party Amazon charger (spare for pixelbook) is also 45 watts. My Pixel 3 XL phone charger is 15 watts. I have used:
* third party 45 W charger on Pixelbook
* pixelbook original 45 W charger on both Pixelbook
* pixelbook original 45 W charger on Pixel 3 XL Phone -- but it only charges at the phone's fast charge rate -- of 15 watts.
* Pixel 3 XL Phone charger on Pixelbook -- the pixelbook alerts that it is charging slowly.
In addition:
* I have used a USB-C to USB-C cable to connect my phone and pixelbook together.
Doing this, from both the phone and pixelbook you can select which device will charge another device, and which device will get charged. Yes, the phone can charge the pixelbook from the phone's battery -- but the pixelbook also gives an alert that it is charging slowly
Now what about a Raspberry Pi?
If they are cheap enough to use one resistor where they were supposed to use two, I suspect this USB-C port may not implement the charging negotiation spec at all. (Speculation on my part) Therefore, it may be that you must used a 3A 5V USB-C charger with the Pi. I suspect the USB-C port on the PI is voltage regulated, but would it like 33.333 volts?
The lower I set my standards the more accomplishments I have.
(Score: 3, Interesting) by RS3 on Thursday July 11 2019, @04:37AM
Awesome, thanks. I need to study USB-C more. ... Okay:
- and -
... which is probably what you referred to, and can be up to 20 V @ 5 A (ouch). Why do I envision some magic-smoke-releasing software bugs? "Hi, I'm Mr. Bill. Yes, please give me 20 V @ 5 A, I can take it! Noooooooo Mr. Billlllllllll!!!!!!" Sorry, I digress.
The Pi schematic shows they just dead-shorted the CC1 and CC2 pins, which then goes into 2 resistors which feeds "PD_SENSE" which goes into ...
holy moly- there's a big complex switching regulator on the Pi, which provides 3.3V, 1.8V, 1.1V, Vcore, and a 2nd tiny switcher which provides 1.08V, 1.05V, and 1.0V.
Okay, that's pretty cool, I'm impressed. I'm betting it's very RFI quiet. Very short copper with ground plane everywhere- should be negligible RFI.