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