BU-903: How to Measure State-of-charge

Explore SoC measurements and why they are not accurate.

Voltage Method

Measuring state-of-charge by voltage is simple, but it can be inaccurate because cell materials and temperature affect the voltage. The most blatant error of the voltage-based SoC occurs when disturbing a battery with a charge or discharge. The resulting agitation distorts the voltage and it no longer represents a correct SoC reference. To get accurate readings, the battery needs to rest in the open circuit state for at least four hours; battery manufacturers recommend 24 hours for lead acid. This makes the voltage-based SoC method of a battery in active duty impractical.

Each battery chemistry delivers its own unique discharge signature. While voltage-based SoC works reasonably well for a lead acid battery that has rested, the flat discharge curve of nickel- and lithium-based batteries renders the voltage method impracticable.

The discharge voltage curves of Li-manganese, Li-phosphate and NMC are very flat and 80 percent of the stored energy remains in the flat voltage profile. While this characteristic is desirable as an energy source, it presents a challenge for voltage-based fuel gauging as it only indicates full charge and low charge; the important middle section cannot be estimated accurately. Figure 1 reveals the flat voltage profile of Li-phosphate (LiFePO) batteries.

Discharge voltage of lithium iron phosphate

Figure 1: Discharge voltage of lithium iron phosphate
Li-phosphate has one of the flattest discharge profiles of Li-ion, making voltage estimations for SoC estimation difficult.

Lead acid comes with different plate compositions that must be considered when measuring SoC by voltage. Calcium, an additive that makes the battery maintenance-free, raises the voltage by 5–8 percent. In addition, heat raises the voltage while cold causes a decrease. Surface charge further fools SoC estimations by showing an elevated voltage immediately after charge; a brief discharge before measurement counteracts the error. Finally, AGM batteries produce a slightly higher voltage than the flooded equivalent.

When measuring SoC by open circuit voltage (OCV), the battery voltage must be “floating” with no load attached. This is not the case with modern vehicles. Parasitic loads for housekeeping functions puts the battery into a quasi-closed circuit voltage (CCV) condition.

In spite of inaccuracies, most SoC measurements rely all or in part on voltage because of simplicity. Voltage-based SoC is popular in wheelchairs, scooters and golf cars. Some innovative BMS (battery management systems) use the rest periods to adjust the SoC readings as part of a “learn” function.


The hydrometer offers an alternative to measuring the SoC of flooded lead acid batteries. Here is how it works: When the lead acid battery accepts charge, the sulfuric acid gets heavier, causing the specific gravity (SG) to increase. As the SoC decreases through discharge, the sulfuric acid removes itself from the electrolyte and binds to the plate, forming lead sulfate. The density of the electrolyte becomes lighter and more water-like, and the specific gravity gets lower. Table 2 provides the BCI readings of starter batteries.

Approximate state-of-charge

specific gravity

Open circuit voltage









8. 30


Table 2: BCI standard for SoC estimation of a starter battery with antimony. Readings are taken at 26°C (78°F) after a 24h rest.

While BCI (Battery Council International) specifies the specific gravity of a fully charged starter battery at 1.265, battery manufacturers may go for 1.280 and higher. Increasing the specific gravity will move the SoC readings upwards on the look-up table. A higher SG will improve battery performance but shorten battery life because of increased corrosion activity.

Besides charge level and acid density, a low fluid level will also change the SG. When water evaporates, the SG reading rises because of higher concentration. The battery can also be overfilled, which lowers the number. When adding water, allow time for mixing before taking the SG measurement.

Specific gravity varies with battery applications. Deep-cycle batteries use a dense electrolyte with an SG of up to 1.330 to get maximum specific energy; aviation batteries have a SG of about 1.285; traction batteries for forklifts are typically at 1.280; starter batteries come in at 1.265, and stationary batteries have a low specific gravity of 1.225. This reduces corrosion and prolongs life but it decreases the specific energy, or capacity.

