Summary

The goal of the project was/is to have a cheap standalone datalogger that would run for days/weeks/months on a small battery pack (3 AA's)

I used the Arduino Trinket Pro 3v for this, as 3.3v is all that is needed for common sensors. As a result, it draws less power than a conventional AVR.

The general idea was to have the logger operate as such:

- Power on for a moment, initialize sensors, and take readings.

- Transmit a telemetry burst of sensor readings.

- Enter a very low power hibernation mode for 1-30min.


Saving Power

When experimenting with power consumption, a few items stood out:

1 - Full low-power sleep mode (WDT triggered) is by far the best way to save juice. Savings are an order of magnitude, IIRC my consumption went from 3-4ma using delay() statements down to 30-40uA using a sleep library.

2 - Builtin SMT LED turned out to be the second biggest draw (constant 2-3ma). I poked it out with a hammer and nail.

3 - After these savings, attached devices themselves tend to be the biggest power hogs. I2C's with builtin LED's, etc etc. To solve this, I decided to use 2 Arduino output pins to drive my attached hardware.

By using a 'power rail', I can turn off sensors when not in-use, then reinitialize them and take readings at every logging time.

...to be continued