I recently received an external USB battery as a promotional gift (see image below). While I always thought of these as a superfluous gimmick, I realized that these devices could be quite useful as mobile power source for various projects. After all, dealing with lithium ion batteries in your own projects can be dangerous and you need additional circuitry to ensure charging and voltage conversion.
External USB batteries can be charged with a normal micro-b USB charger and are supposed to output stabilized 5V at above 1A. And they come fully integrated at a price point where it is difficult to get even the battery alone. See Aliexpress for example and many others. Since there is little reason to trust hardware at this price point, I decided to tear the device down to see whether all the necessary parts are there.
The device has a USB micro-b socket which is used as 5V input for charging, and a normal USB-A socket as 5V output. The output power can be turned off and on by a toggle button. There are LEDs to indicate active power out (blue) and charging (red) states.
The pictures above show the innards of the device. Most space is taken up by an ICR18650 LiIon battery, which are relatively common devices with 2600mAH. In addition, there is a tiny tiny PCB.
The rear side of the PCB is dominated by a 4.7µH inductor, which is part of the boost converter to convert the 3.7V of the battery to the 5V USB output.
The front side of the PCB is extremely tightly packed and contains a surprising number of integrated circuits and discrete semiconductors. I tried to identify all devices, as noted in the image above:
- DW03D – Battery management IC by Shenzhen Fuman Electronics Co. It seems to manage charging and also comes with a discharge protection and an integrated switch.
- B628 – 2A boost converter, which is also manufactured as MT6803 by Aerosemi or XRT1151 by Xysemi. The is used to convert the 3.7V battery voltage to 5V output voltage.
SS34 – 3A Schottky diode needed for the boost converter.
- A2SHB – 2A HM2302A N-Channel enhancement mode Power Mosfests by H&M Semi.
Possibly used for power routing?
- A1LA – iD9301 300mA LDO at 2.5V fixed voltage by iDESYN.
No idea what this one is used for. Maybe as power supply for the toggling circuit? This appears unneccessary, though.
- 17 – ? I could not identify this device, but it is possibly used for the toggling functionality of the tactile switch.
All in all it seems that the required parts are there and are rated properly for the application. This is quite convincing so far. One question that could not be answered by this is whether the circuit behaves correctly under all conditions, for example if the deep discharge protection does actually work. I also doubt that the circuit is optimized for quiescent current – so this is probably not the way to supply ultra-low-power sensor nodes.
It was surprising to me that all of these parts were sourced from China mainland. I had not heard of any of these manufacturers before. Some of these parts are incredibly cheap, which explains the low price point of the device. For example the B628 is sold for less than $0.10/pc, which is extremely low compared to other boost converters.
21 thoughts on “Tear down of a cheap external USB battery”
It does indeed seem to be functional, but beware of noise. I don’t see much filtering, especially not something suitable a 2A load. This is unfortunately a very common way to save on the design.
If my assumptions hold true, you can end up getting a lot of radio interference and quite an unstable power supply. I would probably throw a big capacitor on the output to stabilize it. Last time I used power supply designed like this one, I ended up making the 144MHz band completely unusable in its presence, and 433MHz was highly affected, making it difficult for me to unlock my car. Having a 150KHz switcher throw harmonics that make 433MHz unusable gives you an idea of how horribly noisy these things can be.
Just a heads up!
That’s a good point. The Step-Up converter works at 1.5MHz according to the data sheet, so in theory only a smaller bypass cap would be required. However, I somehow doubt these things are properly tested for EMI.
Why not ferrite beat and a small cap?
digikey i would trust since they are a very well respected dealer but ebay i would be a little leery about because of the rogue charger scare.
who knows what chip could hold rogue instructions to make it steal the data.
though an unknown usb battery could still be a low cost source of 18650 lithium cells.
though i would be careful there too shoddy construction could lead to fires
You are more likely to buy a fake chip and/or fake battery from eBay than a chip that would steal data in a charger (what’s the point of stealing data from a random person without having a way to transmit them anywhere?)
An eBay “special” is more likely to catch fire or explode (or not work at all) due to fake parts and poor construction than steal your data. Moreover, it is clearly visible that the USB data pins are not connected to anything.
No need to be overly paranoid and to trust every hoax and scare.
Li-Ion isn’t a good choice for powering low-power sensor nodes anyway, because of self discharge. I guess if you plug a solar charger into the B-connector and your sensor into the A-connector, you’ve got a turnkey “unlimited” power supply – though if yours actually turns off the output and latches it off when the battery discharges, your device won’t recover from full discharge even once the solar cell refills the battery…
 looks like comparator. I’ve seen configuration where it disables boost converter when battery voltage drops below certain value. This would make  a voltage reference.
