Introduction: Arduino Battery Shield

Picture of Arduino Battery Shield

"Scotty, we need more Power!".

This instructable is about making battery shield for Arduino.

Step 1: Material

Picture of Material

Material list:

  • flat lithium battery (e.g. taken from old mobile phone) (I used battery for Huawei Ideos X5 U8800)
  • Li-ion charger module with TP4056 (see on eBay)
  • DC-to-DC step-up module, with V_out = 5 V (see this one on eBay or better one here on eBay)
  • switch
  • Arduino Proto Shield or something equivalent
  • red and black wires (I used AWG24)
  • double sided tape


  • metal paperclips
  • some kind of lock connector (I used PSH02-02PG)

Step 2: About the Modules

Picture of About the Modules

Li-ion charger module with TP4056

See the figure above. This module contains two parts: charger (IC TP4056) and protection, which protect a cell against over-charging, over-discharging and against short circuit. Over-charging and short circuit may cause an explosion (see on YouTube).

Make sure you connect battery plus to "B+" and battery minus to "B-" of the module, because wrong polarity will destroy the protection circuit.

The R3 is resistor for setting maximum charging current.

R3max charging current

1.2 kΩ → 1000 mA (default)

2 kΩ → 580 mA

3 kΩ → 400 mA

For more details see TP4056 datasheet.

And read article about lithium cells on Wikipedia.

DC-to-DC step-up module

Classic step-up converter. Output voltage is constant 5 V. For more details see article about boost converter on Wikipedia .

I bought version with a USB connector dedicated for small DIY powerbanks. But desoldering the connector is redundant and not pleasurable work, so you should buy rather version without the USB connector.

Step 3: Wiring and Soldering

Picture of Wiring and Soldering

Make wiring according to schematic on the figure above. It shouldn't be hard.

As I wrote above, make sure you connect battery plus to "B+" and battery minus to "B-" of the charger module.

Don't attach the modules to battery with a hot glue, because they can heat up to high temperature and melt down the hot glue. Use a double-sided tape instead of the hot glue. Switch and connector you can attach with hot glue (as usual).

Step 4: Shield

Picture of Shield

If you complete previous step, you have standalone battery module now. It can be used in many different projects. And that's the reason why I don't want to attach the battery module to a proto shield permanently with a glue. In my case the battery module is attached to the shield just by 'helping holders'. These 'holders' are made from bended metal paperclips and soldered to my 'dummy' proto shield. See figures above. It works pretty good.


Glumgad (author)2017-11-11

It's great! I want to make it. Could you answer my question, pls.

Should I keep the battery UNCONNECTED when I connect the Arduino to PC for a sketch uploading?

Udon (author)2017-08-06

I really like it. I have these parts rolling around my workshop, but I am still figuring out how to put the pieces together. This is a well-designed shield.

Cool stuff!

man1acc (author)2016-04-24

I'd like to charge the LiPo with a 5V solar panel and power the arduino (outdoor weather station) by the LiPo.
This project should work out of the box, wouldnt it?

MarPok (author)man1acc2016-04-29

Yes, with a 5V solar panel it should work fine.

PierreF2 (author)2016-04-04

thanks for your instructable.

I want to power some servos with a shield (it need 6V and 3A), and my arduino. Do you think i can parallelize my tp4056 and my shield (and move the switch before the parallelization)?

MarPok (author)PierreF22016-04-14

I was not very sure about parallel connection of TP4056, but there are modules with two TP4056, so it is possible. You can found it as "Dual TP4056" on AliExpress or eBay. (Be also carefull to max recommended charging current...)

About parallelization of the shield I'm not very sure at the moment.

Maybe a li-pol battery for RC models with some good quality DC changer would be better solution in your case.

stefancarroll (author)2016-01-15

If i solder 2 batteries in series will this work the same way? i am trying to double my usage time, also will it work for batteries in parallel?

MarPok (author)stefancarroll2016-02-03

Sorry for my late reply. Li-ion in serial or parallel connection must be sister cells. With same capacitance, same time in use, same condition, same type. Configuration with two different cells can damage one cell quickly (and I'm afraid it might be even dangerous.)

In serial connection you have to use step-down converter to get 5V. But step-down converters have a bit better efficiency than step-up converters.

Third option is using one cell with bigger capacitance.

HeizenbergX (author)2015-11-26

I have an old smart phone. Are there any chances I could use the phones in built battery protection circuit instead of buying it online?
If yes, then please tell me how? Thanks :)

MarPok (author)HeizenbergX2016-02-03

