In summary, optimizing your project for low power usage and long battery life is a matter of measuring and reducing current consumption. A multimeter or INA219 breakout are great tools for measuring current consumption. Using processor sleep modes and removing unnecessary current drains from hardware can help greatly reduce current consumption. It's possible to build projects which run for days or even months on batteries!

For more information on reducing power consumption, check out the following links:
  • Power saving techniques for microprocessors. This is a great guide to reducing power consumption on an Arduino project that covers many of the power saving techniques used in this guide.
  • Sleeping Arduino. This is a good series of blog posts that dive into the various sleep modes of the Arduino's processor.
  • ATmega328P datasheet. Go straight to the source for information how low power sleep, watchdog, and other power saving functions of the Arduino processor work. Check out section 9 in particular for low power features.
This guide was first published on Feb 13, 2014. It was last updated on Feb 13, 2014. This page (Summary) was last updated on May 04, 2015.