Coulomb Counter and SOC

State of Charge Estimation and Coulomb Counting

SOC Definition

SOC (State of Charge) represents the proportion of the battery's remaining usable capacity to its rated capacity. The user interface usually displays it as a percentage, but the underlying estimation is affected by temperature, aging, load current, and nonlinearities in the chemical system. For IoT devices, accurate SOC helps predict maintenance cycles and prevents deep discharge damage to the cells.

Voltage Method and Coulomb Counting

Open-circuit voltage method is more accurate under idle conditions, but during cellular transmission pulses, the terminal voltage momentarily drops, and direct sampling can misjudge a "sudden drop in charge." Coulomb counting tracks incoming and outgoing charge by detecting the current integral on a shunt resistor, making it more suitable for pulse loads; however, it requires periodic calibration to eliminate drift and calibration at full discharge and full charge points. Hybrid algorithms combining models and Kalman filtering can improve robustness.

Collaboration with Main Control/Module

If only the MCU ADC measures battery voltage, sampling should be delayed after the load ends or use low-pass filtering. Dedicated fuel gauge chips can report precise SOC and State of Health (SOH) via I²C. The percentage reported to the cloud should indicate the algorithm version to avoid incomparability between different firmware.

Abnormal Scenarios

Self-discharge, standby leakage, and periodic sensor wake-ups slowly consume capacity, and Coulomb counting will have deviations if these branches are not accounted for. Available capacity decreases at low temperatures, so SOC and SOH models need temperature compensation. After replacing the battery, a relearning process should be triggered.

Engineering Practice Supplement

Integrate "Battery Meter and SOC" with the full lifecycle of the module: Verify the reference design and antenna scheme at the EVT stage; conduct conduction/radiation surveys and thermal imaging at the DVT stage; solidify calibration and test scripts at the PVT stage. Before certification, check the target country's regulations and carrier registration requirements to avoid missing frequency band or SAR items. Retain golden sample comparison and spot check rules on the production line; after-sales should be able to trace software versions, calibration parameters, and key component batches by serial number. If the customer requires remote operations and maintenance, it is necessary to design security upgrade, rollback, and emergency shutdown strategies simultaneously.

The following are additional tips related to cellular IoT project delivery: it is recommended to keep screen recordings of typical scenarios, screenshots of key indicators, and summaries of masked packet captures during the acceptance phase; in the mass production phase, change records should be kept for software and hardware versions, calibration parameters, and key component batches to facilitate problem attribution, customer audits, and long-term maintenance. When payment or personal information is involved, also check whether log masking and key rotation strategies are executable.

Ampere-hour integration and the open-circuit voltage anchor

State of charge in a fuel gauge is remaining usable capacity divided by the present full-charge capacity, not a linear scale of terminal voltage. Coulomb counting integrates current through a shunt or a Hall element over time and yields ampere-hours in and out. Open-circuit voltage is an anchor for chemical state only after the cell has rested and polarization has faded, and it is used to correct integration drift. A cellular transmit pulse pulls the terminal voltage down for an instant. Converting voltage to a percentage during that pulse makes the display dive and then recover, and the user thinks the battery has failed. State of health also shrinks “full capacity” itself as cycles and temperature accumulate, so the denominator of state of charge changes.

A separate fuel gauge fits when the load is mostly bursts, the device sleeps for long periods, and the cloud needs to compare remaining charge across batches. A voltage-only method fits only a small current whose samples can avoid the transmit window. After a cell change, a protection-board change, or a change in module transmit power, the learned full and empty points have to be redone. The capacity constant from the previous firmware cannot be carried forward.

Shunt temperature drift and uncounted branches

Temperature drift of the shunt, solder stress, and offset in the sense amplifier slowly push the integral to one side, so after weeks of idle the state of charge no longer matches real capacity. Self-discharge, indicator LEDs, sensors, and a regulator that stays on, if they do not pass through the current-sense path, are treated by the coulomb counter as charge that is still there. Capacity that can actually be delivered falls at low temperature. Without temperature compensation, the same percentage shuts the device down earlier in winter. If “full” is only “voltage has arrived” and not “current has tapered,” a shallow charge is stored as 100 percent and every later report is high.

Sample outside the transmit pulse, or let the fuel-gauge chip integrate current itself. The microcontroller should not read the ADC once during an RF burst and report that. Large capacitors on the storage path are covered by bulk capacitance and inrush, so a power-on surge is not booked as an abnormal discharge. Quantify the idle floor with sleep-current measurement and write it into the leakage term of the state-of-charge model, or cloud life and field life will not match.

After a cell change or a transmit-power change, relearn full and empty. The old capacity constant shifts the percentage as a whole. Avoid sampling during an RF pulse, or leave the integral to the fuel-gauge chip. Measure indicator and regulator leakage that bypasses the shunt and write it into the model. Compensate for the capacity drop at low temperature, or the same percentage shuts down early. Full charge needs both voltage and current taper; voltage alone records a shallow charge as full. Send the algorithm version with the report, and do not compare percentages from different firmware on one trend chart.

Related Terms

Return communication modules terminology