54th #USB #TypeC analysis: +RAVPower​​​ Super-C Series 26800mAh Portable Charger [Model RP-PB058].
tl;dr: Flawed, noncompliant -- but marginally functional. This USB-PD battery pack is difficult to analyze since it has so many hacks and buggy workarounds. USB-C's rules are "Pythonesque"... this battery pack is not.

(Correction 12/20: I corrected the note about 5V/0mA PDO. That is another way to advertise a "featureless" port per the spec [Section].)

"Special cases aren't special enough to break the rules."
"There should be one—and preferably only one—obvious way to do it."
"If the implementation is hard to explain, it's a bad idea."
(<- Yes, I'm aware of the irony. But please also see:)
"Complex is better than complicated."

This battery is on loan from +Benson Leung​ . I plan to return it now that this evaluation is complete.

This is again a step outside my normal comfort zone, but this is one of the only USB-PD capable battery packs out there so I wanted to write it up. However, RavPower made a number of mistakes causing it to be "plain weird".

This thing is as complicated (if not moreso) than the insides of a Chromebook laptop. Since it's really hard to itemize these issues, this post may get a bit long-winded. If you want the short version, the photo album is presented in logical order: (issue)->(debugging).


(1) It uses DRP toggling on the USB-C port to be a Source or a Sink. Please see the oscilloscope images. There are apparently four "sub modes" [pictured in order]:

[A] battery in standby (it never turns off, it's always cycling DRP!)
[B] battery in probing mode (layers some weird PD traffic on the DRP signal)
[C] battery connected to something (this is basic CC resistor signal + USB-PD traffic)
[D] battery connected to something and PD traffic timed out (so basic CC resistor signal only).

(2) It signals 3A capacity with "dumb" resistor signaling, but ONLY the 5v/3a PDO with USB-PD "smart" signaling. It suffers from "Split PDO" like a number of other hackey-products that try to support Apple devices.

This may be because the battery pack needs a little time to "ramp up" to the higher voltages, but also means some devices that require the higher voltages off the bat will take one look and say "nope, doesn't have 20v, I'm out".

This may be OK, as there's some USB-PD requirement of taking 5V anyway and signaling "Capability Mismatch" -- but that is highly dependent on the laptop firmware involved. Some laptops aren't tolerant of readvertisements.

(5) RavPower royally messed up the USB-PD bits. They claim this is a "Communication capable device". In other words, RavPower is claiming this is a laptop, or will appear as a USB device when plugged in! That's wrong on so many levels.

As a side effect, this causes serious issues with some laptops as Benson encountered. I do not own a Chromebook, so I merely have to cite his findings. As reference: if you plug two Chromebooks into each other, they will refuse to charge (since it would be pointless and waste battery). They will only charge if forced to do so via the Power menu.

Unfortunately, this pack doesn't have said menu. So you need to play some games jiggling the power button to get it to actually charge your Chromebook. All because the battery pack says "I'm a laptop".

There's some commentary back and forth about the applicability of the "Externally powered" bit, but I will politely dodge that conversation since I do not have the equipment necessary to test. (i.e. a USB-C monitor, dock, or USB-C laptops.)

(6) The firmware has the "inappropriate incrementing of the Header message ID" noted in so many other glitchy chipsets. It should only go up with a GoodCRC reply.

(7) The "Split PDO" advertises even more levels than claimed on the box. It has 5v/3a 9v/3a (12v/2.4a) 15v/2.1a 20v/1.5a. This means a Pixel C tablet will fast charge.... if it gets past the SplitPDO. * (Citation needed)

Please note some of these levels break the PD2.0 Power Rules. Laptops may snap to the wrong/unpreferred voltage levels (like 15v) as result. "Close, but no cigar."

(8) It actually has "respectable" overload protection. Hardware 3a limit, and a "customizeable" software limit. Both are set at good thresholds.

The software limit is used at higher voltages (12/15/20) that need to trip at less than 3A -- but it can be a bit "buggy". It snaps on and off quickly under dynamic loads. (They could have smoothed it better.) Consult the overload graphs for this in pictures, look at the spaghetti.

(9) It has some really shonky timeout behavior.

If the load draws less than 100mA, the charger will suddenly (out of the blue) forcibly change the voltage to a 5v/50mA PDO only. However, it keeps the CC line signal at a 3A (1.6v) advertisement, meaning it can be overdrawn . (Correction: per [Section] of the USB-C spec, this may be OK, if confusing.)

First, the idea of a "timeout" is perfectly OK. However the proper way to "shut off" a port is to use a zero-amp 5v PDO [Section], not a 50mA one -- or is to remove the pullup on the CC line and isolate it/high impedance.

This raises some interesting questions about how a USB-PD suppy should behave when less than 500mA is remaining in reserve. I'm still investigating.

In order to get the battery working again once it does this, I found I had to remove and replug the cable. Pressing the Power button did not "turn it on" again. So this feature is VERY half-baked.

(10) It lacks IR drop compensation. Instead at higher levels (12v, 15v, 20v) it starts voltage out above the target -- so when loaded it "ends up" at the right place.

Unfortunately, the lower level voltages (5v, 9v) it simply sags below the target. This is perfectly OK and "compliant" (4.75v@3a minimum per spec), but does mean some devices like the Pixel will have a hard time charging from it, if at all.

(11) When connected to its own included (defective) RP-PC018 "30w" USB-PD charger, it charges at a 20v PDO. Please consult the traffic dump.

(I did not investigate the charge/discharge behavior thoroughly, so that's the only data point here.)


All in all, this battery probably will work OK. It does all the voltage levels it claims to, and doesn't do anything "device destroyingly" bad.

It's just full of holes. (And it comes with a wall wart which I'd recommend you pitch in the eWaste bin immediately. [RP-PC018])

Therefore I cannot recommend this product until RavPower fixes the engineering flaws. "Would advise against", as opposed to "Bad". (The "Communications Capable" issue means it likely belongs there instead, but I am being lenient considering the other efforts taken, like the software overload algorithm.)

[Plus] Analyses RavPower RP-PB058
27 Photos - View album
Shared publiclyView activity