Jim Leary is an embedded controls and software development engineer with more than 20 years of experience designing hardware and software controls for advanced automotive systems, including internal combustion, fuel cell, and electric vehicles. Combining deep expertise in the full software development lifecycle with a passion for solving complex engineering challenges, Jim specializes in translating technical concepts into practical, reliable solutions while collaborating across global teams.
Lucas Johnson is a battery systems engineer with expertise in Li-ion batteries, electrochemistry, and data analysis. Lucas conducted lithium battery research in the Abruña Electrochemistry Lab, worked on lithium metal pouch cell optimization at a battery startup, and has worked in the validation of battery cells and suppliers for high-volume applications. Lucas is passionate about advancing the implementation of next-generation battery technologies.
There are four primary state estimation algorithms: State of Charge (SoC), State of Energy (SoE), State of Health (SoH), and State of Power (SoP).
SoC defines how much capacity is remaining in the battery relative to its “full” charge capacity. For example, if a battery has a 5Ah capacity in its full state, and has already discharged 2.5Ah, its SoC would be 50%.
SoE is closely related to SoC but also considers voltage. As a battery’s SoC decreases, its voltage also generally decreases. SoE looks at the “area under the curve” in the voltage vs SoC relationship by integrating the voltage over the remaining useful change.
SoH, in its simplest form, is generally defined as the battery’s capacity relative to its capacity when it was new. In effect, SoH will define the “full” capacity and energy terms that are used in SoC and SoE calculations. SoH is a measure of the aging of the cell and changes on an entirely different timescale to SoC and SoE. In more complex systems, SoH can also explicitly reflect resistance rise, power capability, or any combination of these.
SoP, is a much more complex relationship. In brief, it defines the maximum power that the battery can provide to or accept from the system. This value will be based on its SoH, SoC, SoE, and temperature. SoP is most defined by the end application’s needs, and there is no “single” definition.
Throughout my time developing Battery Management System (BMS) software, I’ve worked extensively on state estimation algorithms. One thing I’ve learned is that most discussions around SoC and SoH oversimplify the problem.
As batteries become increasingly common for electric vehicles, aerospace, defense, industrial equipment, and energy storage systems, the consequences of inaccurate battery state estimation continue to grow. These far-ranging customer applications are more demanding than ever. Regulations are becoming stricter, battery systems are storing more energy, and the cost of failure is rising. Accurately measuring and assessing a battery’s underlying cell conditions has become an essential part of battery systems design.
When SoC estimates are inaccurate, customers can feel the impact immediately. Range predictions become unreliable. Power limits may be calculated incorrectly. Systems may unexpectedly shut down or enter protection modes.
In an electric vehicle, for example, telling a driver they have 20 miles of range remaining when they only have 10 is a quick way to create customer dissatisfaction.
The consequences of poor SoH estimation can be even more expensive. Underestimating battery health can result in unnecessary replacements and increased warranty costs. Overestimating health can lead to performance issues, accelerated degradation, battery damage, and safety concerns.
In some cases, the cost extends beyond warranty claims. Delayed launches, production disruptions, recalls, and significant engineering rework can all result from inaccurate battery state estimation.
One of the most common misconceptions I encounter is the belief that SoC is easy to calculate. I’ve heard people say, “Just count the coulombs going in and out of the battery and you’re done.” While coulomb counting is a fundamental technique, it’s only one piece of the puzzle.
The reality is that SoC is a probabilistic estimate. Sensor inaccuracies, timing variations, measurement noise, and cell temperature all affect the result. With coulomb counting, after extended use, even 0.5% current sensor error can lead to 5-10% SoC inaccuracies. These small errors accumulate over time with no opportunity for correction.
That’s why advanced battery systems use multiple data inputs and estimation techniques. For example, combining current measurements with voltage-based models and Kalman filtering provides a much more reliable estimate than relying on a single measurement characteristic.
State of Health (SoH) is even more complicated. Battery degradation is quantified by capacity loss over time and internal resistance growth. These changes are influenced by numerous factors, including:
Charge-discharge cycle count
Calendar aging (time-based degradation)
Temperature history
Load history
Depth of discharge
Maximum charge voltage
Operational limit violations (over-voltage, under-voltage, over-temperature events)
There is no single measurement that tells you how healthy a battery actually is. The best SoH solutions combine statistical and measurement methodologies to improve confidence and accuracy.
Many battery programs underestimate how important the quality of the input data is. For instance, current sensor accuracy has a direct impact on SoC estimation. A sensor that is only slightly inaccurate, or that is not sampled fast enough, can create substantial drift when measurements accumulate over days, weeks, or months.
Data coherency is another challenge. Voltage, current, and temperature measurements need to represent the same moment in time. If each of these unique measurements are sampled asynchronously from the others, then the resulting calculations can be misleading.
Different chemistries and cell constructions each require special considerations when designing SoC and SoH algorithms.
Firstly, the cell chemistry defines the open-circuit voltage (OCV). OCV is essential for recalibrating SoC estimates. The OCV is a non-linear relationship that correlates resting voltage with a battery’s lithiation state; this state is reported as an SoC (%). However, different chemistries each provide their own degrees of insight. In general, the greater the OCV range, the more you can rely on OCV as an indicator. For most NMC, NCA, Sodium-Ion and lead acid cells, the operating voltage range is large enough that OCV calibration provides significant insight. However, LTO and LFP chemistries have smaller voltage changes. In the case of LFP, a 10-20% change in SOC may produce only a few millivolts of OCV change
Second, different chemistries require different considerations of voltage hysteresis. Hysteresis is the phenomenon that a cell coming to rest from a charging state will have a higher resting voltage than a cell that was previously being discharged—even at the same SoC. In some chemistries, this offset is small relative to the OCV–SOC slope and can be treated as a secondary correction. In LFP, however, the flat voltage plateau makes hysteresis a first-order contributor to resting-voltage-based SOC estimation. Furthermore, as Silicon and Silicon-infused anodes become commonplace, it’s more important than ever to properly account for hysteresis. The Silicon alloying reaction with Lithium leads to significantly more hysteresis than typically seen in graphite/Li intercalation. Understanding the importance of hysteresis based on system’s chemistry enables tailoring algorithm complexity to the use-case.
Cell SoC and SoH behavior is highly dependent on the application and environment the battery is being used in. There are two primary considerations: application load and application temperature.
SoC estimation is highly dependent on the end application’s expected load profile. A battery’s capacity is typically rated under a low discharge-rate load. However, as the load increases, a cell’s inherent internal resistance will mean that the cell will hit an undervoltage or over temperature condition faster. In effect, this means that what might have been 10% SoC under a low-load use case is actually 0% SoC under a higher load. Designing to this nominal capacity can lead to unacceptable SOC inaccuracy in the system. SoC has to be defined as remaining capacity in the expected use-case.
Similarly to how a battery’s capacity is highly dependent on load-profile, temperature will also affect the available capacity. As temperature decreases, battery capacity goes down. As temperature increases, it goes up. But, if temperature is too high, you might hit an over-temperature condition in the battery before the capacity is “used up”. Further compounding this, temperature vs capacity behavior is generally non-linear. Below a certain threshold (which varies battery-to-battery), capacity drops-off rapidly. Calibrating and understanding cell behavior and expected capacity at the full range of operation temperatures is essential.
Both load and temperature also affect SoH. Higher loads, especially in charge, will degrade the battery faster. Low temperatures during application, and again particularly during charge, will degrade the battery quickly. Additionally, higher temperatures, both during battery operation and in storage will lead to capacity loss and resistance rise.
The best way to design a BMS that will accurately predict the battery’s behavior is to properly characterize the battery and cells that the battery is predicting. The easiest source of that data is to get it from the supplier. Datasheets and technical support from the supplier are important pieces to the puzzle, but the reality is that supplier data requires careful scrutiny.
When a manufacturer provides performance data, they often don’t disclose exactly how that data was generated. I’ve seen cases where engineering teams accepted supplier information at face value, only to discover later that critical assumptions were misunderstood. Suppliers will also test their cells in the condition that makes them look best. That’s where independent testing comes in.
The only way to truly understand a battery’s performance is to test it yourself. At AppliedLogix, we have an in-house test lab. With this lab, not only can we verify supplier data, but we can also compare different cells to an objective standard.
Furthermore, supplier data rarely is perfectly geared to a customer’s end application. By testing cells ourselves, we can tailor the temperature, load profile, contact resistance, and/or system cooling to match the application. This testing enables much better inputs to SoC and SoH algorithms and prevents surprises during implementation into the system.
One of the developments I’m most excited about is the use of cloud computing and over-the-air data collection.
Many of the most powerful battery health estimation techniques are computationally intensive and therefore impractical to run directly on embedded hardware. By collecting operational data and processing it in the cloud, we can perform much more sophisticated analysis than would otherwise be possible.
This opens the door to better health predictions, improved degradation models, and continuous refinement of battery performance over time. As connected products become more common, I expect cloud-based battery analytics to play a major role in the future of battery management.
One lesson I’ve learned repeatedly is that there is no universal SoC or SoH solution.
Every battery application has unique requirements, operating conditions, load profiles, and performance expectations. The algorithms, hardware, testing strategy, and validation process must all be tailored to the application.
That’s why we start with a discovery-focused approach. Before selecting hardware or developing software, we work to understand the battery chemistry, operating environment, load profile, performance targets, timeline, and budget.
From there, we build a solution designed specifically for that application. Because we have the expertise and infrastructure to test any kind of chemistry’s OCV, hysteresis, resistance, and temperature response, we can design an algorithm for any chemistry. As chemistries less likely to be in an off-the-shelf BMS’s “standard database” like Sodium-Ion, LTO or Silicon-based anodes become common, we’re able to support them by utilizing our own algorithms and processes. Especially when working with proprietary sample cells from OEMs or startups, this algorithm development process allows us to develop SoC and SoH algorithms without having to send samples to external labs.
Ultimately, successful battery programs depend on three things: accurate data, application-specific algorithms, and close collaboration between engineering teams and customers. When these elements come together, we can achieve battery performance, reliability, and safety that customers can trust.
State of Charge (SoC) measures how much charge remains in a battery at a given moment, typically expressed as a percentage of available capacity. State of Health (SoH) measures the battery’s overall condition compared to when it was new, including factors such as capacity loss, resistance growth, and aging. Simply put, SoC tells you how much charge is left, while SoH tells you how healthy the battery is.
Many people assume SoC can be calculated simply by measuring the charge flowing into and out of the battery. In reality, sensor inaccuracies, temperature changes, battery chemistry, load conditions, and accumulated measurement errors all impact accuracy. Advanced Battery Management Systems (BMS) use multiple inputs and estimation techniques to improve confidence in SoC calculations.
State of Health helps determine a battery’s remaining useful life and expected performance. Accurate SoH estimation enables manufacturers and operators to predict degradation, reduce warranty costs, schedule maintenance, and ensure reliable battery operation throughout its lifecycle.
Temperature significantly impacts battery performance and degradation. Cold temperatures can reduce available capacity and power output, while prolonged exposure to high temperatures can accelerate battery aging. Effective BMS algorithms account for temperature when estimating both State of Charge and State of Health.
Inaccurate SoC estimates can lead to unreliable range predictions, unexpected power limitations, and poor user experiences. Inaccurate SoH estimates can result in premature battery replacement, increased warranty costs, reduced performance, or even accelerated battery degradation. Accurate battery state estimation is essential for both customer satisfaction and system reliability.
Fill out the form below and someone from the Re:Build AppliedLogix team will be in touch with you shortly.
Looking to connect with an experienced team?
Look no further than Re:Build AppliedLogix! We are excited to connect with you.