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 the simplest method, but it can be inaccurate. Even within a given battery chemistry, cell architectures deliver dissimilar voltage profiles and temperature also plays a role. Higher temperature raises the open-circuit voltage, a lower temperature lowers it. This phenomenon applies to all chemistries to a varying degree.

The most blatant error of voltage-based SoC occurs when disturbing the battery with a charge or discharge. This agitation is like a pull-up or pull-down rubber effect that distorts the voltage and no longer represents a correct reference to measure state-of-charge. To get accurate readings, the battery needs to rest in the open circuit position for at least four hours to attain equilibrium; battery manufacturers recommend 24 hours for lead acid. Adding the element of time to neutralize voltage polarization does not work well with batteries in active duty.

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. And yet, voltage is commonly used on consumer products to estimate SoC.

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 large and important middle section is difficult to estimate. 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. Temperature also affects the open-circuit voltage; heat raises the voltage while cold causes it to 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, the battery voltage must be “floating” with no load attached. This is not the case with modern vehicles. A parasitic load feeds vital functions that causes the battery to dwell in 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 SoC, but this only applies to flooded lead acid and flooded nickel-cadmium. 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 maintenance-free 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.

Besides charge level and acid density, a low fluid level also varies the SG. When the 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 also 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.

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 is, 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: Relation of specific gravity and temperature of deep-cycle battery

Colder temperatures provide higher specific gravity readings.




Errors can also occur if the battery has stratified, meaning the concentration is light on top and heavy on the bottom. [BU-804, Acid Stratification] 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. (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 newer Li-ion. Improvements have been made to take aging 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)

To overcome the need for calibration, modern fuel gauges use a “learn” function that estimates how much energy the battery delivered on the previous discharge. Some advanced learning systems also observe the charge time because a faded battery charges quicker than a good one. This allows a rough estimate on capacity. These BMS further include self-discharge and estimate capacity fade.

Designers of advanced BMS claim high accuracies of their BMS but real life results often prove otherwise. Much of the make-belief is hidden behind a fancy digital readout that is taken seriously. Smartphones may show a 100% charge when the battery is only 90 percent charged. According to design engineers, SoC readings on new EV batteries can be off by 15%. There are reported cases where EV drivers ran out of energy with 25% SoC readings on the fuel gauge.

Impedance Spectroscopy

Some batteries, including flooded lead acid, allow estimating the state-of-charge by impedance spectroscopy using the Spectro™ method. SoC readings can be taken with a steady parasitic load.  Voltage polarization and surface charge do not affect the reading as the SoC is measured independent of voltage. This opens applications in automotive manufacturing where some batteries may be discharged longer than others in final testing and during debugging stages.

Measuring SoC independent of voltage also supports dock arrival and serves in showrooms. Simply opening the car door applies parasitic loads that agitates the battery and falsifies voltage-based SoC measurement. Reading SoC independent of voltage solves battery problems and reduces false warranty claims.

SoC measurements by impedance spectroscopy also have limitations. The battery must be new and deliver full performance. Low capacity, lack of formatting or long storage times can falsify the readings as symptoms relating to SoC change. Nor can the battery 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. The open terminal voltage rises as part of recovery but the Spectro™ readings remains stable. Steady Spectro SoC results are also observed after removing charge during which the voltage drops 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 2015-07-22

*** 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…..