Internal impedance/resistance of batteries

One parameter that is sometimes used when talking about batteries is the internal impedance/resistance. The difference between impedance and resistance is that impedance is for AC and resistance is for DC. Not all people are aware of this difference and might use the wrong term.
In this article I have split impedance and resistance into different chapters, but first something about measuring small resistances/impedances.


I will use two LiIon batteries for examples, but the technique and math can be used for any type of battery.
The green one (NCR18650A) is fairly new and has a low resistance/impedance.
The red one (AW IMR16340) is old and has a high resistance/impedance.

Measuring basic

Internal impedance is in the milliohm range, i.e. between 0.001 ohm and 1 ohm. This is a low value to measure and requires special technique. As a comparison a good quality DMM probe has 20 to 30 mohm (milliohm).
The two examples I show below is only for one battery pole, it is necessary to connect both battery poles!


The best way to measure these low impedances, is to split current and voltage into separate cables and contact points. I.e. use one set of wires for the voltage measurements and another set of wires for the load current.
The problem is that no people has four hands and it is very difficult to connect with only two hands. Professional equipment usual has a rig that can handle this. For some purposes it is also possible to use kelvin clips (That is a special alligator clip, where the two parts of the clip each has a wire connected).
This connection will eliminate both contact resistance and any voltage drop in the probes and cables.


A more practical way to measure, is to use one contact point, with two wires connected. In the above picture I have done it with test leads. This will give a small error due to contact resistance and voltage drop in the probe tip. To minimize that I have the current wire closest to the battery.
This connection can add a few milliohms to the measurement, depending on how it is made.

Resistance (DC)

Resistance is a DC measurement, this is usual measured by one of two methods, that both requires the same setup.
The resistor is selected to give a current in the actual working range for this battery, it will probably have to be a power resistor.


When measuring with load connected, do not wait for a stable value, that might not occur before the battery is empty!

First method

In this method the battery voltage is first measured without the resistor connected, then the resistor is connected and the voltage is measured again, the internal resistance is calculated with this formula:

Resistance = (volt_no_load - volt_at_load) * load_resistance / volt_at_load
load_current = voltage_at_load / load_resistance -> load_current
Resistance = (volt_no_load-volt_at_load) / load_current

Second method

With this method both measurements are made with a load on the battery, this makes it possible to measure the resistance closer to the actual working point.

The formula to calculate resistance is this.
Note: measurement 1 is the high resistance, i.e. low current measurement.

current1 = voltage1 / resistance1
current2 = voltage2 / resistance2
Resistance = (voltage1 - voltage2) / (current2 - current1)

Examples DC


At no load: 4.1399


At 10 ohm load: 3.9987 volt -> 3.9987/10 -> 0.39987 ampere


At 5 ohm load: 3.8661 volt -> 3.8661/5 -> 0.77322 ampere

Internal resistance no load to 10 ohm: (4.1399-3.9987)/0.39987 -> 0.353 ohm
Internal resistance no load to 5 ohm: (4.1399-3.8651)/0.77322 -> 0.355 ohm
Internal resistance 10 ohm to 5 ohm: (3.9987-3.8661)/(0.77322-0.39987) -> 0.358 ohm


At no load: 4.1940


At 10 ohm load: 4.1466 volt -> 0.41466 ampere


At 5 ohm load: 4.0969 volt -> 0.81938 ampere


At 2 ohm load: 3.9831 volt -> 1.99155 ampere

Internal resistance no load to 10 ohm: (4.1940-4.1466)/0.41466 -> 0.114 ohm
Internal resistance no load to 5 ohm: (4.1940-4.0969)/0.81938 -> 0.118 ohm
Internal resistance no load to 2 ohm: (4.1940-3.9831)/1.99155 -> 0.106 ohm
Internal resistance 10 ohm to 5 ohm: (4.1466-4.0969)/(0.81938-0.41466) -> 0.123 ohm
Internal resistance 5 ohm to 2 ohm: (4.0969-3.9831)/(1.99155-0.81938) -> 0.097 ohm
Internal resistance 10 ohm to 2 ohm: (4.1466-3.9831)/(1.99155-0.41466) -> 0.104 ohm

More about internal resistance


The internal resistance show how the voltage will drop when the battery is loaded. The slope of the yellow line is the internal resistance of the battery in the above chart. I.e. the single number, that is the internal resistance, can show the same as the above chart.


Lets try another battery, here I have added 3 yellow lines to show 3 different value of the internal resistance in the same battery, i.e. it changes with load, especially when the load is too high for the battery.

The internal resistance will change with temperature (decreases with increasing temperature), battery age (Increases with age), but also with charge on the battery (Increases when the battery is nearly empty).

What can it be used for

Keeping track of internal resistance on a battery will make it possible to see when the battery is getting too old, because the internal resistance will increase.

When designing with batteries, the internal resistance is also useful to estimate voltage drop from the battery, depending on load.

Impedance (AC)

Impedance is a AC measurements and the custom is to use 1000 Hz (1 kHz) for batteries. This makes it impossible to measure with an ordinary DMM.
The impedance is considerable lower than the resistance as can be seen in these measurements.

Lab setup

In a electronic lab there will usual be the necessary equipment to measure the impedance.


Because the impedance is measured at 1000 Hz a generator is needed.
Because I do not want a DC load on the battery or DC into my generator, I have added a capacitor in series with the generator, the actual value is not important, somewhere in the 5uF to 1000uF range will be fine.
I do also need a resistor in series with the generator, this resistor is used for comparison to the internal impedance of the battery, I have select 0.5 ohm.
Then I need one or two mV AC DMM's, one is enough, because it can be moved between the two measurement points, two DMM's is for the lazy people. This DMM must be able to measure 1000 Hz AC!

To calculate the impedance:

Impedance = voltage_battery / voltage_resistor * resistor


Here is the actual setup.

Examples AC


AC across battery: 4.566 millivolt
AC across 0.5 ohm resistor: 15.100 millivolt

Impedance is: 4.566/15.100*0.5 -> 0.151 ohm


AC across battery: 1.513 millivolt
AC across 0.5 ohm resistor: 15.123 millivolt

Impedance is: 1.513 / 15.123 * 0.5 -> 0.050

Impedance meter

For people that need/want to measure impedance frequently, it is possible to buy a meter that replaces all of the above setup.


A new IMR16340 battery is about 31 milliohm (Measured on a Efest IMR16340).


What can it be used for

The AC impedance has mostly the same usage as the DC resistance, but with a impedance meter it is much easier to measure, even in a circuit (Like on a mounted car battery). Measuring in circuit will give an error, but as long as the battery load is light, the error will be small.

The usages are:
Keeping track of internal impedance on a battery will make it possible to see when the battery is getting too old, because the internal impedance will increase.



This is a homemade resistance box, it is very useful for many load tests. Inside is some power resistors:


Using the power resistor stand alone would limit the power and make it more difficult to connect to the resistor.
I do use 50 watt resistors in the box, but 20 minutes with 25 watt will heat the box to 80C.


My usual DMM's that can easily measure mV AC at 1000 Hz.


A capacitor with easy connection.


SM8124 battery impedance meter. This is a cheap meter at about $40.
The precision is acceptable, notice it uses two wires to each probe, but the input protection is very bad according to the instruction sheet (Do not swap + and - probes).


A function generator, that can do just about any type of curve. In this case here I only need a sinus at 1 kHz.