My Application Needs Accurate Fuel Gauging—What Options are Available?

Feb. 7, 2024
Inexpensive methods to measure battery energy can result in low precision measurements, and techniques to increase precision often add complexity and cost. One alternative uses a software algorithm that provides reliable battery-capacity measurement.

Members can download this article in PDF format.

What you’ll learn:

  • Three ways to implement a battery fuel gauge.
  • How to perform DIY battery profiling.


Users of battery-powered products demand accurate cell fuel gauging so that they can conveniently plan recharges. But there’s a second, less obvious, reason for precise battery energy measurement: Inaccuracy leads to bad user experiences such as a product suddenly failing while still indicating to the user there’s some runtime left.

To avoid this situation, vendors often add safety margins that force the user to charge the product sooner than needed. That’s not only inconvenient, but it also creates the impression that the product has a shorter battery life when it's not the case. And while charging a consumer product like a wearable more often than required is one thing, in an industrial context, where there might be hundreds or even thousands of battery-powered devices, frequent unnecessary charging is quite another.

Until now, developers were faced with a dilemma: Should they contain costs by using an inexpensive fuel-gauge method and risk consumer disappointment, or add design complexity, PCB real estate, and expense with a more accurate fuel gauge? Now, however, there’s a third option—a software-based solution that promises high precision without the added complexity and cost of dedicated hardware solutions.

The Inexpensive Way: A Voltage-Based Lookup Table

There are two established techniques for estimating how much energy is left in a rechargeable battery, and each comes with pros and cons.

Let’s first consider the inexpensive approach—the voltage-based lookup table. This method is simple and low cost to implement, which is why most designers tend to use it.

It’s a case of measuring the battery’s terminal voltage and software and then referring to a lookup table derived from the cell’s discharge curve (Fig. 1). The measured voltage is mapped to a battery state-of-charge (SOC) figure and reported to the user. While this sounds good in principle, when you look closer, several inherent problems pop up.

The first challenge comes with varying battery load. Since the battery is an integral part of the circuit, it’s impossible to measure the open-circuit voltage of the battery’s terminals. This means there will always be some voltage drop across the cell’s internal resistance depending on how much power is delivered by the battery. In other words, the measured voltage will be lower than the actual voltage.

For an application such as a Bluetooth speaker, which will exhibit great variations in power consumption, the calculated SOC could be much lower than reality. Worse yet, the SOC error can't be estimated since there’s no way of knowing the battery load when the sample was taken.

Second, SOC measurements are influenced by temperature. The internal resistance of a rechargeable lithium battery varies greatly with temperature. That means temperature fluctuations amplify the SOC inaccuracies imposed by battery load.

The third challenge is that the middle portion of the discharge curve is almost flat. For the battery (Fig. 1, again), the battery voltage drops only 80 mV or 2% from an 80% to 20% SOC. This means that even without considering the effects mentioned above, it’s very difficult to determine the SOC across this part of the discharge curve. If we do try to take battery load and temperature effects into account, it becomes almost impossible.

The Accurate Way: A Dedicated Fuel-Gauge Chip

Until now, the dedicated fuel-gauge chip has been the only way to achieve precise battery SOC for embedded applications. Many of these dedicated fuel-gauge chips employ a so-called coulomb counter. It's a circuit that accurately measures the battery current and then pairs this information with battery voltage measurements to keep track of how much energy is drawn or added to the battery. SOC precision is significantly enhanced compared to the voltage-based lookup table, but there are some tradeoffs.

First, the chip adds cost to the bill of materials (BOM) and consumes PCB area; it also requires the support of several passive components. Second, the dedicated chip increases the product’s power consumption. The chip must be active when current is drawn from the battery, which happens even when the system is in sleep mode.

While the measurement interval can be extended during sleep, even in the lowest power modes, a dedicated fuel-gauge chip can increase system sleep current by as much as an order of magnitude in an otherwise power-frugal Bluetooth application.

Third, to transform the battery current and voltage measurements into an accurate SOC estimate, the system needs accurate information on the battery characteristics during charging and discharging. This "battery profiling" is typically done as a service by the fuel-gauge chip vendor and requires the designers to ship some samples of the battery to the vendor and wait several weeks for the results.

The drawbacks of both these common solutions for SOC measurement can make it hard for designers to choose one solution over the other. But now there’s a third option that addresses the disadvantages of both these conventional approaches.

A New Approach: SOC Precision Without Adding Cost or Power Consumption

