Arduino power management and battery selection

Hi everyone,

I'm putting together a weather station datalogger to be installed in an off-grid area. It needs a battery to run, and I've been having trouble figuring out how to size it.

The arduino is logging solar radiation and temperature every 10 minutes onto an SD card.

In my current setup, I have 6 AA batteries powering the arduino. The arduino alone when not connected to anything else and not running any code, consumes 46 mA. When connected to all my sensors and running code, it consumes 54 mA according to my multimeter, which is quite high. The logging frequency has very little impact on the consumption (very tiny spikes, but overall 54 mA average). So if I want to run the logger for, say, 2 weeks, I need 336 hrs x 54 mA = 18,144 mAh.

How can I go about getting that much power? If I have 6 AA batteries in series, does that mean I have 6 x 2200 mAh (the capacity per battery)? Or do I only have 2200 mAh for the entire battery pack?

Assuming there is no battery big enough to satisfy my needs, is there a code I can use to turn off the arduino or put it in a low power state? I have a delay(600000) at the end of my void loop...can I somehow instruct the arduino to shut down for 600000 ms instead of staying on for that period.

Please note: I'm limited by space; Ideally I want to fit my batteries into the box, which is spacious, but I can't stuff it with more than, say, 12 AA batteries.

Many thanks!

Nick has done the work here:

Use a solar panel to keep the battery topped up?


Your problem is using an Arduino.
There are 2 major chips on the Arduino board.
The ATmega328 processor which you can put to sleep when not needed, and the ATmegaA8U2 USB interface chip which you cant.
Simple solution is to just use an Atmega328 chip by itself, and sleep it when you dont need it to do anything.
Otherwise Robins solution of a Solar Panel is about the only other option.