Electrical

Battery Management Systems (BMS)

The electronic supervisor that keeps every lithium-ion cell inside its safe operating area

A battery management system (BMS) is the electronics that monitor and protect a rechargeable battery pack. It measures every series cell's voltage — typically to ±1–5 mV — along with the pack current and several temperatures, then keeps each lithium-ion cell inside its safe window of roughly 2.5 V to 4.2 V and −20 °C to 60 °C. It balances cells so the weakest one does not throttle the whole string, estimates state of charge (SoC) by coulomb counting fused with an open-circuit-voltage model, tracks state of health (SoH) from capacity fade and rising internal resistance, and opens series protection MOSFETs on overvoltage, undervoltage, overcurrent, short circuit, or over-temperature. In large EV and grid packs a central controller talks to distributed cell-monitor ICs over an isolated daisy-chain bus. The BMS is the primary safety layer that prevents lithium plating, overheating, and thermal runaway.

  • Cell window≈2.5 V – 4.2 V per Li-ion cell
  • Voltage sense±1–5 mV per channel
  • SoC methodCoulomb counting + OCV, Kalman fused
  • SoC accuracyTypically 2–5%
  • End of life~80% SoH
  • BalancingPassive bleed vs. active shuttle
  • Charge cutoffBlocked below ~0 °C

Interactive visualization

Press play, or step through manually. The visualization is yours to drive — try it before reading on.

Open visualization fullscreen ↗

Watch the 60-second explainer

A condensed visual walkthrough — narrated, captioned, under a minute.

Why the BMS matters

A single 18650 lithium-ion cell delivers only about 3.6 V nominal and 7–13 Wh. To power a laptop, an e-bike, or an electric car you wire dozens to thousands of cells in series and parallel — a "12s4p" pack is 12 cells in series, 4 in parallel — building tens or hundreds of volts. The problem is that lithium chemistry is unforgiving: push a cell above roughly 4.25 V or below 2.5 V, charge it below freezing, or draw more current than it can shed as heat, and you invite lithium plating, electrolyte breakdown, gas generation, and ultimately thermal runaway, a self-heating chain reaction that can vent flame. The BMS exists to make sure no individual cell ever leaves its safe operating area, no matter what the load or charger asks for.

  • Electric vehicles. 400 V and 800 V packs of thousands of cells; the BMS enforces current limits, balances the string, and reports SoC to the driver.
  • Grid and home storage. Racks of modules where a fault in one cell must be isolated without dropping the site.
  • Consumer electronics. Laptops, phones, and power tools use a compact "fuel gauge" BMS on one to four cells.
  • e-Mobility. e-bikes, scooters, and drones, where energy density is pushed hard and protection margins are thin.
  • Aerospace and medical. Redundant BMS channels with certified fault detection.

How a BMS works, step by step

Every BMS, from a two-transistor phone gauge to a distributed EV controller, performs the same core loop many times per second:

  • 1. Sense. An analog front-end (AFE) IC measures each series cell voltage differentially, the pack current through a milliohm shunt or a Hall sensor, and temperatures from NTC thermistors placed across the pack.
  • 2. Estimate. A microcontroller integrates current for coulomb counting, runs a cell model to compute SoC and SoH, and derives allowable charge/discharge current limits (the "power map").
  • 3. Balance. Cells that are high relative to the string are bled (passive) or their charge is shuttled to low cells (active) so the string converges to a matched state of charge.
  • 4. Protect. If any measurement exits a limit, the BMS opens the pack — turning off back-to-back charge and discharge MOSFETs (small packs) or commanding a contactor (large packs) — often within milliseconds.
  • 5. Communicate. The controller reports SoC, SoH, temperatures, and faults to the host (vehicle, inverter, laptop) over CAN, SMBus, or a proprietary link.

In small packs a single monolithic IC does all of this. In a large pack the architecture is distributed: each module carries a cell-monitoring IC handling 8–16 series cells, and these report to a central pack controller over an isolated daisy chain such as isoSPI. Galvanic isolation is mandatory because the stack can sit at 400–800 V above the low-voltage logic ground.

Coulomb counting and the SoC equation

State of charge answers "how full is the pack?" The dominant method is coulomb counting — integrating current in and out of the pack:

SoC(t) = SoC₀ + (1 / Q) · ∫₀ᵗ η · I(τ) dτ

  • SoC(t) — state of charge, a fraction from 0 to 1 (or 0–100%).
  • SoC₀ — the initial state of charge at t = 0 (dimensionless).
  • Q — cell usable capacity, in ampere-hours (A·h); note ∫I dt is in A·s, so use consistent units (divide by 3600 to convert A·s to A·h).
  • η — coulombic efficiency (dimensionless, ≈0.99–1.00 for Li-ion); it accounts for charge that does not fully store.
  • I(τ) — pack current in amperes (A), positive on charge, negative on discharge.