I was testing output of this battery under load, and it’s very noisy. At 1A noise was around 50mV RMS in 10Mhz band with a lot of HF content.
I’d definitely recommend adding low ESR capacitor close to USB output.
That could be a possible explanation, although I still wonder where the toggling functionality is implemented.
 is likely to be the USB linear charge regulator, used to manage the constant current and constant voltage stages of charging. It will also drive the indicator LEDs to show ‘charging’ or ‘charged’ status.
 is used to prevent overcharge or overdischarge of the battery or excessive load current. It is not intended to control the charging process.
I’ve been tweaking and smashing bit things for a while now, and wonder why go to the trouble of using a 3,7V battery + voltage conversion . We need 5V, so why dont we use a >5V battery(or a pack of smaler ones) and vreg it down?
A charging IC and complementary circuitry for two li-ion/li-poly batteries in series is quite expensive in comparison to a single cell charging IC and circuit + 5volt switchmode boost converter.
Or summarised: Money!!
I’ve just finished the teardown and repair of an almost identical unit, and I’ve worked out the complete functionality of the unit (and reverse engineered the circuit diagram). Many thanks for your teardown, research and analysis – it helped me out throughout mine!
1: DW03D Lithium battery protection IC – integral FET to disconnect load in case of overdischarge 4.2v). Disconnects the ground lead.
Best datasheet I could find (chinese, but has the pinout):
2: B628 boost converter. Interestingly, this is always running – the on/off switch just disconnects the output to the LED and USB socket (via a PNP transistor).
3: Two N channel FETs configured as a flip flop (from two linked inverters). This is where the toggling function comes in – the switch creates negative feedback and toggles the state. Quite clever design – and very large resistors (such as 4M7) for a low quiescent current draw.
4: No idea why yours has a 2.5v reference. You seem to be missing the P channel transistor/FET for switching the output (if they work in the same way) – although the placement and labeling don’t really seem to point to that. Maybe worth checking to see if yours is switching the ground line of the socket with one of the N channel FETs instead – that be slightly simpler?
5: Actually a pretty decent, dedicated lithium battery charger IC – on my model, a LTC4054. Surprisinly the only brand name part (Linear) in the whole thing – a counterfeit? http://cds.linear.com/docs/en/datasheet/405442xf.pdf
I have a very similar circuit and I was thinking about upgrading the battery, currently it have a 1200mAh Li-Ion battery and I want to upgrade to 2100mAh, you think Ill have to change something in the circuit or it can calibrate itself to the new capacity? Usually it would charge only the original capacity even if the battery can hold more, right?
These aren’t very sophisticated. Swapping in another cell should work fine.
Have you posted your circuit diagram anywhere from the reverse engineer you did? Was just about to start this when I found this page.
I have a similar device, same enclosure, similar components on the PCB, but mine is intended for use with a user-installed cell.
Thanks for figuring out the charger IC. Mine appears to have the same one..
Don’t really know enough about electronics. I have a similar gift powerbank device like yours, and also an old PC battery pack with 6 Li cells. Could I connect all the 6 cells from the old battery in parallel and connect to the circuit board of this powerbank? Woud it work or am I trying to make a bomb 😉
The charger is adjusted to charge either 0.8 or 1 Amp max. current, if you connect more cells in parallel it will only take more time for the proces to reach the 4.2v endpoint. So it will work, but I should take 2 cells, for double the chargetime, (about 6 hours or more).
Don’t ever charge Li cells in multiples, whether in parallel or serially. Always charge individually or use a BMS (Battery Management System) that monitors the individual cells. Charging in parallel is not guaranteed to keep the cells balanced.
Anyone have a data sheet on the b628? I think this is it here but not sure https://www.uugear.com/doc/datasheet/SDB628.pdf
I was wondering if I could up the output voltage for a 9-volt battery application. Et voila 9-volt device is now rechargeable. That datasheet says up to 28v output, based on Vout = Vref x (1 + R1/R2). The big question is, will the other components on the output side tolerate 9 volts?