When using an Arduino or other prototyping board, many factors are optimized for the purpose of getting a project to run, not necessarily getting something to work in the most efficient way possible. In fact, if you were optimizing something for production, there are likely many components that you could leave off, and the amount of power the board uses could likely be improved. This might not be important if your gadget is plugged into the wall, but for a battery-operated toy or a remote sensor setup, power efficiency can mean the difference between charging something every day, and letting it run for months.
To this end, as seen the video below, hacker Jeremy Gilbert shows us how to optimize an Adafruit Pro Trinket to go from using 15 milliamps (mA) when not really doing anything to around .03ma — an astounding power draw reduction of 99.8 percent! What this means in practical terms is that if you’re powering one of these devices with a 105 milliamp hour (mAh) your theoretical battery drain time when not in use would go from around 10 hours to over 2600 hours (though the wake-up periods will likely shorten this number).
His procedure goes through a couple power-saving steps that can be applied individually, including a software solution that puts the processor to sleep, disabling the power LED, and finally disabling a resistor that was using power. On the other hand, there are a few drawbacks to his methods, including the obvious lack of a power LED, and the fact that the resistor helped with USB programming, meaning you’ll need to program via the FTDI header.
Toward the end of the video, he also points out an alternative called the Moteino, which runs at a much lower power consumption (5.8 micro Amps) than even he was able to pull off!