Diagnostics
Battery diagnostics
SOH, SOC, cell-group potentials and thermal data.
The high-voltage battery data comes from the Battery Energy Control Module (BECM) over UDS. Hanterill opens an extended session with the BECM and reads by identifier.
Read-only operation
Everything on this page is a read. Hanterill queries the BECM and decodes the response. It does not write to the module and does not change how the pack is managed.
What you get
- State of Health and State of Charge
- Pack voltage and pack current
- All 108 cell-group potentials on CMA: 27 modules, 4 groups each
- Minimum, maximum and delta across cell groups
- Pack and module temperatures
- Estimated usable capacity against nominal
- BECM hardware and software part numbers
Reading it
After routing activation, Hanterill enters an extended session with the BECM and reads each identifier:
Data identifiers, read with ReadDataByIdentifier
- 0x496D
- Battery state of health
- 0x1635
- Pack voltage
- 0xF190
- VIN, for session correlation
The state-of-health read, with the bytes on the wire:
- request
- 22 49 6D
- response
- 62 49 6D 03 E6
The raw value 03E6 is 998. Scaled by 0.1 that is 99.8, then offset against nominal capacity to the reported SoH. The scaling lives in the CMA decoder map, not in the ECU response.
Cell-group potentials are read as a block and mapped to module and group positions, not derived from a single summary field. DTCs come from the same session with a ReadDTCInformation request.
Reading the cell matrix
A healthy pack sits within a few millivolts across all 108 groups. A widening delta, or one module consistently offset from the pack mean, is more informative than the SOH percentage alone. The website's battery section shows the same matrix with sample data.
Provisional platforms
Unverified on SEA and SPA2
On SEA and SPA2 the BECM identifiers and scaling differ and are not verified. Hanterill marks battery data on those platforms as unverified and it should not be used for decisions.