Arduino with a low power CPU?

Hi

I am building a simple battery powered system. Arduino libraries are nice for Serial IOs and such. I'll leave out USB and other power hungry peripherals.

All I need is a low power CPU, for which there are Arduino libraries available.

I need a timer to wake up the CPU from time to time and an UART. I need to drive something, so one pin Dual in line package is too small. (Did you notice a Joke.)

I have been working with a very similar set of constraints. Apparently, the Arduino ProMini, can be modified a little (remove voltage regulator and LED) to get down to very low power when put to sleep using the Energy library. Also, I found an inexpensive and very versatile clock chip (PFC8593) which runs on a few microamps and can provide an interrupt to the ProMini to wake it up. That assumes that each time you put the ProMini to sleep, you have first configured the rtc for the next wakeup call. I'm looking at maybe 30 microamps for the entire circuit, which will run it for a year on 3 NMH batteries. I intend to use 3.3 volt parts, so the starting voltage of 3.6 should last a long time.

Pro mini uses 328 chip, I wonder if there is some still lower power device. My first Arduino was a Duemilanove 328 in DIL package. So I think it is old, I may well be wrong of course.

Good to know about the energy library, I'll check it.

Internal timer to do the interrupts would nice. But we'll see what is available.

It is handy when there are 3.3V CPUs and batteries.

Can also run the 328P at lower frequency when turned on, will draw even lower current.
328P is a 328P, DIL or SMD package.

An outstanding introduction to low (and lowest) power operation of the ATMega328 can be found here.

I second the suggestion to buy a cheap (US $3) eBay Pro Mini and remove the voltage regulator and unwanted LEDs. There are several threads on this forum describing how to do that. I've attached a photo from another thread showing what to do with one particular type of board.

Gammon's page is very good.

This is also a good read: Choosing The Optimal Low Power MCU

Although if you're restricting yourself to Arduino library supported processors then that narrows things down quite a bit. All of the picopower AVR chips are essentially identical in terms of current consumption. I tried to figure out if the ARM processor in the Due would save power versus one of the many AVR chips for the low power project I'm working on. It's complicated though. I still don't know the answer.

I know that most, if not all, ARM CPUs have a timer which can wake up the CPU.
A link to "enemy" web site:
https://my.st.com/public/STe2ecommunities/mcu/Lists/cortex_mx_stm32/AllItems.aspx

Nick Gammons page about power savings is good. I would wish a longer sleep time like a minute, but 1s is not bad.

I wish there was a separate timer which could do the interrupting.

But then, with some CMOS logic I could do the interrupt with not much power. I am thinking 4060 and 4093 chips.

I think I have enough to proceed. Thank you all who helped.

Both the watchdog timer and the asynchronous low frequency oscillator in the Atmega328 can sleep for up to 8 seconds.

I'm using the latter option and clocking with the internal 8Mhz oscillator when the processor is awake. I have it set up to wake up once every second, increment the internal RTC variables, and then go back to sleep. It's awake for ~25us out of every second, or 0.003% of the time. When in this mode the average current is essentially equal to the sleep current, about 1uA. A single coin cell battery will last for years under those conditions.

You could do the same thing, waking very briefly and incrementing a counter, and then doing whatever it is you want to do when the counter indicates a minute or ten or an hour has passed.