Arduino and XBee Battery Test Results

Bookmark and Share

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

Platform Run Times Battery Info Specifics and code links
Arduino NG with 9V Alkaline – Basic 14 hours, 24 minutes Duracell Procell 9V Alkaline battery Read 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 – Basic 10 hours, 26 minutes
10 hours, 56 minutes
Rayovac 9V NiMH 170 mAh battery Read 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 blink 4 hours, 19 minutes Rayovac 9V NiMH 170 mAh battery LED 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 strobe 8 hours, 0 minutes Rayovac 9V NiMH 170 mAh battery LED 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 PWM 4 hours, 29 minutes Rayovac 9V NiMH 170 mAh battery LED 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 rotation 0 hours, 2 minutes – FAILURE Rayovac 9V NiMH 170 mAh battery Servo 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 rotation 18 hours, 8 minutes 4 AA NiMH 2500 mAh batteries Servo 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 – XBee 2 hours, 8 minutes
2 hours, 17 minutes
Rayovac 9V NiMH 170 mAh battery ArduinoXBee 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 SLEEP NOT TESTED YET Rayovac 9V NiMH 170 mAh battery ArduinoXBee 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 – Basic 10 hours, 52 minutes 1 AA NiMH 2400 mAh with 5 Volt step-up circuit Read 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 – Basic 19 hours, 1 minute 2 AA NiMH 2400 mAh with 5 Volt step-up circuit Read 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 – Basic 124 hours, 9 minutes178 hours, 13 minutes 4 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

Platform Run Times Battery Info Specifics and code links
XBee Series 1 with AA Alkaline 7 hours and 54 minutes Duracell Procell AA Alkaline battery with 3.3 Volt stepup circuit XBee 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 Alkaline 1 hour and 47 minutes Duracell Procell AAA Alkaline battery with 3.3 Volt stepup circuit XBee 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 Rechargeable 3 hours and 24 minutes
3 hours and 55 minutes
Rayovac 9V NiMH 170 mAh battery XBee 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 Alkaline 0 hours and 0 minutes – FAILURE Duracell Procell AA Alkaline battery with 3.3 Volt stepup circuit XBee 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 Rechargeable 3 hours and 21 minutes
3 hours and 0 minutes
Rayovac 9V NiMH 170 mAh battery XBee 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 Sleep 15 hours and 12 minutes RiteAid Procell AA Alkaline battery with 3.3 Volt stepup circuit XBee 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% Sleep 107 hours and 1 minute RiteAid Procell AA Alkaline battery with 3.3 Volt stepup circuit XBee 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 Sleep 117 hours and 38 minutes RiteAid Procell AA Alkaline battery with 3.3 Volt stepup circuit XBee 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 Sleep 26 hours and 36 minutes Duracell AAA Alkaline battery with 3.3 Volt stepup circuit XBee 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 – accelerometer 1 hour, 10 minutes1 hour, 18 minutes 2450 3.6 volt rechargeable Lithium Ion coin cell XBee 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 Sleep 17 hours, 40 minutes 450 3.6 volt rechargeable Lithium Ion coin cell XBee 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 Sensor 4 hours, 58 minutes 2 AA NiMH 2500 mAh batteries with 5 Volt stepup circuit XBee 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.