Nothing in the battery world is absolute. The specific gravity of fully charged deep-cycle batteries of the same model can range from 1.270 to 1.305; fully discharged, these batteries may vary between 1.097 and 1.201. Temperature is another variable that alters the specific gravity reading. The colder the temperature drops, the higher (more dense) the SG value becomes. Table 3 illustrates the SG gravity of a deep-cycle battery at various temperatures.

Temperature of
the Electrolyte

Gravity at full charge

Table 3: Relationship of specific gravity and temperature of deep-cycle battery

Colder temperatures provide higher specific gravity readings.




Inaccuracies in SG readings can also occur if the battery has stratified, meaning the concentration is light on top and heavy on the bottom. (See BU-804c: Water Loss, Acid Stratification and Surface Charge.). High acid concentration artificially raises the open circuit voltage, which can fool SoC estimations through false SG and voltage indication. The electrolyte needs to stabilize after charge and discharge before taking the SG reading.

Coulomb Counting

Laptops, medical equipment and other professional portable devices use coulomb counting to estimate SoC by measuring in-and-out-flowing current. This goes back to the late 1700s, Charles-Augustin de Coulomb ruled that a battery discharging one ampere (1A) per second passes one coulomb. On charge, the process reverses. (See BU-601: How does a Smart Battery Work?)

