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 |