Sorry for my late reply. This is difficult. I don't know, how exactly do it. And every smart phone is different. You must identify charging circuitry, than extract it withou damaging, etc. Buying simple cheap module online is a lot easier.

nogueiralhsp made it! (author)2015-09-30

Nice one! tks! =)

MarPok (author)nogueiralhsp2016-02-03

nice :)

joelparks (author)2015-09-25

Is the only purpose of the switch to turn off the supply to the Arduino? I assume the switch may be closed when charging?

MarPok (author)joelparks2015-09-29

Yes, purpose of the switch is turn on/off the supply to the Arduino. Charging is independent to the switch state.

Konstantin Dimitrov (author)2015-09-19

How do you etch your PCBs ?

I use ferric chloride, which I bought in my local electronic components store. I saw bottles of ferric chloride also in chemist's. Some people use acid+peroxide, but that isn't so safe...

Because I have no laser printer I can't use classic toner transfer method. I use obsolete 'old-school' transfer by-hand using resistant marker. For prototypes and simple PCBs it's not a problem.

Doodle Snackers (author)MarPok2015-09-21

I use hydrogen peroxide (100 vol) when I'm in a hurry to etch a board but you must be extremely careful with it and not spill any on yourself as it will burn your skin very quickly. Never handle hydrofluoric acid unless you have an adequate supply of neutralizer on hand because if you spill some on yourself and it covers more than about 3% of your body then you will soon be off to the happy hunting ground.

I tried same recipe(30% Hydrogen Peroxide and Hydrofluoric acid 5-15% - 1/1) today so I can see how long it will take and it took 13 minutes to make my PCB. There were no problems and it was perfect ! I tried another way to make PCBs by using High Voltage and salt water to remove the copper but it wasn't as perfect as the Ferric Chloride or the HP and HA. Good that I studied chemistry for over 5 years, I remember some other chemical reactions with copper and copper oxide and dioxide, and I will make instructable about that. Thanks for the spend time for answering me !

P.S. I will put your names in my instructuble as the people who inspire me to make it !

P.P.S. Nice instructable !

wstewl (author)2015-09-20

This looks very appealing.But, I'm not clear weather this is a way to power the Arduino from a battery, or is it a way to charge the battery with the Arduino?

If I'm understanding the circuit, the battery output goes thru the protection portion of the charger/protection board and then thru a voltage step up board, to power a 5V Arduino.board.

Perhaps this is obvious to many folks, but it's not clear to me how to re-charge the battery. When is the charger circuit used to charge the battery? From what source is the battery charged? Is it done with the USB connector on the charger/protection unit? I presume the switch is turned off then so the Arduino is not drawing power as the battery is being charged - correct? Can you explain? Did I miss something?

Regarding the 3V->5V unit, will it just shut down when the input drops below 3V from the battery?

SimplyT (author)wstewl2015-09-21

The microUSB charges the battery and powers the boost converter to power the Arduino. The battery powers the boost converter. Lithium Ion batteries have a fairly flat discharge curve, they hold their voltage for a long time, then when they are close to depletion, it drops. I haven't looked at the discharge curves, but you probably have half of the capacity of a 4.2v LiOn above 3v. No, the Arduino will not back charge the battery across the boost converter, this is intended to completely replace the Arduino power input.

wstewl (author)SimplyT2015-09-21

Hi, and thanks for
the quick reply.

Just to make sure I am getting the picture, is this correct:

I open the switch, and use an external power source with a microUSB

connector to charge up the battery.

Then I remove that power source, close the switch, and the battery and your

circuit can then power the Arduino until the output voltage of the battery

drops below 3V. Then I reconnect the external power source to recharge the


DejayRezme (author)2015-09-20

Nice! But I already bought a 5V power bank with 2.1A for this stuff. Compact, easy to charge and dual use :)

MarPok (author)DejayRezme2015-09-21

Thanks :) This shield is just another alternative.

ecomcon1 (author)2015-09-20

Very Cool!

MarPok (author)ecomcon12015-09-21

Thanks :)

Phil_S (author)2015-09-20

Hello there

You need a bit more info in the intro to say what exactly this is doing.

Are you charging the Lipo from the Arduino 5V pin? Is it a UPS? Is it a separate power supply for the Arduino instead of the Arduino USB and 2.1-mm socket?

Just a bit more clarity for us non-experts - otherwise, looks good and good effort.

I'm a little wary of Lipo's and I wondered if there is some over temperature protection or is it built into the Lipo?

MarPok (author)Phil_S2015-09-20

Thanks. You're right, more info would be good. I'll try do a update soon.

