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 |
Pingback: Wireless Sensor Networks » Blog Archive » Arduino and XBee Battery Test Results
Pingback: things to look at (September 20th - October 26th) | stimulant - changing things around. . .
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.
Pingback: The battery issue « Ray O'Neill BA Project
Great results, but I am a bit surprised about the failure of 4AA and servo. I’ve used this setup, works well. What happened?
Sorry, typo, I meant the 9V setup. That should have worked, shouldn’t it?
Pingback: Choosing the right sensor system for a dancer « drums.and.electronics
Pingback: An Idiot and an Arduino: Power Pause « ~jmoskie
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!
Pingback: Arduino and xbee battery test results - Rhubot