Not all batteries are made equal. Also well known that alkaline batteries are beating traditional zinc-carbon batteries in terms of output power and capacity. But how are really good these batteries? And are alkaline batteries better than their rechargeable counterparts?

Let's test some set of AA type alkaline batteries side by side with Ni-MH rechargeable batteries of same type (Sanyo Eneloop 1800mAh and Varta Ready2Use 2100 mAh). To measure discharge characteristics we will use well known IMAX B6 intelligent charger connected to Raspberry Pi single board computer.

All batteries are discharged by constant current (200mA) down to 0.8V. And below are discharge curves:

So alkaline batteries results are not so good as they are promoted by vendors! Despite to higher voltage in beginning (1.6...1.75V vs 1.3...1.45V), under load some time later alkaline battery voltage is falling below voltage of rechargeable battery.

Battery capacitance could be calculated from area under the discharge curve by integration, and multiplied by discharge current will result in total outputted energy (in joules):

Battery Energy, J Capacity, mAh
Panasonic Alkaline 6046.96 1442
Panasonic Everyday 6830.7 1637
Energizer Plus 7328.21 1798
Duracell Turbomax 7395.7 1773
Sanyo Eneloop 7513.83 1743
Panasonic Pro 7703.3 1853
Energizer Maximum 8310.02 2001

Last column is capacity of battery measured by charger (in mAh).

So, we can make some conclusions:

• Alkaline batteries are not so great. Only expensive ones have capacitance comparable to their rechargeable counterparts.
• More mAh isn't more capacity in terms of total energy (compare Duracell Turbomax and Sanyo Eneloop results).
• Alkaline batteries are well suited for low consumption devices (like remote controls, clocks, etc) and for extended temperature range devices (like outdoor sensors). If your device is high current and is not subject of low temperatures - rechargeable Ni-MH battery is your choice.

Charger data was logged by modified Niobos perl script running under Raspbian Linux. USB port was switched to 9600 8N1 raw mode using stty command:
$stty -F /dev/ttyUSB0 cs8 -cstopb -ixon raw speed 9600  Text log file was created while battery discharging by command $ b6_decode.pl < /dev/ttyUSB0 | tee out.txt

Resulting .txt files were transformed to .dat files with layout suitable to drawing graphs using gnuplot utility. Outputted energy was calculated by estimate_energy.sh script.