Is there a way to monitor how much charge is left in a car battery? What I am thinking is how a laptop or phone shows you what percentage is left.

I currently have an Arduino connected to a car battery and I can easily get the current voltage... however I cannot get my head around what to do to get the remaining power.

There are other items connected to the battery that can be turned off and on at random... so the current draw isn't fixed

  • \$\begingroup\$ You can drain the battery from full to empty at a fixed speed, and measure the voltage as it drains, then put that data into your program and do a lookup in the opposite direction. \$\endgroup\$
    – user253751
    Mar 23, 2018 at 3:21
  • \$\begingroup\$ the problem is that it wont be drained at a fixed speed \$\endgroup\$ Mar 23, 2018 at 3:30
  • \$\begingroup\$ You would have to drain it at a fixed speed to do the calibration. Or you can find someone else's calibration data. \$\endgroup\$
    – user253751
    Mar 23, 2018 at 3:31
  • 1
    \$\begingroup\$ The other problem, to put it simply, is that when the only thing you know is Voltage, all you can do is make an informed guess about how much life is left. If the load is somewhat constant, the situation may not be too bad. But if the load varies over a wide range and is unknown, then the voltage will not tell you much at all about the battery state of charge. \$\endgroup\$
    – user57037
    Mar 23, 2018 at 5:14
  • 1
    \$\begingroup\$ While car batteries have numbers like 45Ah capacity, they can be flattened in less than 24 hours by the interior light - 1/4amp. After a couple of years I suspect they have a capacity of 5-10 Ah, even if they can still crank the engine \$\endgroup\$
    – Henry Crun
    Mar 23, 2018 at 10:55

1 Answer 1


The way you would have to do this is to continually monitor the voltage of the battery and the current into or out of the battery. Using the numbers you can both monitor the amount of energy over time being pushed into the battery during charging and then turn around and monitor amount of energy being drained from the battery over time when it is in the discharge mode.

Measuring the current into or out of the battery is done by inserting a known small resistance in series with the battery and then measuring the small voltage drop across this resistor which will be proportional to the current. Sometimes the small resistance is derived from the wiring or or connection materials themselves without actually using a discrete resistor component.

Another thing to establish are the data points that represent when the battery is fully charged and when it is considered discharged (although this may not ever be a fully discharged battery because that state can totally wreck a battery).

Knowing this data and tracking this over a number of charge cycles you can develop a profile of battery usage time from the full to the empty state. Once the profile is established you judge remaining battery capacity not on the basis of its terminal voltage but rather on the total amount of energy over time that you have removed from the battery while it is in use.

Note that for certain pieces of equipment that has a high manufacturing volume and a consistent battery technology it is possible to have the software coded to show a really good estimate of the remaining capacity when the battery is new and has been fully charged the first time. This is possible because the usable capacity of the average battery can be found. This piece of equipment can still keep a running process of monitoring energy over time in and out of the battery to be able to track the changes of the battery behavior over many charge/discharge cycles.

Finally note that it is common that battery packs or subsystems with integral battery units contain a small standalone chip called a battery monitor device (or as often referred to as a "battery gas gauge chip"). These are powered right off the battery and contain a current and voltage monitor that is able to calculate charge in and out of the battery. These simply operate a counter of available charge in the battery that increments when the battery is charged and decrements when the battery is under load. A one or two wire serial interface into these monitor chips lets a host MCU or computer monitor the battery capacity by reading the counter out. The serial interface may also allow for reading battery temperature in cases where the pack contains a thermistor that is connected to the monitor chip.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Not the answer you're looking for? Browse other questions tagged or ask your own question.