Battery State of Charge (SoC) Estimator

Estimate lead-acid or lithium battery SoC from resting voltage or Peukert-corrected Ah.

Ad placeholder (leaderboard)

A battery’s state of charge (SoC) tells you how much usable energy remains in the bank as a percentage of its full capacity. This tool estimates SoC two complementary ways: by mapping a measured open-circuit resting voltage to a chemistry-specific curve, and by applying the Peukert equation to find effective capacity and runtime at a real discharge current.

How it works

The voltage method relies on the fact that each battery chemistry has a repeatable relationship between open-circuit voltage and SoC once the cell has rested. The calculator stores a voltage-vs-SoC table for a 12V block of flooded lead-acid, AGM, gel and LiFePO4, scales it for 24V and 48V banks, then linearly interpolates your reading to a percentage.

The Peukert method models a lead-acid quirk: drawing current faster delivers fewer amp-hours. The runtime is:

t = H × (C / (I × H))^k

where C is the rated capacity, H the rated discharge time (usually 20 h), I the actual current and k the Peukert exponent. Effective deliverable capacity at that current is C_eff = I × t.

Worked example

A 100 Ah AGM battery rated at the 20-hour rate, with k = 1.15, discharged at 25 A:

t = 20 × (100 / (25 × 20))^1.15 = 20 × (0.2)^1.15 ≈ 3.06 h
C_eff = 25 × 3.06 ≈ 76.4 Ah

So at 25 A the bank delivers only about 76 Ah of its nominal 100 Ah, and runs for roughly three hours.

Tips and notes

Always rest the battery before a voltage reading. Keep flooded and AGM banks above 50 percent SoC to maximise cycle life, while LiFePO4 tolerates deep cycling. For lithium banks, voltage is unreliable in the flat mid-range, so a coulomb-counting shunt is the better gauge. Temperature also shifts resting voltage by a few hundredths of a volt per cell, so calibrate against a known full charge when precision matters.

Ad placeholder (rectangle)