Coulomb counting is accurate over minutes but drifts over hours: a small current-sensor offset integrates into a growing SoC error, and Q itself changes with age and temperature. So the BMS re-anchors SoC to the open-circuit voltage (OCV). After the cell rests (no current) its terminal voltage settles to the OCV, which maps one-to-one to SoC through a lookup table specific to the chemistry. Lithium iron phosphate (LFP) is the hard case: its OCV curve is nearly flat from 20% to 80% SoC, so voltage anchoring is weak and the coulomb-counting integral must carry most of the load. Production systems fuse coulomb counting and OCV with an extended Kalman filter running a cell equivalent-circuit model (an OCV source in series with an internal resistance and one or two RC pairs), typically reaching 2–5% SoC accuracy across the pack's life.

Passive vs. active cell balancing

No two cells are identical. Manufacturing spread in capacity and self-discharge means that after a few cycles the cell voltages in a series string diverge. Because charging must stop when the highest cell reaches 4.2 V and discharging must stop when the lowest cell reaches 2.5 V, the mismatched cells strand usable capacity: the string is only as good as its weakest link. Balancing pulls the cells back into agreement.

Passive vs. active cell balancing
AttributePassive (dissipative)Active (redistributive)
MechanismBleed high cells through a resistorShuttle charge from high to low cells
Energy storeDissipated as heatInductor, capacitor, or transformer
Typical current30–200 mA per cell0.5–5 A per cell
Efficiency0% (all lost as heat)≈80–95%
Cost / complexityLow — a FET and resistor per cellHigh — magnetics and switches per cell
Balancing directionTop-only (discharge high cells)Bidirectional (charge low cells too)
Typical useConsumer, most EVsHigh-value, capacity-critical, second-life

Passive balancing dominates because it is cheap and robust: a bleed FET and resistor across each cell, switched on when that cell runs high. Its downsides are wasted energy and heat. Active balancing conserves energy by moving charge between cells, recovering more usable capacity, but the per-cell magnetics make it expensive; it is reserved for high-value packs and for repurposed ("second-life") cells with wide spread.

Worked example: sizing a passive balancer

Suppose a 100 A·h cell in a string ends a charge 60 mV above its neighbors, and we must equalize it before the next charge, 8 hours away. The OCV curve near the top of charge is steep — about 8 mV per 1% SoC — so 60 mV corresponds to roughly 7.5% of 100 A·h, i.e. a charge imbalance of ΔQ ≈ 0.075 × 100 A·h = 7.5 A·h that must be bled off. The required average bleed current is:

Ibleed = ΔQ / t = 7.5 A·h / 8 h ≈ 0.94 A

Nearly one amp of bleed current per cell is impractical — the bleed resistor would dissipate P = I²R and roughly V·I ≈ 3.9 V × 0.94 A ≈ 3.7 W as heat, and most cell-monitor ICs bleed only 30–200 mA. This is exactly why balancing is a slow, continuous background task run over many cycles, and why a badly matched pack (or one balanced only at end-of-charge) can take days of cycling to converge. It also shows why active balancing, which moves that 7.5 A·h to needy cells instead of burning it, is attractive for large-format cells.

Protection: the cell safe operating area

Protection is the BMS's non-negotiable job. Each limit corresponds to a physical failure mode:

Typical Li-ion protection thresholds (NMC / graphite; values are chemistry-dependent)
FaultTypical trip pointFailure mode prevented
Cell overvoltage (charge)4.20–4.25 VLithium plating, cathode degradation, gassing
Cell undervoltage (discharge)2.50 VCopper current-collector dissolution
Charge over-temperature~45–55 °CAccelerated aging, gas generation
Charge under-temperature~0 °CLithium plating during charge
Discharge over-temperature~60 °CSeparator shrinkage, runaway onset
OvercurrentPack-specific (C-rate)I²R heating, connector damage
Short circuitDetect in µs–msImmediate runaway, arc

The pack is opened by back-to-back MOSFETs (small packs, so one FET can block charge and the other block discharge regardless of current direction through their body diodes) or by high-voltage contactors (EV and grid packs). Short-circuit detection is the fastest path — often a hardware comparator on the shunt voltage that trips in microseconds, faster than firmware could react. Above these active protections sits a passive last line of defense in the cell itself: a positive temperature coefficient (PTC) element, a current-interrupt device (CID) that pops on internal pressure, and a shutdown separator whose pores melt closed near 130 °C.

