LFP pack and state-of-charge calculator

Build a pack from cells in series and parallel, then see how a small voltage error becomes a state-of-charge error on a flat LFP curve.

Read this first. Defaults reproduce the page example: 3.2 V per LFP cell (CSTEP 2020; Victron sheet), 51.2 V, and a 60 Ah cell capacity that we inferred from a Sunsynk sheet (3.07 kWh at 51.2 V). The 10 mV error is invented. The 0.77 mV per % gradient is our arithmetic from one paper's iron-phosphate cell at 23 °C between 10% and 70% depth of discharge. Real cells and ageing differ. Use a dot for decimals; "10,000" is read as ten thousand.

1. Cells in series and pack energy

ResultValue
Cells in series for the target (voltage ÷ cell voltage)-
Whole-cell options either side of the target-
Nearest option: pack voltage-
Nearest option: pack capacity-
Nearest option: nominal energy (volts × amp-hours)-

2. Voltage error to state-of-charge error

ResultValue
State-of-charge error from voltage alone (mV ÷ gradient)-
Same error if the curve were ten times steeper (illustrative)-

Method: series cells = pack volts ÷ cell volts, rounded to whole cells; energy = pack volts × amp-hours × strings. State-of-charge error = voltage error ÷ gradient, in the range where that gradient holds; it changes along the curve. This is a sizing aid, not a battery design tool: the maker sets cell count, limits and protection.