Arduino and XBee Battery Test Results

These are real-world battery life results for Arduino projects and XBee mesh networking radios. Use them to help choose which battery setup is right for your project.

All tests performed at room temperature with nominally fresh or fully charged batteries. Tests with multiple run times are intended to give a sense of the potential for variance in the results. Results were monitored in a Processing program that keeps track of the first and last time it receives bytes on the serial port. Download the Battery Tester program or read the code.

ARDUINO NG

PlatformRun TimesBattery InfoSpecifics and code links
Arduino NG with 9V Alkaline – Basic14 hours, 24 minutesDuracell Procell 9V Alkaline batteryRead one analog port every 500 ms, no sleeping
ATMEGA168 microcontroller transmitting one serial byte every 500 ms at 9600 baud
code
Arduino NG with 9V NiMH Rechargeable – Basic10 hours, 26 minutes
10 hours, 56 minutes
Rayovac 9V NiMH 170 mAh batteryRead one analog port every 500 ms, no sleeping
ATMEGA168 microcontroller transmitting one serial byte every 500 ms at 9600 baud
code
Arduino NG with 9V NiMH Rechargeable – LED blink4 hours, 19 minutesRayovac 9V NiMH 170 mAh batteryLED on pin 12, on for 500 ms and off for 500 ms.
ATMEGA168 microcontroller transmitting one serial byte every 1000 ms at 9600 baud
code
Arduino NG with 9V NiMH Rechargeable – LED strobe8 hours, 0 minutesRayovac 9V NiMH 170 mAh batteryLED on pin 12, on for 10 ms and off for 990 ms.
ATMEGA168 microcontroller transmitting one serial byte every 1000 ms at 9600 baud
code
Arduino NG with 9V NiMH Rechargeable – LED PWM4 hours, 29 minutesRayovac 9V NiMH 170 mAh batteryLED on pin 12, PWM to full brightness and back to zero every 1000 ms
ATMEGA168 microcontroller transmitting one serial byte every 1000 ms at 9600 baud
code
Arduino NG with 9V NiMH Rechargeable – Servo 1/2 rotation0 hours, 2 minutes – FAILURERayovac 9V NiMH 170 mAh batteryServo on pin 2, 1/2 range rotation every 1000 ms, servo powered directly from AA pack
ATMEGA168 microcontroller transmitting one serial byte every 1000 ms at 9600 baud
code
Arduino NG with 4 AA NiMH Rechargeable – Servo 1/2 rotation18 hours, 8 minutes4 AA NiMH 2500 mAh batteriesServo on pin 2, 1/2 range rotation every 1000 ms, servo powered directly from AA pack
ATMEGA168 microcontroller transmitting one serial byte every 1000 ms at 9600 baud
code
Arduino NG with 9V NiMH Rechargeable – XBee2 hours, 8 minutes
2 hours, 17 minutes
Rayovac 9V NiMH 170 mAh batteryArduinoXBee shield v1.1 with XBee Series 1, no sleeping
ATMEGA168 microcontroller transmitting one serial byte every 1000 ms at 9600 baud
code
Arduino NG with 9V NiMH Rechargeable – XBee SLEEPNOT TESTED YETRayovac 9V NiMH 170 mAh batteryArduinoXBee shield v1.1 with XBee Series 1, 1000 ms sleep
ATMEGA168 microcontroller transmitting one serial byte every 1000 ms at 9600 baud
<link to code>
Arduino NG with 1 AA NiMH Rechargeable – Basic10 hours, 52 minutes1 AA NiMH 2400 mAh with 5 Volt step-up circuitRead one analog port every 500 ms, no sleeping
ATMEGA8 microcontroller transmitting one serial byte every 500 ms at 9600 baud. Tested by Rory Nugent.
code
Arduino NG with 2 AA NiMH Rechargeable – Basic19 hours, 1 minute2 AA NiMH 2400 mAh with 5 Volt step-up circuitRead one analog port every 500 ms, no sleeping
ATMEGA8 microcontroller transmitting one serial byte every 500 ms at 9600 baud. Tested by Rory Nugent.
code
Arduino NG with 4 AA NiMH Rechargeable – Basic124 hours, 9 minutes178 hours, 13 minutes4 AA NiMH 2250 mAh
4AA NiMH 2500 mAh
Read one analog port every 500 ms, no sleeping
ATMEGA1688 microcontroller transmitting one serial byte every 500 ms at 9600 baud.
code

XBee