I'm not sure about temperature protection. I think in the battery is a temperature protection, but it is used only by original charger in a phone. My battery has three terminals: +,unnamed,-. I guess the unnamed terminal is somehow related to the temperature protection. I can only say, I didn't see any overheating in my case.

I'm realizing I didn't mention the max charging current of Li-pol batteries. That is also important. (Max recommended value is 1C. e.g. 2000mAh battery -> max charging current = 2000mA) I'll mention this in the update too.

Thanks for your comment.

Phil_S (author)MarPok2015-09-20

Lipo's have a nasty habit of catching fire.
Most rechargeable cells/batteries have a thermistor fitted for over-temperature - this is the third terminal - measure resistance between either ground or cell/battery +ve and the third terminal and a thermistor gives about 10k.
I wouldn't risk a Lipo on charge in an unattended house. If Boeing can't get it right.....
Personally, I think it would have greatest value as a UPS for the Arduino, provided you don't overdo the charge current and fry the Arduino regulator etc.

SamuelG16 (author)2015-09-20

Mental note

make this awesome project and get an arduino.

Fission_Chips (author)2015-09-20

Great work! I'll have to incorporate this into some of my current projects.

MarPok (author)Fission_Chips2015-09-20

Thanks. I look forward to your new instructable.

Arduino4Me (author)2015-09-18

I'm not sure if you do Raspberry Pi's at all, but I'd like to create a charging circuit for it using a battery pack that you would use for a SmartPhone.

Rand0mUser (author)Arduino4Me2015-09-20

If you want to make a power bank for a Pi, you're best off with a high-quality, large-capacity bank. The Pi 2 can draw up to about 500 mA just on the CPU at decently high loads. Running at full blast could possibly draw upwards of an amp. It can be quite hard to DIY a power bank for those sorts of demands (at a decent price). You'll definitely want something with a 2 amp output or more, especially when running other accessories.

MarPok (author)Arduino4Me2015-09-20

Ha, right now I found PiJuice project on Kickstarter. It uses small Li-ion/li-pol battery. Maybe you can inspire yourself or pre-oder one.

MarPok (author)Arduino4Me2015-09-19

I have Raspberry Pi, but I'm still greenhorn.

See (if you not saw before...) Supply with powerbank for smartphone should be OK.

I'm sorry if I didn't understand the question. My English is bad.

Arduino4Me (author)2015-09-18

Awesome, man thanks for sharing!


MarPok (author)Arduino4Me2015-09-19

Thanks :)

Seeed Studio (author)2015-09-18

It's very useful project, solve my problem to supply the Arduino. And I find a similar product here:

But for Makers, make on by myself sound much more cool :)

raygombos (author)2015-09-17

Nice job it looks fantastic.

MarPok (author)raygombos2015-09-17

Thanks :)

maniacse (author)2015-09-16

Thanks for inspiration! Booster already ordered, now just wait to arrive.

MarPok (author)maniacse2015-09-17

You're welcome. I'm happy that people like my project :)

Electron_flow (author)2015-09-16

Thanks for your reply! I think I'll be trying this tonight, you make it sound so much easier than I figured it would be. Cheers!

-AFS- (author)2015-09-16

I'm about to make something like this. Exactly like this. With the same modules.

The only thing I still have to decide is what battery I am going to use. If an old cell phone's one, or a 18650, o what.

Thankyou for this.

rfmdelgado (author)2015-09-16

nice instruct able, I want to do something like this but to have it has UPS in case of power failure but I don't know how to wire that.

MarPok (author)rfmdelgado2015-09-16

Thanks. Do you mean something like UPS for Arduino? Interesting idea. Hmm... I'll be thinking about it...

Electron_flow (author)2015-09-15

Very nice! I can see something like this being very useful, could even easily incorporate a solar cell or two. How did you solder the leads onto the battery terminals? This is what's kept me from doing much with old cellphone Li-ions. Could you suggest any soldering temps or times? I'd really like to try this finally. Thanks for sharing your project!

MarPok (author)Electron_flow2015-09-16

Thanks, I am glad you like it. Soldering terminals of these mobile phone batteries should be ok, because these terminals are just gold-plated areas of a PCB. In real you just solder wire to small PCB. Only one advice: be carefull to plastic arround the terminals. Melted plastic is quite ugly. But that's obvious.

bbuldoc (author)2015-09-15

This is a good idea. Thank you for sharing.

About This Instructable




More by MarPok:PICAXE Thermometer Prototype With DS18B20 Sensor and LCD DisplaySimple USB powered string lightsBlue alert prop (from Red Dwarf series)
Add instructable to: