A buddy called up asking me the minimum power consumption of Atmel chips. He has an application that has to be battery powered and it just can’t suck much more than the self-discharge out of the battery. I had another application years ago with the similar problem. I was trying to steal power from a phone line to run a little micro. If you look at the very strict laws, you are only allowed about a microampere out of the -48V POTS (plain-old-telephone-system) line.
So the trick is to steal the microampere continually, and let it charge up a big capacitor, so your micro has more than a few uA to run on for a little while. My buddy had a pretty high battery voltage. So with a switching power supply he can take in 1 uA at 24V and make 10uA at 2V that will power the MCU. Better yet, you can put the system to sleep or all the way into power-down, and only wake it now and then. With a 1% duty cycle, your 10uA continuous current can instead become 1mA when you are in wake mode and 0.1uA the other 99% of the time.
So back to the task of figuring just how low a low-power AVR chip is. Since this is a hardware issue, and you only have to worry about hardware once in your design, the salient info is towards the end of the datasheet. And you do have to dig up the “full” datasheet, not the summary version. CMOS microprocessors use power in direct relation to the clock frequency they are operated at, as well as the power supply voltage you run them on.
So I started with the smallest physical part we make, the ATtiny13A . It is fully static. On page 126 they actually have a 2-dimentional power consumption graph, but the first one shows 100k-1MHz active clock. Scroll down to page 127, and Figure 19-6 shows 32kHz clock figures. The part sips about 7uA at 2V Vcc. Then scroll down for idle power—Figure 19-12, it’s about 1.2uA. Then more scrolling and you get a power-down consumption of 0.1uA with no watchdog, and 3uA with the watchdog.
My suggestion is to let the switching power system run the show. Have it gently steal power and when it has charged up a big ol’ ceramic cap, then have the power system take the MCU out of power-down, (not idle) do the measurement, and either kill itself or handle the alarm. This part does have a 10-bit ADC so you have to look at the time it takes to get a good conversion out of it.
This can get really tricky. My buddy Nick Gray noted that sometimes you are better using a faster ADC since you can get a good conversion out of it in less time, so the duty cycle of “on” goes down, and you end up using less power despite having a higher-current ADC. Same deal here— you need to think in Coulombs—what is the fewest number of electrons needed to wake up, do a test, and go back to sleep.
In any event, it is obvious that you can set up an AVR system to draw less than the self-discharge rate of your battery system. Note that if you need to do 500MHz processing, well all bets are off. The speed-power tradeoff in semiconductor devices is pretty absolute, so don’t think you can do HD video on a uA.