The company I work for, Nordic Semiconductor, recently announced the nPM1300 power-management IC (PMIC). The PMIC optimizes the power consumption of the company’s Bluetooth LE systems-on-chips to maximize battery life. Error! Hyperlink reference not valid.

The PMIC doesn’t directly measure battery SOC. It's not equipped with a coulomb counter or other complex hardware that would add to the cost or power consumption of the product. Rather, the PMIC has hardware hooks that enable a host processor to measure three vital battery parameters: voltage, current, and temperature. Nordic Semiconductor then provides a free-of-charge fuel-gauge algorithm as a part of the software driver library for the nPM1300. The cost to the developer is a few kilobytes of flash memory to store the algorithm code.

The code does slightly add to the product’s power consumption. However, while the algorithm runs once per second in active mode, it doesn't need to run during system sleep mode. Therefore, the overall increase in power consumption is minimal compared to dedicated fuel-gauge chips. When the system wakes up, the algorithm can determine how much net energy was lost or added while the system was in sleep mode (Fig. 2).

The Benefits of a Mathematical Battery Model

How does the Nordic's method compare to the traditional alternatives? To answer that question, we ran some benchmark tests comparing its new technique against the voltage lookup table approach, and then against a Keysight N6705B DC Power Analyzer set up to work as a calibrated coulomb-counter reference. The load pattern used throughout the test was a train of current pulses alternating between 55 and 80 mA with about 10 mA of current consumption in between those pulses.

In the upper diagram of Figure 3, the voltage lookup table and the nPM1300 PMIC methods are plotted against the coulomb-counter reference. In the middle diagram, the reference is subtracted, hence showing the absolute error of the voltage lookup table and the nPM1300 solution, respectively. The voltage lookup table yields errors of up to 20% with a large spread that represents the variations introduced by the series internal resistance of the battery and the variations in current draw.

In comparison, the nPM1300 PMIC and algorithm show a maximum deviation from the reference of approximately 3%, which is comparable to what's achieved by a decent dedicated fuel-gauge chip (Fig. 3, again).

Temperature fluctuations amplify the weaknesses of the voltage lookup table method because of the impacts on battery internal resistance discussed above (Fig. 4). At −5°C, the voltage lookup table exhibits between 10% and 30% error depending on current draw, whereas the error of the nPM1300 PMIC plus algorithm is at worst 5% and typically under 2%. This is again comparable to that achieved by dedicated fuel-gauge chips.

DIY Battery Profiling

The nPM1300 PMIC and algorithm, in common with dedicated fuel-gauge chips, requires battery profiling. However, unlike other suppliers, Nordic provides designers with ability to do this in house, eliminating the time and expense of sending the batteries to an external agency for profiling. 

The company's nPM PowerUP PC app, which is part of its nRF Connect for Desktop development tools suite, is a GUI-based tool for evaluating and development of the company’s PMICs. It allows designers to evaluate and configure the products and export configuration code. Within the configuration scope, nPM Power UP also supports battery profiling, enabling a developer to build an accurate model of the battery for the fuel-gauge algorithm in house.

The battery to be profiled is plugged into an nPM1300 evaluation kit and in turn is connected to Nordic’s dedicated Fuel Gauge board that enables a constant current draw from the battery. Then it’s just a case of clicking on the “Profile Battery” in the nPM PowerUP tool (Fig. 5). This instruction initiates a slow discharge-rest-discharge-rest sequence customized to the battery, which is closely monitored to build the battery model.

The procedure should be repeated at three different positive temperatures (for example, +5, +20, and +40°C) to ensure accurate fuel gauging across the product’s likely operational temperature range. Once complete, the fuel-gauge algorithm contains a mathematical model of the battery that will yield the typical accuracies shown in the previous section. The battery profile can then be exported from the tool into the nPM1300 PMIC’s configuration file. Nordic's application note "Using the nPM1300 Fuel Gauge" details how to do this operation.

Targeting the Best Fuel-Gauge Solution

Selecting a fuel-gauge solution that satisfies end customer demand for accuracy is a difficult task since it adds cost and complexity to the product and increases power consumption. Hence, designers often go with the cheaper voltage lookup table option and then build in a safety margin, forcing consumers to charge more frequently than needed.

The SOC measurement method eliminates the drawbacks of the two most common fuel-gauge solutions and makes the choice easier for designers.


To join the conversation, and become an exclusive member of Electronic Design, create an account today!