What are some simple ways to reduce Arduino power usage?

My first step would be to identify what is using most of the power/current and address that.

I often see these questions about reducing power consumption / increasing battery life on this site they often mention the general solution you already list and which are listed in other answers.

For example I agree that reducing the supply voltage of a microcontroller reduces power consumption. However, if the uC is mostly in sleep mode and only active 1% of the time then reducing the consumed power is only of relevance if the uC takes a significant (for example more than 20%) of the total power budget.

If for example your temperature sensors are on continuously at 1 mA each that's 2 mA total at 100%. Compare that to a uC being active 1% of the time at 10 mA gives an average of 1% * 10 mA = 0.1 mA so 20 times less.

So the conclusion there would be to duty cycle the temperature sensors. Make the uC switch them on/off (or their supply, perhaps you can simply supply the Vdd of the temp. sensors from an I/O pin on the uC). Even if the temp sensors are only stable after having a supply voltage for 5 seconds that would still help significantly if you do a temperature measurement once per minute.

I usually make a table with time active (in %, so basically that is the duty cycle), current consumption and the effective average current (which is simply the product of those two). That helps me identify where the current/power is going and that tells me how I can improve it.

Concerning the step-up converter: you might not need it if all components can also run on 3.5 - 4.2 V. The ATmega chip can, some can even work at 1.8 V (you might have to change the "Brown Out" voltage in the fuse settings though). Some step up converters have a low quiescent current (current drain when the current at 5 V is zero) but not all do.

Most circuit designers like to have a stable supply voltage, say 3.3 V. However, most chips actually don't care! As long as it is in their usable range. For high accuracy / low noise things might be different of course. My point: you don't always need a stable/regulated supply voltage. Removing that LDO / step up converter can save a bit of current.


Reduce the voltage. The ATmega can run at less than 5V, or 3.3V. The less you need to boost the voltage to, the lower your power draw. But you should also look at the regulator efficiency at different input to output voltages.

Remove the leds. The OLED screen may be significantly power conservative enough to not need changing.

Use sleep states. Put the device to the lowest sleep state you can as often as possible.

Remove the Arduino code, as it isn't exactly ideal for this, use the direct code for the microcontroller. All those libraries add overhead that increase your on time and processing power.