Common misconceptions and failure modes

  • "The BMS charges the battery." It doesn't — a separate charger sources current. The BMS only monitors and gates: it tells the charger when to stop and can disconnect the pack.
  • "Balancing makes cells equal in charge." It equalizes voltage (or SoC) at the balancing point, not total capacity. A degraded cell with less capacity still fills and empties first; balancing manages the mismatch, it cannot heal it.
  • "More balancing current is always better." Higher bleed current means more heat and thermal stress; balancing is deliberately slow and continuous.
  • "Coulomb counting alone is enough." Sensor offset integrates into unbounded drift; without OCV re-anchoring the SoC estimate wanders over long sessions.
  • "Cold discharge is as dangerous as cold charge." Charging below 0 °C causes lithium plating; discharging cold merely reduces available power. A BMS blocks cold charge but permits (limited) cold discharge.
  • "Protection FETs opening is a rare edge case." Overcurrent and low-temperature limits are hit routinely; a well-designed pack keeps the load inside limits so protection is a backstop, not a normal operating mode.
  • "One temperature sensor is enough." Thermal gradients across a large pack can exceed 10 °C; single-point sensing misses a hot cell and is a real-world runaway cause.

Frequently asked questions

What is a battery management system?

A battery management system is the electronics that monitor and protect a rechargeable battery pack. It measures each series cell's voltage, the pack current, and temperature, then keeps every lithium-ion cell inside its safe window (about 2.5 V to 4.2 V and −20 °C to 60 °C). It balances cells, estimates state of charge and state of health, and opens series protection MOSFETs on overvoltage, undervoltage, overcurrent, short circuit, or over-temperature. It is the primary safety layer that prevents lithium plating and thermal runaway.

What is cell balancing and why is it needed?

Cells in a series string are never identical — capacity and self-discharge vary by a few percent — so their voltages drift apart over cycles. Because the pack must stop charging when the highest cell hits 4.2 V and stop discharging when the lowest hits 2.5 V, the weakest cell limits usable capacity. Passive balancing bleeds charge from the fullest cells through a bleed resistor (typically 30–200 mA) as heat. Active balancing shuttles charge from full cells to empty ones through an inductor, capacitor, or transformer at 80–95% efficiency. Balancing recovers otherwise stranded capacity and keeps the string matched.

How does a BMS estimate state of charge?

The workhorse method is coulomb counting: SoC = SoC0 + (1/Q) ∫ η·I dt, where Q is cell capacity in amp-hours and η is coulombic efficiency. Integrating current tracks charge in and out but drifts because of current-sensor offset and Q uncertainty. So the BMS periodically re-anchors SoC to the open-circuit voltage (OCV), which maps uniquely to SoC when the cell has rested. Production systems fuse both with a Kalman filter or a cell equivalent-circuit model, typically reaching 2–5% SoC accuracy.

What is state of health and how is it measured?

State of health (SoH) quantifies aging relative to a new cell. Capacity-based SoH is present full-charge capacity divided by rated capacity; a pack is usually considered end-of-life around 80% SoH. Resistance-based SoH tracks the rise in internal resistance (DC-IR), which grows as the SEI layer thickens and reduces deliverable power. The BMS estimates SoH from full or partial charge/discharge counts, incremental-capacity analysis of the voltage curve, and impedance measurements, then uses it to adjust SoC scaling and available power limits.

What protections does a BMS provide?

A BMS enforces the cell safe operating area. Overvoltage protection stops charging near 4.2–4.25 V per cell to prevent lithium plating and cathode damage. Undervoltage protection stops discharge near 2.5 V to prevent copper dissolution. Overcurrent and short-circuit protection open the pack in milliseconds using a sense resistor or Hall sensor plus back-to-back MOSFETs or a contactor. Over-temperature and under-temperature protection block charging above ~45–60 °C and below ~0 °C, where charging causes lithium plating. Together these keep the cell out of the regime that leads to thermal runaway.

Why can't you charge a lithium battery below freezing?

Below about 0 °C, lithium ions intercalate into the graphite anode too slowly, so instead of inserting into the lattice they deposit as metallic lithium on the surface — lithium plating. Plated lithium is partly irreversible (permanent capacity loss) and can grow into dendrites that pierce the separator and cause an internal short. That is why a BMS blocks or heavily current-limits charging at low temperature and often controls a pack heater. Discharging cold is allowed but at reduced power.

How does a BMS communicate in a large pack?

Large EV and stationary packs use a distributed topology: each module has a cell-monitoring IC that measures 8–16 series cells and reports over an isolated daisy-chain bus (such as isoSPI) or a local CAN link to a central pack controller. The controller runs SoC/SoH estimation, enforces charge and discharge current limits, commands contactors, and reports pack state to the vehicle or inverter over CAN bus. Galvanic isolation protects low-voltage electronics from the high-voltage stack, which can exceed 400–800 V.