While this is an elegant solution to a challenging issue, losses reduce the total energy delivered and what’s available at the end is always less than what had been put in. In spite of this, coulomb counting works well, especially with Li-ion that offer high coulombinc efficiency and low self-discharge. Improvements have been made by also taking aging and temperature-based self-discharge into consideration but periodic calibration is still recommended to bring the “digital battery” in harmony with the “chemical battery.” (See BU-603: How to Calibrate a “Smart” Battery. (See BU-603: How to Calibrate a “Smart” Battery)

To overcome calibration, modern fuel gauges use a “learn” function that estimates how much energy the battery delivered on the previous discharge. Some systems also observe the charge time because a faded battery charges quicker than a good one.

Markers of advanced BMS claim high accuracies but real life often shows otherwise. Much of the make-belief is hidden behind a fancy readout. Smartphones may show a 100% charge when the battery is only 90 percent charged. Design engineers say that the SoC readings on new EV batteries can be off by 15 percent. There are reported cases where EV drivers ran out of charge with a 25 percent SoC reading still on the fuel gauge.

Impedance Spectroscopy

Battery state-of-charge can also be estimated with impedance spectroscopy using the Spectro™ complex modelling method. This allows taking SoC readings with a steady parasitic load of 30A. Voltage polarization and surface charge do not affect the reading as SoC is measured independently of voltage. This opens applications in automotive manufacturing where some batteries are discharged longer than others during testing and debugging and need charging before transit. Measuring SoC by impedance spectroscopy can also be used for load leveling systems where a battery is continuously under charge and discharge.

Measuring SoC independently of voltage also supports dock arrivals and showrooms. Opening the car door applies a parasitic load of about 20A that agitates the battery and falsifies voltage-based SoC measurement. The Spectro™ method helps to identify a low-charge battery from one with a genuine defect.

SoC measurement by impedance spectroscopy is restricted to a new battery with a known good capacity; capacity must be nailed down and have a non-varying value. While SoC readings are possible with a steady load, the battery cannot be on charge during the test.

Figure 4 demonstrates the test results of impedance spectroscopy after a parasitic load of 50A had been removed from the battery. As expected, the open terminal voltage rises as part of recovery but the Spectro™ readings remains stable. Steady SoC results are also observed after removing charge during when the voltage normalizes as part of polarization.

EIS Relationship Figure 4: Relationship of voltage and measurements taken by impedance spectroscopy after removing a load.

Battery is recovering after removing a load. Spectro SoC readings remain stable as the voltage rises

Last updated 2016-01-26

*** Please Read Regarding Comments ***

Comments are intended for "commenting," an open discussion amongst site visitors. Battery University monitors the comments and understands the importance of expressing perspectives and opinions in a shared forum. However, all communication must be done with the use of appropriate language and the avoidance of spam and discrimination.

If you have a question, require further information, have a suggestion or would like to report an error, use the "contact us" form or email us at: answers@cadex.com. While we make all efforts to answer your questions accurately, we cannot guarantee results. Neither can we take responsibility for any damages or injuries that may result as a consequence of the information provided. Please accept our advice as a free public support rather than an engineering or professional service.

Or Jump To A Different Article

Basics You Should Know
The Battery and You
Batteries as Power Source


On September 21, 2011 at 12:51pm
Joe Accetta wrote:

There is yet another and quite accurate means of measuring SOC in open port lead acid batterieis through the use of refractometry. The index of refraction of the electrolyte is directlly proportional to the SG. JSA Photonics has developed an in-cell immersion refractometer that yields accurate 24/7 SOC information along with cell temperature for monitoroing and temp correction and in some instances electrolyte level. The sensor replaces the existing battery cap. See www.jsaphotonics.com.

On October 13, 2011 at 4:02am
Josep wrote:

I’m investigating about, and I read that the most common, easy, and accurate way of measuring OSC is Ampere Hour Counting.


On November 29, 2011 at 7:15am
Qaisar Azeemi wrote:

Its really nice information about SOC is given here. But i request to please include measurement steps for all methods mentioned above.
Thank you

On January 20, 2012 at 5:05am
kishore kumar wrote:

Its good to know about soc. There is metal detector to detect metal likewise I need to know how to detect a battery? Can anyone help me.

On January 25, 2012 at 1:34pm
Diego wrote:

the problem of establishing the SOC is not trivial, expecially with LiFePO4 batteries. An interesting article “Fine Tuning TI-impedence Track (TM) battery fuel gauge with LiFePO4 cells in shallow discharge application” can be found at this link


On February 20, 2012 at 2:11am
Kumar wrote:

Please provide me the positive and negative plate behaviour of a lead acid battery during charge & discharge when it is measured with a cadmium rod as reference.

On June 22, 2012 at 1:09pm
TokenGimp wrote:

Assuming I need 2 gel batteries for a power wheelchair and they suggest 12V 75AH. Typically that’s good for 30 miles of rolling on a street..

How much less mileage would I get out of it using 55AH batteries under similar conditions?
I’m trying to decide if I should buy 55AH, 75, 90 or 115AH deep cycle gel if they will fit in the same area.

On June 23, 2012 at 2:17am
Josep wrote:

To TokenGimp,

If they told you 75AH is good for a 30 miles of rolling on a street, you can make rule of three: if 75->30, then 55-> 22miles, 90->36miles, 115->46miles.

That’s is not exact, but I think you can make an idea about how long.  You take the one you think will use.

I hope I was useful.


On August 30, 2012 at 3:29pm
P.F. wrote:


The metal detector use a General Electric MAGNISTOR , Ihave the chematic .

Error :A lead baterie contains sulfate no sulfite
SO4— no SO3 .

On September 6, 2012 at 6:15pm
Mark wrote:

I have a 24V lead acid battery (for a fork truck). I measure 9.0V from the negative terminal to the metal case. Can you suggest what might be causing this? I expected to find 0.0V.

Thank you,

On October 17, 2012 at 3:27am
kingk wrote:

what is the name of the composition of the battery positive and negative plates in a typical lead acid battery when in a charged condition ?

On January 13, 2013 at 11:45am
Sheldon Robidoux wrote:

The 1.98v number here for 0% charge doesn’t seem to line up with the 1.75 figure given for full discharge in another part of this site.  What am I missing?

On June 15, 2013 at 8:59pm
R.ashok kumar wrote:

Given every thing fine automative battery graveti explain detail

On July 10, 2013 at 10:13pm
Chetan Upadhyay wrote:

Nice detailing. Can anyone tell @ Impedance Spectroscopy requirements?

On October 1, 2013 at 3:11am
Jero wrote:

I have a question, is there not a relationship between the pH of the acid and the state of charge? I can’t seem to find anything on the net about this, but it is intuitive for me for them to have a relation, as the chemical reactions occur which also change the SG.

On November 2, 2013 at 12:03pm

i have 4 electric bike vrla based batteries showing 13.0v ocv, on 3 times load test shows 10.8v, but when put on road, does not give mileage.  even after discharge the ocv reduces momentarily but again the ocv goes upto 13.0v.  so while connecting a charger the battery gets charged much faster.  can anyone help and explain what is wrong inside the battery.
the batteries are hardly one year old.

On July 26, 2014 at 5:31am
peter carvalho wrote:

very good info.. thanks

On August 13, 2014 at 11:30pm
sarvani wrote:

Is there any relationship between the pH of the acid and the specific gravity?

On August 29, 2014 at 6:13am
satheesh wrote:

hi i want know the program for how to measure the battery level and indicator can any know??

On March 28, 2015 at 2:54pm
Lucy wrote:

What is the correlation of the acid level (in mm) of each cell of a SLI battery to its determination of defectiveness?

On July 4, 2015 at 6:55am
Tom wrote:

Coulomb counting is like balancing the check book. I put this much in and therefore I should be able to take the same amount out??
Pulsed usage case loading to verify and validate cell voltage during pulse is used in life safety (smoke alarms) which check the battery capacity once a minute when the LED flashes.  This method actually measures the power “wattage” delivering capacity of the battery instantly. This method will report capacity changes due to temperature. This is the reason that smoke alarms always chirp low battery in very late evening hours due to temperature being colder causing cell impedance to increase, yielding lower terminal voltage and cell capacity. Pulsed loading method verifies the health of power path physical layer as coulomb counting doesn’t. Pulsed loading verifies actual power delivery in real time, where coulomb counting assumes that power delivery is present. Pulsed loading method doesn’t require a sense resistor in the load path to burn cell capacity 24/7 as CC method requires.

On July 16, 2015 at 4:43am
Mike Biswell wrote:

I live on a finca in Spain we have 12 2v deep cell lead acid and a 2kva studer inverter, 5 solar panels from the end of june until august the temperature is in excess of 100 f and the batteries do not seem to take the full charge, in times of moderate temperature the regulator shows a charge of 14v in summer 13v is this a normal temperature situation?

On September 12, 2015 at 9:07pm
Rey wrote:

My location is Phils. Island. I have a .6Amp/14.4V smart charger. I started to used it on my 24 months 60AH 12V Maintenance Free Battery. After charging for 36 Hours the stable Voltage after 12 hours rest was only 12.52. Prior to charging it has 12.42V. It seemsthe battery is responding. Will i reached 12.6V state of charge if i charged longer ? Thanks.

On November 19, 2015 at 8:25pm
Bob King wrote:

Hi, I use two package of Lead Acid battery(Panasonic LC-R127R2) as the power source to supplement a medical device, now I am on the software development of the power management board to realize a functionality that monitor the SOC(state of charge) and send the value of SOC to a computer via UART periodically. the software has already the capability to measure the (1)battery voltage(2)Charging current during charging(3)load current during discharging. Does anyone has a good solution to realize it?
P.S. The source code I am using comes from a previous project which is also used for a power management board, it’s already has a formula in software to estimate the SOC, here it is, during charging, SOC= 100%(1-(Vmax_- Vbatt + Ichrg*Ro)/2.5V)  (Vmax_ = 25.5v, Vbatt is the value of battery voltage measured by SW, Icharg is the value of charging current measured by SW), during discharging, SOC = 100%(1-(Vmax -  Vbatt-Iload* Ri)/2.5V)  (Vmax = 25.5v,Iload is the current of load measured by SW). However, I don’t know the principle behind the formula and if it’s good enough to use for estimation of SOC…..

On January 22, 2016 at 3:39am
rhea wrote:

hello. I am rhea from the Philippines, we are having trouble on what electronic componenet should be used in switching two 48 volts lead acid batteries, meaning there are four 12 volts lead acid batteries in series and another four 12 volts batteries in series, we ae trying to have a switching process,  like 00 01 10 11 logic, if A bat is empty, then it will switch to the other battery which is B. or vice versa, I just want to ask if you do have circuits for this and how to program this using microcontroller to know the power rate, voltage and current in charging and discharging. Your reply would be a great help. Thank you!