PlatformRun TimesBattery InfoSpecifics and code links
XBee Series 1 with AA Alkaline7 hours and 54 minutesDuracell Procell AA Alkaline battery with 3.3 Volt stepup circuitXBee using one analog channel connected to photocell and 10K resistor voltage divider circuit
No sleeping, transmissions every 50 ms, 9600 baud
Config on remote radio:
ATRE,ID3333,MYAA,DLBB,D02,IT1,IR32
XBee Series 1 with AAA Alkaline1 hour and 47 minutesDuracell Procell AAA Alkaline battery with 3.3 Volt stepup circuitXBee using one analog channel connected to photocell and 10K resistor voltage divider circuit
No sleeping, transmissions every 50 ms, 9600 baud
Config on remote radio:
ATRE,ID3333,MYAA,DLBB,D02,IT1,IR32
XBee Series 1 with 9V NiMH Rechargeable3 hours and 24 minutes
3 hours and 55 minutes
Rayovac 9V NiMH 170 mAh batteryXBee using one analog channel connected to photocell and 10K resistor voltage divider circuit
LM1086 low dropout voltage regulator
No sleeping, transmissions every 50 ms, 9600 baud
Config on remote radio:
ATRE,ID3333,MYAA,DLBB,D02,IT1,IR32
XBee Series 2 with AA Alkaline0 hours and 0 minutes – FAILUREDuracell Procell AA Alkaline battery with 3.3 Volt stepup circuitXBee using one analog channel connected to photocell and 10K resistor voltage divider circuit
No sleeping, transmissions every 50 ms, 9600 baud
Config on remote radio:
ATRE,ID3333,MYAA,DLBB,D02,IT1,IR32
XBee Series 2 with 9V NiMH Rechargeable3 hours and 21 minutes
3 hours and 0 minutes
Rayovac 9V NiMH 170 mAh batteryXBee using one analog channel connected to photocell and 10K resistor voltage divider circuit
LM1086 low dropout voltage regulator
No sleeping, transmissions every 50 ms, 9600 baud
Config on remote radio:
ATRE,ID3333,MYAA,DLBB,D02,IT1,IR32
XBee Series 1 with AA Alkaline – 1/2 Sleep15 hours and 12 minutesRiteAid Procell AA Alkaline battery with 3.3 Volt stepup circuitXBee using one analog channel connected to photocell and 10K resistor voltage divider circuit
500ms sleep, 500ms awake, transmissions every 1000 ms, 9600 baud
Config on remote radio:
ATRE,ID3333,MYAA,DLBB,D02,IT1,IR1F4,SM5,SP32,ST1F4
XBee Series 1 with AA Alkaline – 98% Sleep107 hours and 1 minuteRiteAid Procell AA Alkaline battery with 3.3 Volt stepup circuitXBee using one analog channel connected to photocell and 10K resistor voltage divider circuit
1000ms sleep, 20ms awake, transmissions every 1000 ms, 9600 baud
Config on remote radio:
ATRE,ID3333,MYAA,DLBB,D02,IT1,IR64,SM5,SP64,ST14
XBee Series 1 with AA Alkaline – Full Sleep117 hours and 38 minutesRiteAid Procell AA Alkaline battery with 3.3 Volt stepup circuitXBee using one analog channel connected to photocell and 10K resistor voltage divider circuit
1000ms sleep, 1ms awake, transmissions every 1000 ms, 9600 baud
Config on remote radio:
ATRE,ID3333,MYAA,DLBB,D02,IT1,IR64,SM5,SP64,ST1
XBee Series 1 with AAA Alkaline – Full Sleep26 hours and 36 minutesDuracell AAA Alkaline battery with 3.3 Volt stepup circuitXBee using one analog channel connected to photocell and 10K resistor voltage divider circuit
1000ms sleep, 1ms awake, transmissions every 1000 ms, 9600 baud
Config on remote radio:
ATRE,ID3333,MYAA,DLBB,D02,IT1,IR64,SM5,SP64,ST1
XBee Series 1 with 2450 Li-ion coin cell – accelerometer1 hour, 10 minutes1 hour, 18 minutes2450 3.6 volt rechargeable Lithium Ion coin cellXBee using three analog channels connected to an ADXL3xx accelerometer
No sleeping, transmissions every 12 ms, 9600 baud
Config on remote radio:
ATRE,ID1967,BD7,MY1,DL2,D02,D12,D22,IT1,IRC
XBee Series 1 with 2450 Li-ion coin cell – accelerometer -Full Sleep17 hours, 40 minutes450 3.6 volt rechargeable Lithium Ion coin cellXBee using three analog channels connected to an ADXL3xx accelerometer
Sleeping, transmissions every 1000 ms, 9600 baud
Config on remote radio:
ATRE,ID1967,BD7,MY1,DL2,D02,D12,D22,IT1,IR64,SM5,SP64,ST1
XBee Series 1 with 2 NiMH AA – Figaro 2620 Gas Sensor4 hours, 58 minutes2 AA NiMH 2500 mAh batteries with 5 Volt stepup circuitXBee using one analog channels connected to an Figaro 2620 gas sensor
No sleeping, transmissions every 1000 ms, 9600 baud
Config on remote radio:
ATRE,ID1967,BD3,MY1,DLFFFF,D02,IT1,IR64

9 Responses to “Arduino and XBee Battery Test Results”


  • wow, thanks for posting these tests, the data is super helpful!

  • Great stuff here. I found your site looking for information on XBees as I am currently working on a Senior Project at Western Carolina University. We plan to use XBees to wirelessly activate LEDs, so we would have a reciving unit running on batteries.

    I was curious if you have done any research on how the XBees do running on a Li-Ion battery while on a Arduino Fio unit? I ask this b/c we are considering using the Fio as a solution to needing a microcontroller and Xbee in one package.

    Thanks,
    -Justin Bennett

    • Lithium Ion batteries should work fine. I’ve had success with these. Ideally you would regulate the voltage down to 3.3 V but in practice the XBee has run successfully with the somewhat higher voltage that these batteries typically supply.

  • Hi, i’m just wondering if NiMH rechargeable batteries would work on the arduino fio? Thanks.

  • Great results, but I am a bit surprised about the failure of 4AA and servo. I’ve used this setup, works well. What happened?

  • Hi Rob,

    Thanks very much for the data, very useful!

    Have you discovered why your test with the Series 2 XBee powered from an AA battery didn’t work? I am currently undertaking a Masters project at university in the UK and am looking into potential long term power sources for an XBee/Arduino set up.

    Thanks in advance,

    Joby

    • No, and it’s probably worth checking again. But the step-up circuit is fairly wasteful, I’d prefer to do two AA batteries and know that the Series 2 (ZB) will run fine on that for a decent amount of time.

  • Hello… I connented the humidity sensor HIH4030 and the TMP36, as analog inputs, to the xbee 1mW. I send one packet every 5minutes. I want to use Lithium Ion batteries, but i don’t know how to calculate how mAh I need and how long the battery will last… How can I calculate them theoritically? Thank you in advance!

Leave a Reply

You must login to post a comment.