Battery State of Charge (SOC) Estimator
Estimate battery remaining capacity using Open Circuit Voltage (OCV) interpolation curves or Coulomb Counting simulators.
Parameters
Used to infer series cell counts (e.g. 12.8V nominal is a 4S system)
State of Charge Output
SOC Estimation Constraints
OCV estimation is only accurate when the battery has been at rest (no charge or discharge) for at least 1 to 2 hours. Active loads depress voltage, resulting in massive SOC error.
Educational Disclaimer
This tool provides educational approximations only. Results are not diagnostic, not certified battery health predictions, and must not be used as the sole basis for safety-critical decisions. Always validate with a qualified BMS or certified professional instrumentation.
Mathematical Formulas
OCV Lookup: Measured voltage is normalized to cell level (V_cell = V / S) and interpolated against a standard chemistry reference curve:
Coulomb Counting (Current Integration): The changes in charge capacity are calculated by summing continuous Ampere flows over duration:
Variables: Voltage in V, Current in A (negative = discharge), Duration in seconds, Capacity in Ah (SOH-adjusted). Assumptions: battery at rest for OCV, constant current for Coulomb counting, standard temperature (25°C).
Worked Examples
Example 1: LFP OCV Lookup
- Voltage: 13.16 V | Nominal Voltage: 12.8 V
- Step 1: Identify series cells: 12.8 / 3.2 = 4 Cells
- Step 2: Solve cell voltage: 13.16 / 4 = 3.29 V
- Step 3: Interpolate curve: 3.29V cell corresponds to exactly 70% SOC.
Example 2: Coulomb Counting — Discharge
- Initial SOC: 50% | Capacity: 100 Ah
- Current: -10 A (discharge) | Duration: 60 minutes (3600s)
- Step 1: Calculate charge change: -10 A x 1 hour = -10 Ah
- Step 2: Solve SOC change: (-10 Ah / 100 Ah) x 100% = -10%
- Step 3: Solve final SOC: 50% - 10% = 40%
Example 3: NMC OCV Lookup — High Voltage
- Voltage: 38.5 V | Nominal Voltage: 37 V (10S NMC)
- Step 1: Identify series cells: 37 / 3.7 = 10 Cells
- Step 2: Solve cell voltage: 38.5 / 10 = 3.85 V
- Step 3: Interpolate NMC curve: 3.85V corresponds to approximately 53% SOC.
Frequently Asked Questions
Why is OCV lookup difficult for LFP (LiFePO4) chemistries?
LFP has an extremely flat voltage curve between 20% and 80% SOC. The cell voltage sits steadily between 3.25V and 3.30V. Under load, noise or contact voltage drop easily mimics capacity changes, making pure OCV lookups unreliable. Most LFP BMS units use Coulomb counting, correcting to OCV values when resting at full charge.
What is Coulomb counting drift?
Coulomb counting integrates current over time. However, sensor offsets or measurement errors compile over duration. A small 0.1A current sensor drift will compile to 2.4 Ah of error over 24 hours. The SOC drift will grow progressively until reset by hitting 100% or 0% voltage limits.
Why must the battery rest for OCV measurements?
Discharging or charging triggers chemical concentration gradients near cell plates. Voltage rises during charge and sags under load. Once currents stop, the cell chemistry slowly equilibriates to its steady chemical potential (the true OCV), which takes 1 to 2 hours.
How do Lead-Acid OCV curves differ?
Lead-acid has a relatively linear voltage-to-SOC relationship (12.72V = 100%, 11.63V = 0%), making voltage-based estimation more reliable than in lithium systems. However, lead-acid voltage sag under heavy loads is severe, requiring load-correction factors.
What is the best method for SOC estimation?
The most accurate approach combines Coulomb counting with periodic OCV recalibration. Coulomb counting provides real-time SOC tracking, while OCV measurements at rest points (full charge, empty) correct accumulated drift. This hybrid approach is standard in commercial BMS implementations.
How accurate is Coulomb counting?
In the short term (hours), Coulomb counting is accurate to within 1–3%. Over days without recalibration, sensor drift can accumulate to 5–15% error. High-quality current sensors (hall-effect or shunt-based) with calibration reduce drift, but periodic voltage-based correction remains necessary.
Can I use SOC estimation while the battery is under load?
OCV-based SOC is only accurate when the battery is at rest (no current flow). Under load, terminal voltage sags due to internal resistance, producing misleading SOC readings. Coulomb counting works under load but requires accurate current measurement.
How does temperature affect SOC estimation?
Temperature affects both OCV curves and Coulomb counting accuracy. Cold temperatures increase internal resistance, causing greater voltage sag under load (distorting OCV). Coulomb counting efficiency also decreases at low temperatures. Temperature compensation is essential for accurate SOC.
What is the difference between SOC and SOH?
SOC measures current charge relative to current capacity (like a fuel gauge). SOH measures maximum capacity remaining relative to original design capacity (like engine wear). A battery at 50% SOC with 80% SOH has 40% of its original design capacity remaining.
How do I calibrate my battery's SOC gauge?
Charge the battery to 100% and let it rest for 2+ hours — this sets the upper calibration point. Then discharge to empty (or the BMS cutoff) to set the lower point. Most BMS units automatically calibrate during full charge cycles.
Why does my SOC jump suddenly?
Sudden SOC jumps usually indicate the BMS has recalibrated. After a rest period, the BMS corrects Coulomb counting drift by comparing actual OCV to the reference curve. This is normal behavior and indicates the system is self-correcting.
Degradation Estimator
Estimate battery capacity fading and degradation state.
Runtime Calculator
Compute runtime from load wattage profiles.
Charging Time
Estimate CC-CV charge durations.
C-Rate Calculator
Calculate charge and discharge current rates.
Battery Sizing Tool
Size battery storage from electrical draw profiles.
Solar Battery Sizing
Size solar battery banks from daily consumption.
What Is Battery State of Charge (SOC) Estimator?
Why This Calculation Matters
→ Incorrect SOC readings can cause over-discharge, permanently damaging lithium cells and reducing battery lifespan.
→ Overestimating SOC leads to unexpected shutdowns when the battery is depleted earlier than the BMS predicted.
→ LFP batteries have extremely flat voltage curves between 20–80% SOC, making voltage-based estimation unreliable without precise measurement.
→ Coulomb counting drift accumulates over time — without periodic recalibration, SOC error grows to 5–15% within days.
→ Marine and RV systems relying on inaccurate SOC may leave users stranded without power during critical operations.
Practical Applications
Battery Management Systems
BMS units use SOC estimation to prevent over-charge and over-discharge, protecting cell chemistry and extending cycle life.
Electric Vehicles
Accurate SOC is the basis for range estimation and driver-facing battery gauges in EVs and hybrid vehicles.
Solar Storage Dispatch
Home and commercial solar systems use SOC to decide when to discharge batteries vs. when to preserve charge for evening loads.
Marine & RV Power Management
Off-grid travelers use SOC to plan power usage, knowing exactly how much energy remains before recharging.
Telecom Backup Monitoring
Telecom operators monitor SOC to verify backup batteries are charged and ready for grid outage events.
Grid-Scale Storage
Utility-scale BESS operators use SOC to manage charge/discharge scheduling and grid services dispatch.
Common Mistakes to Avoid
✗ Assuming voltage alone determines SOC — for LFP, voltage is nearly constant between 20–80% SOC. A 10mV measurement error can represent a 30% SOC swing in the flat region.
✗ Ignoring rest time for OCV measurements — measuring voltage immediately after charge or discharge produces misleading SOC readings. Wait 1–2 hours for chemical equilibrium.
✗ Not recalibrating Coulomb counting — sensor drift accumulates daily. Without periodic OCV-based recalibration, SOC error grows to 10–15% within a week.
✗ Using the wrong chemistry profile — LFP, NMC, and lead-acid have completely different OCV-SOC curves. Using an NMC curve for an LFP battery produces wildly inaccurate results.
✗ Ignoring temperature effects — cold temperatures increase internal resistance, distorting voltage measurements. Coulomb counting also becomes less efficient at low temperatures.
✗ Measuring SOC under load — terminal voltage under load includes IR drop, making OCV-based SOC unreliable. Always measure OCV at rest.
Why Trust These Calculations?
This estimator uses publicly documented OCV-SOC reference curves for LFP, NMC, and lead-acid chemistries. The Coulomb counting model integrates current over time using standard SI units. Both methods are industry-standard approaches used in battery management systems worldwide. All intermediate values are displayed for independent verification.
View our full methodology →Degradation Estimator
Estimate battery capacity fading and degradation state.
Runtime Calculator
Compute runtime from load wattage profiles.
Charging Time
Estimate CC-CV charge durations.
C-Rate Calculator
Calculate charge and discharge current rates.
Battery Sizing Tool
Size battery storage from electrical draw profiles.
Solar Battery Sizing
Size solar battery banks from daily consumption.
References & Further Reading
Was this calculator helpful?