State of charge (SoC) is how full a battery is, from 0% (empty) to 100% (full). Its complement is the depth of discharge (DoD) = 100% − SoC. There are two common ways to estimate SoC. The voltage method reads the rested open-circuit voltage and maps it linearly between the empty and full voltages — quick, but only approximate because the voltage-vs-charge curve is not a straight line. Coulomb counting integrates current in and out to track the remaining amp-hours, which is what a battery management system (BMS) does for accuracy.
| Quantity | Formula |
|---|---|
| SoC (voltage) | (V − Vempty)/(Vfull − Vempty) × 100 |
| SoC (coulomb) | Remaining Ah / Capacity Ah × 100 |
| Depth of discharge | DoD = 100 − SoC |
| Energy remaining | Remaining Ah × Nominal V |
The voltage method works best for chemistries with a sloped discharge curve (lead-acid, Li-ion) after the battery has rested. LiFePO4 has a very flat curve, so its voltage barely changes between 20% and 90% — coulomb counting is far more reliable there.
SoC is the remaining charge in a battery as a percentage of its full capacity, from 0% (empty) to 100% (full). It is the battery equivalent of a fuel gauge.
DoD is how much of the battery has been used: DoD = 100% − SoC. A battery at 70% SoC has been discharged to 30% DoD.
Measure the rested open-circuit voltage and map it linearly between the empty and full voltages: SoC = (V − Vempty)/(Vfull − Vempty) × 100. It is approximate because the real curve is non-linear.
Coulomb counting tracks SoC by integrating the current flowing in and out over time (charge = current × time). Starting from a known full charge, it subtracts used amp-hours to give the remaining capacity accurately.
Under load or charge the terminal voltage shifts due to internal resistance, so it does not reflect the true SoC. Letting the battery rest for a while gives the open-circuit voltage that maps reliably to charge.
LiFePO4 has a very flat voltage curve — the voltage barely changes across most of the range — so small measurement errors translate to large SoC errors. Coulomb counting is preferred for these cells.
Typical values: Li-ion 4.2 V full / 3.0 V empty; LiFePO4 3.4 V / 2.5 V; lead-acid (12 V) about 12.7 V / 12.0 V at rest. Always use the manufacturer's figures.
Keeping lithium batteries between roughly 20% and 80% SoC minimises stress and maximises cycle life. Full charges to 100% are fine occasionally but best avoided for daily storage.
Multiply the remaining amp-hours by the nominal voltage: remaining Wh = (SoC/100) × capacity(Ah) × V. This gives the usable energy left.
No. If the calculation gives more than 100% or less than 0%, the reference voltages or the remaining-Ah figure are wrong, or the battery is being measured under load rather than at rest.
Temperature shifts the voltage curve and the deliverable capacity, so cold conditions can make a battery read a lower SoC and provide fewer usable amp-hours. Good BMS designs apply temperature compensation.
They combine methods: coulomb counting for short-term accuracy, periodic recalibration against rested open-circuit voltage, and temperature correction — often blended with a model of the battery for the best estimate.
Battery Capacity • Internal Resistance • Cycle Life • All Calculators