Saving Battery Life

I found that my weather station only lasted for about 7 hours on 2xAA batteries last night. The culprit could be the boost regulator, but before I investigate that I’ve reworked my Arduino code and moved away from manually tinkering with the avr/power.h stuff to using JeeLib. Its greatly simplified my code too. I removed the code that was measuring the voltage as that always returned 3.37v from the boost, so a bit pointless, plus it kept the ADC awake draining power.

Boost Converter

I’ve just received my Pololu U1V10F3 3.3v boost converter and 2xAA battery pack from HobbyTronics and it took no time to convert the veroboard from a coincell to the boost+batteries, I now have a stable 3.3v (from 3.31-3.37 recorded so far) and the sensors are working much better now. I updated my code to store the voltage so that I know when the battery is dead and the boost can’t work, that meant moving the dewpoint calculation to the Raspberry Pi as it made my RF24 packet too large otherwise.

Measuring Voltage With An Ardunio

I’ve been thinking about a way to monitor the battery supply voltage of my weather station remote node, as I was thinking of buying some LiFePO4 or LiPo batteries which don’t cope well with over-discharging. Its all a bit moot as in the end I decided to stick with regular NiMH/NiCd rechargeable batteries and get some of Pololu’s new miniature boost regulators in 3.3v and 5.0v varieties. They’re pretty nifty as not only can they make 3.

Tweeting Weather

I’ve re-written my rf24 wrapper to tweet its findings, although as you can see the DHT11 and BMP085 seem to have gone insane, so possibly low voltage or cold issues. I’m thinking I’ll have to move to three AA batteries and a 3.3v regulator: Altitude: 645.97m, pressure: 14.65psi, temperature: 13.60/12.31/15c, humidity: 49%, dewpoint: 4.37c, date: Tue 29 Oct 2013 15:53:02 The code is below: #!/usr/bin/env python from time import strftime, localtime import sys from twython import Twython # twitter auth CONSUMER_KEY = '******' CONSUMER_SECRET = '******' ACCESS_TOKEN = '*******' ACCESS_SECRET = '*****' # open file for reading file = open("/var/tmp/rf24weather.

RF24 Weather Station Nearing Completion

I’ve soldered on my waterproof/wired DS18B20 and written a Python wrapper that prettifies the data written by the C++ daemon. So it converts a text file containing “8110:2396:1449:23:49:1170:2343:1383008407” to: BMP085 altitude: 81.10m BMP085 pressure: 14.49psi BMP085 temperature: 23.96c DS18B20 temperature: 23.43c DHT11 temperature: 23c DHT11 humidity: 49% DHT11 dewpoint: 11.70c Date: Tue 29 Oct 2013, 01:00:07 The entire code can be downloaded as a tarball Here’s a photo of the Arduino transmitter, I’ve ordered a plastic project box to make it waterproof: