How do I calculate battery life of Arduino and XBee project? Here's my information:

  1. Battery's voltage: 3.6, capacity: 780 mAH
  2. Current draw of Arduino + XBee when sleeping = 28,5 mA
  3. Current draw of Arduino + XBee when wake up + transmitting data = 66,6 mA
  4. I have sleep cycle 7.5 seconds, so every 7.5 seconds will wake and polling data for 100 milliseconds

How can I predict my battery's life?


The device is not sleeping 1.3% of the time. \$ 66 \times 0.013 + 28.5 \times 0.986 = 28.9mA\$ average load. \$\dfrac{780mAh}{28.9mA} = 27 \; hours\$, assuming you get every ounce of the 780mAh out of your battery. You should probably derate that number by at least 20%.

  • \$\begingroup\$ Thank you for quick answer. But, excuse me, how do you get precentage of time (1.3% and 0.983%)? \$\endgroup\$ – oentoro Jun 6 '13 at 2:37
  • 3
    \$\begingroup\$ @cakil - it's the ratio of awake time to sleep time. The MCU is awake for 100 ms, and sleeps for 7500ms : \$\frac{100}{7500} = 0.013333...\$, Then, \$1-0.01333... = 0.98666666...\$. Note that there is a minor math error, 0.983 should be 0.986. \$\endgroup\$ – Connor Wolf Jun 6 '13 at 3:13
  • 3
    \$\begingroup\$ I came across this answer today and although it is a fairly old post, I think there might be an error in the answer. You have to add the 100 ms in the denominator of the calculation of the ratio of awake vs. not. awake percentage = .1 / 7.6 = 1.33% vs 1.32% I know it is not much of a difference in this particular posting, but if the value of awake vs. asleep gets closer to one another, it will make a difference. \$\endgroup\$ – user46611 Jul 1 '14 at 22:14

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.