Monitor Battery Level Using Arduino


My group and I are currently starting on a project using Arduino Uno and we are first timers with Arduino.

We are working on a project using the following components:
-Servo motor
-2 DC motors
-IR sensors
-USR (Ultra Sonic Ranger)
-LCD display
-Zippy Li-po battery 2200 (3 cell 11.1V)
-Arduino Uno

I was just wondering how to detect battery level of an external rechargeable battery using arduino uno and show it on the LCD display. We want our robot to monitor and display the battery level to know when it is fully charged or low battery.

Also, If require additional components to detect the battery level please do state.

Any ideas? :slight_smile:

Thanks in advanced.


Works pretty well.

I totally misunderstood what you were trying to do, as Coding Badly pointed out. Sorry about that. Ignore me on this thread.

Works pretty well.

…to measure Vcc on the processor. Which…

-Zippy Li-po battery 2200 (3 cell 11.1V)

…is clearly not what @justsummer is trying to measure.

@justsummer, you need a voltage divider to reduce the voltage to approximately zero to five volts (zero to Vcc). To start, choose a resistor pair that totals less than 10K ohms.

Presumably the purpose of the indication is to let you know when the robot's going to die? I Googled Li-Po discharge curves and from what I see, the voltage is fairly flat until it drops of a cliff, so looking at the voltage doesn't give a good indication of how long it's going to last.

Other threads on this board have indicated that you really need to monitor the power usage which, when you incorporate time, tells you the energy used and that can be subtracted from the full-charge energy capacity. But I think that's probably a whole project on its own.... 8)

The voltage of a LiPo battery is a pretty good indicator of the discarge level.

For example:

If you measure 3,81V/cell the battery is half empty and at 3,7V you have a 25% left (and it is about time to recharge)

Remember don't discharge LiPo's too much, or they will be destroyed.


Scroll down to

Gas Gauging LiPo Packs

This will work for you. Mind the max voltage of 3 lipocells is 12.4V → this divider will give you 5V max.
As the battery voltage could be noisy you may use even bigger capacitor - ie. 1uF.

From the voltage level you may decide on the battery “level”. If you want to measure the “charge left” - that is difficult - you have to measure the current from the battery at regular intervals and integrate in time - to get mAHours consumed.