How to Calculate Your BMS SOC?

Table of Contents
How to Calculate Your BMS SOC?

In the battery technology industry, battery management systems (BMS) are the key guardians of battery performance, longevity, and safety. Calculating SOC for a single cell is the central and challenging aspect of BMS. SOC holds the utmost significance within BMS since all other functions rely on it. Therefore, the precision and resilience (referred to as error correction capability) of SOC are of utmost importance. If the state of charge BMS isn’t accurate, no level of protection can ensure proper BMS functionality, as the battery will consistently remain in a safeguarded state, and the battery lifespan won’t see any extension. So, how can we obtain accurate SOC parameters? In this blog, let’s take a look at some of the most popular ways to compute BMS SOCs.

What is BMS SOC?

The BMS acquires the imprint of a “chemical battery” during charging and discharging, and builds a “digital battery” that communicates with the user. Batteries store energy, possess a rechargeable portion, and lose an inactive part permanently as they age. The SoC BMS refers to the stored energy, which measures the remaining energy capacity of the battery as a percentage of the total energy capacity, including the passive part. It is estimated by a set of algorithmic models built by comparing a large amount of collected data with the actual data of the battery. The higher the estimation accuracy is, the longer the discharge time of the same capacity battery is, which can make the electric vehicle have a longer driving range. Highly accurate state of charge estimation can optimize the efficiency of Li-ion battery packs.

Why is SOC Important for Battery Performance?

Firstly, the SOC in BMS is a key metric to ensure optimal battery performance. Overcharging or undercharging the battery can cause several issues, such as diminished capacity, decreased efficiency, and even safety risks like fires or explosions. By actively monitoring the state of charge battery BMS levels and ensuring precise charging, you can prevent these problems and enhance battery performance.

Besides safety and efficiency, maintaining accurate BMS SOC levels is also pivotal in extending battery lifespan. When the SOC of battery is repeatedly overcharged or undercharged, it will lead to the decline of the battery capacity over time. By monitoring SOC levels and steering clear of these extremes, you can contribute to extending the lifespan of your batteries and maximizing the efficiency of your energy storage system.

How to Calculate Your BMS SOC?

So, how to calculate BMS SOC more accurately? Let’s examine the most commonly utilized methods found in the majority of BMSs.

Open Circuit Voltage (OCV) Method

The method relies on the remaining capacity of the battery or the change of SOC with respect to the open-circuit voltage-voltage of the disconnected current load. A higher level of correlation between voltage and SOC leads to increased measurement accuracy. While this correlation varies with cell chemistry, it can often be distinctly evident, resulting in a sufficiently low error margin when using the OCV approach.

However, real-world applications seldom embrace this approach. Because it needs to completely cut off the current feed, let the battery rest for a relatively long period of time. The voltage of the battery can only be measured after all the chemical reactions have subsided. This implies that OCV technology cannot gauge the battery state of charge during its operation unless the power consumption drops significantly, reaching levels as low as microamps.

In addition, the battery state of charge calculation by OCV method is not suitable for lithia-based batteries with fairly flat discharge curves. Lithium-ion batteries often maintain relatively stable voltage values across a significant portion of their capacity range, particularly under specific temperature conditions. Consequently, SOC in battery management systems commonly integrates OCV techniques with other measurement methodologies to determine SOC in lithium batteries.

use Open Circuit Voltage (OCV) method to calculate your BMS SOC

Coulomb Counting (Current Integration)

This method, as implied by its name, aims to compute the number of coulombs or charges by multiplying the current by the time it takes for the charge to move. To measure a battery’s remaining capacity or SOC, you can add the kombu to the initial capacity while charging, or use it up when the battery is discharged.

The accuracy of current integration relies on several factors, making it a widely adopted method. First, you should know the correct measurement of the initial SOC as a reference point. You can achieve this goal by fully charging or discharging the battery. If you intend to utilize this technology, you must incorporate periodic resetting of the battery SOC to 100% into the BMS design.

Another crucial prerequisite for accurately estimating the state of charge using Coulomb counting involves ensuring precise current measurement. This can be accomplished by enhancing the amplitude and temporal resolution of the analog-to-digital converter within the current sensor. However, this may lead to an escalation in the sensor’s cost. Hence, in most instances, BMS designers opt for cost-effective ADCs possessing resolutions of 14 or 16 bits and subsequently average the recorded measurements. Subsequently, engineers process the data by employing more advanced estimators like Kalman filters or neural networks.

use Coulomb Counting (Current Integration) to compute BMS SOC

Kalman Filtering

The method depends on measuring and analyzing input and output battery data, including current, voltage, temperature, internal resistance, and other parameters. By utilizing this data, you can employ the Kalman filter algorithm to construct an electrical model of the battery, simulate how it performs under various operating conditions, and ascertain the state of charge.

The method consists of two main steps. The input data are first entered into the model and the physical processes operating in the battery are represented as mathematical equations. The algorithm actively assesses real battery parameters like voltage and current, subsequently contrasting them with anticipated values. Subsequently, it filters or corrects the model to reduce any potential bias. The highly accurate Kalman filter, known for its precision, continuously captures measurements every second during the entire battery discharge or charge cycle. It forecasts the SOC at each iteration, progressively minimizing the margin of error.

Modern battery management systems frequently employ the Kalman filter due to its high-end accuracy. Implementing this technique does not necessitate comprehensive knowledge of the battery’s complete charging and discharging history. It suffices to utilize data from the most recent iteration to compute the current battery state. The accuracy of this method relies directly on how precise the electrical model is, which includes both the mathematical equations and the chosen parameters within those equations.

use Kalman Filtering to compute BMS SOC


BMS is fully responsible for extending rechargeable battery life and improving battery operating conditions, thereby ensuring the efficiency and safety of battery energy storage systems. The SOC represents a crucial attribute within the BMS, offering a clear depiction of the battery’s status. It empowers users to enhance battery longevity, forecast future performance, and prompt timely battery replacement. Although SOC cannot be measured directly like battery physical quantities (such as current, voltage, or temperature), we have nevertheless developed a series of methods for your reference and use.

MOKOEnergy can help you choose the right method to meet your battery and system requirements. We leverage our extensive BMS design knowledge to create electronics and develop firmware for battery management systems featuring diverse functionalities. Our engineers have extensive experience in creating powerful algorithms to calculate the state of charge, BMS SOH, energy, and power of a battery. In addition, we also implement battery balancing and design BMS monitoring software, including a dashboard and HMI.

To learn about battery energy storage solutions, you can also read our series of articles on battery management system architecture, BMS design, applications, and features. You can reach out to us to receive answers to all your questions.


Share this post
Scroll to Top