How to reduce Arduino Uno power usage by 95%

Sometimes you have to use an Arduino UNO, instead of something more efficient like an Arduino Pro Mini — maybe you’re using an Arduino shield…

Sometimes you have to run that same project from battery power, and every milliAmp counts…

Sometimes that means that you’ll have to adjust the UNO to be much more power efficient, so you pick up a sharp scalpel, bring over the big loupe, and warm up the fine tipped soldering iron…

The post formed part of development work performed for the Environment Agency. It has been re-published here with their kind permission, as part of the project commitment to open source development.

The Arduino UNO is designed as a development board, instead of a specific low power device, it is built with several design choices that mean it uses more power that the minimum necessary.

TL;DR
To reduce the overall power usage of the Arduino UNO board significantly:
replace the linear regulator with a DC-DC converter,
adjust the USB-to-Serial circuit so it’s only powered from the USB port,
cut out (or desolder) the always-on LED’s on the board,
use the processor sleep mode.
Using on-board circuit changes, selective replacement of components and the use of microcontroller sleep mode can reduce the continuous idle power usage of an Arduino UNO to only 5% of the default draw.

Experimental Set Up
Current measurements were made using the blink sketch that forms part of the standard Arduino Optiboot bootloader. This ensures the results are comparable across any board, and may be tested on other controllers using the default sketch. Additionally, a blink sketch is available in the examples provided with the Arduino IDE, and can be loaded on to a board without any additional software libraries.

Current measurements were all made the same way, with the same equipment. A “µCurrent Gold” was inserted between the 12V supply and the DC jack on the Arduino UNO on the 12V line. The same DC supply was used for all tests, a PowerPax SW4298D 12V, 2A mains to DC supply.

The µCurrent Gold is a precision current adaptor converts the current measurement across a sense resistor and amplifies the voltage to provide very accurate measurements (±0.1%) with very low voltage drop on the input (20µV/mA) to minimise the supply change. The output signal is 1mV/mA, so it can be read manually as milliAmps with a multimeter on the milliVolts range.

Initial readings were taken over several cycles and averaged to give a single value, and values are given for both the built-in LED off and LED on condition during the LED blink sketch.” - Link