Reviewing the Wemos Battery Shield

wemosb3The Wemos battery shield seems an easy way to start battery feeding your Wemos D1 mini, but after using one for a while, it became obvious it is not for any serious battery use, mainly for two reasons: It is not efficient in using the battery power and the Wemos D1 itself is not efficient to be used with batteries.

The battery shield like all shields is to be plugged onto the Wemos D1 mini. It has two jacks: one for a battery and one for an USB plug that can be used to charge the battery. The charging circuit is built around a TP5410 Lipo charger. One therefore would expect a standard LiPo cell connector on the board but the LiPo cell connector on the board is an XH2.54 connector, whereas most LiPo cells come with a JST-PH connector. Another disappointment was that it came with male headers only. Apparently it is thought this shield should come on top of every other possible shield

Apparently he 5410 cranks up the battery voltage to 5 Volt and feeds this to the 5 Volt pin of the Wemos D1. Though this makes the Shield handy to use in combination with other shields that may rely on the voltage coming from the 5 Volt pin, it is likely a less efficient way of using the battery power as opposed to bringing it to 3.3 Volt directly via an LDO.

wemosbatteryshieldcircuitThere is not much technical information on the battery shield, but I did find a circuit that seems to almost come right out of a chinese datasheet of the TP5410, in which several configurations are shown.
Studying the circuit it seems that the 5 Volt coming from the USB, is connected to the 5 Volt pin of the shield, only through an SS32 Skottky diode. In itself that is no problem, unless one decides to use another input to that connector, e.g. a solar cell. The Wemos D1 mini has an RT9013 LDO regulator that has a max input of 5.5 Volt with an absolute Max rating of 6 Volt.
Considering that the SS32 Skottky diode has a forward voltage of 200 mV@200mA, a voltage of > 6.2 on the USB connector of the battery shield (say a 6 Volt solarpanel on a bright day) could already kill the RT9013 LDO on the Wemos D1 board, Eventhough Wemos states the shield can be supplied with 10 Volt, but maybe that is without it being connected to the Wemos D1 mini

Anyway, I hooked up a 720mAh Lipocell to the battery shield and uploades a sketch that measures the battery voltage (through a resistor on A0) and did an upload to Thingspeak every minute, being in deep sleep in between, just to see how long it would last.

My first observation was that the shield apparently does not fully charge the LiPo cell. It came to a max of 4.05 Volt before it switched to ‘Standby’. I made sure by using a Multimeter and indeed, only 4.05-4.1 volt on the cell.
shield5-6It worked pretty well after that, uploading the voltage to Thingspeak for 5 days and 5 hrs, when suddenly it stopped, with the battery voltage at 3.56 Volt, far above the 3 Volt minimum charge of a LiPo. Strange. The RT9013 has a drop of 250mV at 500mA, so even at 500mA the voltage on the ESP8266 still would have been 3.31 Volt. I have fed the 8266 with as low as 2.9 Volt and it was still working, so this was a strange finding. Resetting the Wemos did not bring it back to life… which was not so surprising because when i measured the LiPo (this was almost a day after the sketch stopped working… I was busy shopping for Newyears Eve), it was at 1.3 Volt. A quick connection to a USB port brought it back to life. A very strange finding indeed that warranted me to repeat the test (See below). But for now it doesnt seem like the battery shield is  the best solution for a serious battery dependend project.

As said before, the Wemos D1 Mini, also is not the most suitable for a battery operated project. True, the ESP8266 can be put to deepsleep and will only use around 77uA, but the Wemos board also has the CH340 FTDI to TTL chip on board. As that is directly connected to the 3.3 Volt line, it will always be active, drawing around 50uA which is sort of in the same ballparc as the ESP8266 itself. Without that CH340 it could operate 1.6 times longer.

Battery Voltage Wemos battery shield
Battery Voltage Wemos battery shield

The repeated test showed similar results: Charge to 4.05 V (should be 4.2 Volt) and apparently shuts off at 3.5 volt (should be 2.7 Volt)





batterijspaning10minA final test, in which the Wemos was put to sleep for 10 minutes, the battery lasted 18 days before it was shut off at 3.59 Volt

Apparently Harald has a more positive experience with the shield.


