Shared publicly  - 
 
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 6.4.1.2.3].)

https://en.wikipedia.org/wiki/Zen_of_Python 
"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 4.6.2.4] 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 6.4.1.2.3], 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.)

#USBC  
23
1
Francisco Vigil's profile photoKurleigh Martin's profile photoDavid Willmore's profile photoNathan K.'s profile photo
9 comments
 
This doesn't give me high hopes for any better/smaller PD battery packs coming out anytime soon... :P Nice review tho!
 
+Kurleigh Martin "Not recommended" doesn't mean "don't use". It just means I don't think it is well-engineered or appropriate for the task at hand.

(Note Apple's 29W adapter is a -1 as well, since it won't charge a Nexus 6P faster than 1.5a. The charger itself is fine, just has issues that make it not work well.)
 
What do you mean by "laptops may snap to the wrong/unprefered voltage levels (like 15v) as result."? What is unprefered about this? It is the same wattage at the 20v setting and laptop batteries are rarely more than three cells in series. Unless they put the cells in this battery pack in 6s, then this will have to be a buck/boost supply. That means the less it has to boost the voltage, the more efficient it will run. That seems to make 15v preferred.
 
+David Willmore​ 15v*2.1a=31.5w. 12v*2.4a=28.8w. 20v*1.5a=30w. Notice they don't all equal 30w like they should. As a result, some devices will snap to the higher wattage, 15v, instead of the lowest voltage, 12v. Chromebooks prefer "lowest voltage for same wattage" since it is more conversion efficient.
 
+Nathan K. Okay, I gotcha.  I was hoping you weren't implying that the 20V setting was more optimal.  There might be good electrical reasons for the differing Wattage values.  The converter in the battery may have thermal or current issues that are different at the various output voltages.  So, it might be subtly communicating what it prefers.

I would assume the charged device would have a logic to say "Well, I'm more efficient at 12V than at 15V, so that'll make up for the increased Wattage available at 15V, so...."  If not, well, then, looks like a firmware issue.
 
+David Willmore​​​​​​ That type of logic does exist. However it is ABSOLUTELY dependent on the power supply being honest with its ratings.

PDOs are actuate down to 50mV, 10mA. Manufacturers must be too. If you're familiar with the Mass Effect game: "Once a product is released, it can never be patched. If you pull the trigger on this, it keeps going and will ruin someone's day, somewhere, and sometime. That's why we follow the standards written as-is. That's why we do not 'eyeball it'."

https://youtu.be/hLpgxry542M

See the study I did on the Pixel (Sailfish) charging and how it does not use the 9v level (18w) at all. It only uses 5v level (15w) unless forced to use 9v with a charge-through hub or something.
 
+David Willmore If the pack wanted to "subtly communicate" what level it prefers there are other ways to go about it. The Sink has preference which voltage it wants.
Add a comment...