Remote temperature and humidity sensor with long battery life
I made a Temperature and humidity sensor - battery powered in 2013. It is powered from 3 x AA batteries, and lasted, as I recall, until a couple of months ago before I changed the batteries. That is, almost two years.

It logs to an SD card every 15 minutes. You could change that interval of course, it would probably not last as long logging every minute.



I certainly wouldn't attempt it with a pre-made board, because of the drain by the power LEDs, the USB chip, the voltage regulator, etc.

I measured 6 µA consumption when asleep. 



Schematic



(RH-click and "View Image" to see a larger version)

The schematic is deliberately presented as "blocks" of parts of the circuit. To understand it from scratch, make up individual parts, test them and get the code working to your satisfaction. For example, the clock or the temperature sensor.

Some of the parts (like the clock) are already available as pre-assembled boards, if you prefer to reduce soldering.

You could manage without the 7-segment LED readout, however I found it useful for confirming it is working "in the field". The readout LEDs can be purchased cheaply from eBay for around $US 3. Search for MAX7219 8-Digit LED Display Module 7-Segment or similar.



Example output

Example of measuring temperature and humidity every minute:





You can see from the graph that I left the room at 9:30 pm, and the temperature slowly dropped until 6:30 am the next morning. The zig-zag effect is the central heating turning on and off.



Construction details

See the linked page for construction notes, schematic, and code.

Power saving details at Power saving techniques for microprocessors.



Estimated life at logging once a minute

If my calculations are correct, logging every minute might reduce battery life to 7 months (these things are best tested of course), but that is because the consumption is much higher when you power up the SD card. It would probably be best to take 15 readings, and then write to the card every 15 minutes. The extra time writing would be minimal, and that would keep the need to power up the card low.



The 7-segment LEDs

To clarify, those 8 LEDs are not normally on. The battery wouldn't last long if they were! If you press the switch it gives an immediate reading through the LEDs, and also tells you how many writes to disk it has done, and how many write errors it has had. This confirms all is operating properly.

The "busy" LED is there to warn you to not remove the SD card while it is writing to it.



Radio communication

To transmit information you could use a NRF24L01 transceiver module. You get those for a couple of dollars on eBay. Example:



Underneath:



You would need another one at the other end to receive (you would need two of whatever radio you chose).

I did a solar powered project using a couple of those. The NRF24L01 uses about 0.9 µA in power-down mode, so that is pretty minimal.

It also uses SPI, so the connections would be very similar to the SD card connector.

I suggest if you are going to attempt this to first get confident with a normal Uno, get the code tested, make sure you have the sleeping/waking going OK, then move it to a low-power board. There are places like Evil Mad Scientist that make "bare" boards, with a prototyping area, which you can use to put things like your temperature sensor on.