April 9, 2013

Arduino Pro Mini low power modification

In this post I use an Arduino ProMini 5V 16 MHz MEGA328 powered by an external 5 V source. My application will run on a small battery so I need to minimize the power consumption. I measured the board to consume about 16 mA in normal operation.

My application can be in sleep mode until an event occurs. This is how to enter sleep mode: set_sleep_mode(SLEEP_MODE_PWR_DOWN); sleep_enable(); sleep_mode();

Make sure to used this include:#include <avr/sleep.h>

Wake-up from sleep mode is done with an interrupt. That part is not covered in this post. In sleep mode I measured the current consumption to be 476 uA (microampere). To improve this is I did the following:

Disabled the power on LED by removing the current limiting resistor. It got down to 152 uA.

Removed the unused on board 5 Volt regulator to avoid leakage. This resulted in 136 uA.

The picture below shows the positions of the components that I have removed.

The battery that I will use is a 3.7 V 230 mAh Li-Po regulated by a TI TPS61200 Boost Converter. With an assumed efficiency of 90% I get 230 * (3.7 / 5) * 0.9 = 153 mAh. This gives the theoretical time of operation:

Conclusion: The improvement of the modification is about 3.5 times longer standby time in sleep mode. I was hoping for a month of standby time so with the improvements it should be enough for my design.