What kind of interest is there in a specifically low-power optimized Arduino variant for experimenting with environmentally-powered projects? What would you want to see in such a design? More importantly, does such a thing already exist? I think the closest I've seen is John Luciani's excellent PICO design and related work (can't post a link here since this is my 1st post!)
My day-job is as an electronics engineer doing low-power and self-powered (energy harvesting) sensor networks, so I've got in this habit of thinking in uA even in my home projects Recently I've been playing with Linear's LTC3108 thermal harvesting chip, and found that e.g. a bodyheat-powered Arduino is feasible. From a 40mm^2 Peltier, usable power is available from a 1.5degC temperature difference, and at 4degC over 1mW is available. Seems like it would be fun to use in some kind of project, but the current Arduinos don't seem designed with extreme low-power stuff in mind.
Some specific hardware features/hacks needed:
Low voltage operation (1.8 ~ 3.3V; ATxxxxxP variant MCU for 0.1uA sleep mode, reduced clockspeed for 3.3V operation)
"
BUS_SENSE" signal to detect if USB/serial is plugged in: if not, cut power to the FTDI232, skip bootloader on startup
Load switching: disconnect power to the board until power source has charged up enough to fully power the board and do something, avoid "over the hump" problem of starting up slowly from 0V.
Wakeup sources: micropower sensors work like a cat, by spending most of their time sleeping. Need ways to be awakened periodically and avoid having to sit in a software delay loop (32KHz timer, RTC, all the hardware INT lines we can get)
Extremely nice to have:
POWER_GOOD signal - warning when the power source is nearly depleted, so the user code can decrease its usage or perform a controlled shutdown.
Interchangeable power supply shields - no good one-size-fits-all solution; scavenging from e.g. piezos, inductors (RFID) and peltiers have very different requirements
RTC (Real Time Clock) - a very power-efficient way to wakeup the circuit at predetermined times or intervals, or perform delays with no/minimal software loops.
Anything else I am missing? Other thoughts?