Kenny's Blog

31 Mar 2021

Low power arduino

If you’re interested in using the arduino/atmega328p platform in low power applications, here are the tips I’ve collected over the years:

  1. don’t use the arduino uno
  2. run at 3.3v
  3. use a pro mini (there’s a 3.3v regulator)
  4. use a LDO, low quiescent regulator
  5. remove the LEDs on the pro mini
  6. use low power sleep mode

There’s an article from sparkfun that goes over some of this, but it does mention using a switching regulator instead of using a linear regulator with a low dropout and low quiescent current. The latter is useful for low power applications where you need to keep stuff alive for months/years.

An article on home-automation-community discusses this but their website appears to be down, so you have to check waybackmachine for this one:

Measuring low current

To be honest, I haven’t really figured this one out yet, but I think I’ll update this post if I ever find a solution to this. It would be nice to be able experimentally measure low currents and high currents in the same pass, that way you can get a reasonable estimation of power consumption.

The way I think you’re supposed to measure low currents like this is by using a shunt resistor and an oscilloscope to capture the voltage. Here’s an article that discusses more:

I believe you wouldn’t be able to measure the high idle current of the MCU at the same time though, because the circuit would be setup for the low current. So using this method, you’d have to get a profile of the current consumption at sleep, a profile of the current consumption at idle and an understanding of the amount of time spent in these states to get the actual power consumption.