Battery Capacity Tester (Arduino)


Introduction: Battery Capacity Tester (Arduino)

Hi friends,

This is my first trying on arduino and it is my engineering design project. This is pretty simple to make.

First of all, you need to know how you can measure analog and digital value on Arduino. Atfter you read these values, you can achive SOC (state of charge) and mAH (mili Amper Hour) by writting some codes. (I used 1.5 Volt Battery, so I design a code according to it.)

There are some constant values on the code.

Maximum voltage value is 1.5 V

Minimum voltage value is 0.9 V

Maximum mAH value is 1500 (mAH)

In other words;

When your battery level is 1.5 Volt, your SOC value is %100 and your capacity is 1500 mAH.

When your battery level is 0.9 Volt, your SOC value is %0 and your capacity is 0 mAH.

This is my SOC formula, SOC=(voltage-0.9)*(100/0.6); (voltage= Analog value of battery)

And this is my mAH formula, mAH= ((voltage-0.9)/0.6)*1500;


1) Arduino Uno

2) LCD display (16x2)

3) IRF510

4) 10K resistor

5) 2.2 resistor (1 Watt) (This is important for your Arduino not to burn!)

This is easy project. But it helped me to improve my Arduino knowledge. I hope, it helps you, too.



    • Make it Move Contest

      Make it Move Contest
    • Microcontroller Contest

      Microcontroller Contest
    • Woodworking Contest

      Woodworking Contest

    We have a be nice policy.
    Please be positive and constructive.



    Ты можешь добавить код, а то я ещё не очень разбираюсь в ардуино.


    Where is the code ?

    codes pls cant start the work :(

    Hey, where can i find the code please?

    boa tarde Burak Tutal, por favor me envie o link onde eu possa pegar o código do arduino. desde já agradeço.

    code please

    Where is the code please ?

    please provide a code for me plzzzzzzzz

    it would be nice if you provided a sketch.

    Hi, is the code available? I'd really appreaciate it.

    We really do need the arduino code you used to easily replicate what you have done.

    2 replies

    I shared the code. :) I hope it helps you a lot to improve your Arduino skills :)

    i cant find the code link.i really need those codes.can any1 help me out?

    can i get the codes?

    Yaptigin program iyi gibi gorunuyor.Buna Batarya test cihazi demek dogru olmaz. Cunku denenecek herhangi bir batarya(Ni-Cad , Li-ion , .......) ile farkli akim degerleri alirsin bu sekilde ayarlanmasinin imkani olmaz . Ama su sekilde yapabilirsin
    (R1) (R2)
    (Batarya +) ----------[[[[[]]]]]]]]----- |-----[[[[[[[[]]]]]]]]----------(Batarya - GND )
    |-------------- Analog
    daha sonra R2nin uzerine dusen elektirigi bul .... ve bataryanin doluluk olanini bu sekilde cikarabilirsin

    Yaptiginiz elektronik devre duzenegi Battery Drainer gibi bisey ... Bu sekilde olculmesi Uygun degil ...

    1 reply

    Yorumunuz için teşekkür ederim. Evet dediğinize baktımda benim ki "Battery Drainer" dediğinize daha çok benziyor. Vermiş olduğunuz linkteki proje gerçekten iyi. Proje yapım aşamamda görmüş olsaydım, muhtemelen referans olarak o projeyi göz önünde alırdım. :)

    Yorumlarınız için tekrardan teşekkür ederim.

    So a couple questions:

    1) It looks like the MOSFET is used to turn off the battery when it is low voltage, but not sure why exactly you do that. What is the motivation here? And what is with the lowVolts ++ and lowVolts-- ? Is this just to have some ability to not have the battery shut off based on a random below threshold reading?

    2) Why do you have a "batteryIn" variable, when it looks like it never changes?

    3) Why is 3.3V connected to AREF?