35 thoughts on “Reviewing the Wemos Battery Shield”

  1. Thanks for the review. That cell going down to 1.5 volt is scary, but maybe that was the protection circuit in the cell shutting off? It usually does @ 2.5 volt and just the tiniest leak could have given you that voltage on the meter.

    I agree on the shield not being the best thing since sliced bread. Boost-converting and then using an LDO seems quite horrible for a battery operated project. If your ESP goes down to 2.9 volt, the best strategy might be to get the best LDO you can find and keep the cell nicely charged as much as you can. Or even better, be brave and just hook it up to the 3.3. rail with a 1 amp rated 3.7 volt or so zener diode across and let the cell never go over that way. Would make for a VERY long lasting battery if if has a protect circuit too.

    1. Thanks Jeroen, Could very well be the protection kicking in, nevertheless definitely too low. Thing is though that a very brief connection to USB made it all come alive again and within seconds the cell was at higher voltage. Your suggestion is a good one, but when the zener kicks in obviously some load will get lost. Not sure if an LDO (I ordered some with very low drop) would be more efficient. Will have to do some tests. Most sensors work on 3v3 anyway.
      The battery shield is a ‘nice thing’ to develop stuff, but as ‘spielerei’ not suitable for anything serious. An ESP8266-12 module + LDO/zener + battery seems the best option. ESP8266-7 module also possible, but that still has an LED on it

  2. It’s for lithium-ion, like the tp4056 modules

    The TP5410 is a single-cell lithium-ion battery charger for mobile power and a constant 5V boost controller, charging
    Part of the set of high-precision voltage and charge current regulator, pre-charge, charge status indication and charge cut-off and other functions in one,
    Can output the maximum 1A charge current. The boost circuit using CMOS technology to create a very low no-load current VFM open
    Off DC / DC boost converter. It has very low no-load power consumption (less than 10uA), and boost output drive current
    Force can reach 1A. No external keys needed to plug and play.
    Charge part of the linear buck mode, built-in PMOSFET, coupled with anti-backwash circuit, so no external testing
    Resistors and isolation diodes. Thermal feedback automatically adjusts the charge current for high power operation or high ambient conditions
    Temperature conditions to limit the chip temperature, full voltage fixed at 4.2V. The charge current can be fed through a resistor
    Line external settings. When the battery reaches 4.2V, the charge current gradually decreased to set the current value of 1/5, TP5410 will
    To terminate charging. Boost part of the same built-in power NMOSFET, a smaller internal resistance can provide drive capability to achieve
    5V / 1A. The high level of integration allows the TP5410 to operate with a small number of peripheral devices. The TP5410 is also integrated
    Charge temperature protection, step-up input power supply current limiting loop, according to the dynamic adjustment of load current, and has a fast ring
    And overcurrent shutdown function should be. Boost converter using the frequency of the way, so similar products at home and abroad with very low air
    Load power, ripple, stronger drive capability, and higher efficiency.

    1. Thanks for yr input. Indeed the chinese datasheet says ‘锂离子’ which is Lithium Ion, but as my chinese knowledge of chemical names has become a bit rusty (I am not kidding), I wasnt quite sure if that was the correct translation. As Wemos advertises it as a ‘Lithium battery shield and sometimes even as a LiPo shield’ I presumed they knew better than I did.
      The confusion become even bigger because LiPo batteries are often referred to as Lithium Ion Polymer batteries (Adafruit for instance does that).
      I am not sure if it makes a difference for the charging, but as I have a LithiumIon battery as well, I will give that a try.
      Though many sources say that both LiIon and LiPo can be charged with 4.2V, charging with 4.1 V seems to be the standard and that may explain why indeed my battery is charged to 4.05 Volt. However, the datasheet says it should charge to 4.2V with 1.5 % accuracy which is 4.16V at the lowest

      It also doesnt explain the 3.5-3.6 V cutoff though as it should go into trickle charge at 2.9 V. Having said that, I am retesting the LiPo battery/shield and the voltage is now at 3.26.
      As the Wemos battery shield and actually the entire Wemos, isnt really suitable for battery fed projects, it is not a big problem as I will just use it for back up with a 18650 and use the Lipo for feeding a bare ESP8266-12

    1. Hi merglindev. Thanks for yr kind words. I used a 720 mAh lipo cell with the standard JST-PH connector. As the Wemos shield has a different connector (JST-2.54 I believe), I made a small adaptor

    1. I am not sure i fully understand you. Do you mean PSU perhaps? (power supply unit)
      Yes, it is made for the Wemos D1 mini, but you need to either connect a battery or a wallwart or something to make it work

  3. Thanks for the review. Why the battery shield drops to 1.5V is because some of LiPo batteries does not have an under voltage protection (which is should into the device or a drone). And if you look at the schematic, the VBAT is connected to the +5V through one inductor and one diode. Yes, the TP5410 will go into sleep mode below 2.7V, but that also means in D/C mode, the inductor is acting as a short circuit between the VBAT and +5V, and as the result, the +5V line will have a voltage = VBAT-Vf(of the diode).

    What you really need is a Lithium battery with built-in over and under voltage protection to replace your old one.

    Other than that, the battery shield is fairly efficient, TP5410 has a efficiency between 85-90%. If you choose any buck/boost converter, the efficiency is going to be worse. The LDO ME6211 on the WeMos D1 board is also very effective at suppressing noise coming from the boost converter, and gives a very clean supply for the ESP8266. IMO, TP5410 + ME6211 is a fairly cost effective way to provide a 3.3V from a Lithium battery.

    1. As a compromise, we can monitor the A0 ADC line, and shut down the ESP8266 when VBAT drops below 3.0V. Proper battery protection is still the preferred method.

      1. True, though ofcourse monitoring the battery will add a bit to its drainage. But it is exact what I am doing 🙂

    2. David, I fully agree with what you say. It would have been nice if the board would have had under voltage orotection, but alas it doesnt.
      The TP5410 indded is fairly efficient.
      My main issue though was not as much with the board itself, as with the fact that it might not be best choice for battery feed in which it is solely depending on battery feed. But in that aspect the Wemos itself isnt: a bare bones ESP8266-12+LDO, perhaps with a battery protection charger module, would be better, efficiency wise.
      If however you want a quick and easy battery solution for the Wemos, this is it. I use it as a backup, to keep a somewhat essential wemos always active

  4. If I had to build a project needing this now, I would use just a TP4056 indeed for charging (as per Andreas Spiess testing lots of PCB’s / solutions), and, brace please, hook up the ESP directly to the cell. I read an atricle the other day 4.2 does not destroy the ESP (it might shorten it’s life a bit), but it does substantially increase it power usage. GREAT 😉 That will pull the voltage quickly out of the danger zone and make the cell live longer. For under-voltage protection I would simply ESP.getVcc() and basically go into endless sleep (ESP.deepSleep(0, WAKE_RF_DEFAULT);), of course not after sending out a “feed me please!!!” MQTT message.

    1. Andreas Spies indeed recently gave some great insight in battery feeding. The Wemos Battery Shield is in fact an easy, but very inefficient way of battery feeding the Wemos and certainly not one I would recommend for other use than having a backup in case of powerloss…if you want an easy plug in solution. If not looking for ‘easy’, I’d just get the TP4056 board

      Personally I still would be a bit hesitant to directly connect 4.2Volt, so i’d still use an LDO, but I see your point. Your MQTT/sleep suggestion is a very valid one

      1. The most efficient solution I’ve found so far is to use a 3.3v buck converter, like the LM3671, the charge pump is also disabled when Vin drops below 3.3v and Vout will just be the same as Vin, and continue to power the ESP8266 until the battery protection circuit kicks in.
        I have also done a few projects that requires a battery shield, anything that requires a 5V input, the battery shield is a good solution.

      2. Yes, I fully agree. If you need 5 Volt in battery fed projects the Shield is a good solution. For anything else, the battery with some form of 3v3 stabilizer is more efficient, or as yoh-there suggested, no stabilizer at all

  5. Where is the problem of connecting a 18650 (protected) battery directly to the 5v on the WeMos Mini? Is has the LDO which supports 4.7-3.8 Volts.
    Do I miss something?

    1. There is no problem with that, but I was just reviewing the battery shield.
      The battery shield ofcourse has the advantage of having an on board charger, which the single 18650 doesnt have, but as I already say in the article, it is not the most efficient way of battery feeding. Another advantage is that it does provide 5Voly, should you need that

  6. Hi! That is a good review! I have a question if you don’t mind, but is not related to power management but to usb connection. Having this battery shield module mounted on a dual base shield (next to a D1 mini, of course) I was unable to connect my D1 mini to computer (through battery shield). It looks like the usb port of the battery is only for charging not also for usb communication. This is the normal behavior or my board have an issue? I must mention that my board is exactly as the one reviewed by you, version 1.1.0, now retired.

  7. I have 3 psc from one firm, and on all boards after connect to D1 mini voltage 5Vpin going down to 2,6v. ( tested on 4 different D1 mini boards). I have to make test on battery board from another suplier.

    1. a 100k. that way 4.2 Volt gives a reading of 1023
      The new version of the batteryshield has an inbuilt resistor of a slightly different value

  8. I’ve had serious problem with the Wemos D1 Mini not being reset properly when turning on the battery shield by connecting a battery , I have to push the reset button after power is up

    1. I don’t recall having experienced that, but I won’t exclude it. I have experienced the Wemos and nodeMCU needing g a reset so etimes after uploading a program

  9. Wemos has a new version of the battery shield out (which, among other things, switched to a PH-2 battery connector). It’s hard to find things on their annoyingly-organized website, but here’s the page for it:

    Ironically, they also did something right that’s rare: the wiki pages have links to the previous versions of the boards. So, if you have boards you bought a couple of years ago, you can get schematics for them.

    1. Indeed they have. Still I think the battery shield is great as USP but not so efficient for battery only operation

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.

%d bloggers like this: