Weather station sensor arry with trees and a house in the background
David Schulz

Weather Station

I guess I inherited being a bit of a weather nerd from Father.  I imagine if you grow up on a farm, an interest in what the weather is doing becomes ingrained.  But, truth be told, it was my brother who first purchased an affordable weather station and started the 'movement'.

Family predisposition aside, I find it useful to have some local data on "how much rain we've had", "how cold was it this morning?", "how hot it got today", and so on.  When we have patchy rain, the Bureau of Meteorology reported rain can differ a fair bit from what we actually received.   

How it Started

The first weather station I purchased was a Fine Offset WH1080 which was less than AUD $200 from a local electronics store. This hardware is still being sold and is rebranded by any number of companies.  Bunnings sells this station under the Holman brand at the moment for about AUD $100.  

Most weather stations ship with some sort of software and often provide a method to upload your data to online services such as weather underground.  I did not want to be reliant on a hosted service which may, or may not continue to exist.  The venerable open source project weewx provides a self hosted alternative which gives you complete control over both your weather data and how you present it.  

This project was both my first self hosting project and the first time using Linux.  For reasons lost to my memory, I didn't follow the path well travelled and use a Raspberry Pi for the project, but instead purchased a Beaglebone Black.  The Beaglebone was connected to the hardware console for the weather station by USB.  I had a fair bit to learn about single board computers, installing Linux and connecting to a machine that has no connected display.  After that, installing weewx and getting it configured I remember as being pretty straightforward, no doubt due to the comprehensive documentation and the friendly community of fellow weather nerds.  In the end I was pretty chuffed to have the system reading data from the console and publishing a web page to the web space provided by my ISP.

How it's Going

It was May in 2014 when I first started using weewx and the WH1080 weather station.  The Beaglebone gave up the ghost some years back and while the sensor array is still transmitting data, the rain sensor has stopped working and the console had been increasingly eccentric and finally became unusable.  So, piece by piece, the whole system has been completely replaced.  My setup now operates from a Raspberry Pi that reads directly from the 433Mhz radio signals transmitted from the sensors.

Raspberry Pi

When the Beaglebone Black died I replaced it with a Raspberry Pi, as you do.  I'm using a Pi 2 Model B and honestly it is good enough.  It takes a minute or two each cycle to write the data, generate the local html and image files and ftp them to my website.  If you have a more recent Pi it would be quicker, but if you have an older Pi hanging around, this is a great project to make use of it.

Software Defined Radio (SDR)

The USB connection to the console was my biggest frustration with my original setup.  The propensity for the Fine Offset USB to periodically lock up is well documented but has no resolution beyond restarting the console when it happens.  The increasing eccentricity of the hardware console and eventual failure forced me to look for alternatives.

I am now using a SDR dongle to pluck the data transmitted by the sensor array directly out of the air.  This was a heap of fun to tinker with and is rock solid reliable.  I have not had a single problem since switching to SDR.  I should have made this change years ago. Make sure you buy a genuine USB dongle from RTL-SDR.  While cheaper clones work fine for a tinker, once you are using them 24x7 you will likely run into overheating issues.

You may think that the process of capturing analogue radio signals, converting them to digital data and parsing that data into a format that weewx can consume is extraordinarily complex, and you'd be correct.  Fortunately, people much smarter than I have done all the heavy lifting and all I had to do was follow in their footsteps.  You can too.  The SDR driver for weewx provides a clear step by step installation process of what you need to install and in what order.

Sensor Array

When the rain gauge on the WH1080 sensor array stopped working it became time to replace the sensor array as the last remaining component of the original setup.  Switching from grabbing readings from the console's USB port, to grabbing readings over the air using SDR, removed my need for a hardware console.  I only ever looked at the web page even when I had a console.  So I was looking for a standalone sensor array.

I opted to purchase the WS69 sensor array directly from Ecowitt.  This added a UV/Light sensor to the data I was able to capture.

As well as receiving the readings from the external sensor array, the console also provided barometric pressure, indoor temperature and indoor humidity from its onboard sensors.  Retiring the console required adding an indoor sensor to continue capturing these readings.  I opted for the WH32 indoor sensor, purchased directly from Ecowitt. 

This is one of the great things about using SDR with your weewx setup.  You can combine multiple sensors into a single weewx instance.

Presentation

Each time weewx records the data from the sensors, it updates a collection of graphs and web pages and publishes them as a static web site.  The system uses 'skins' to define how these graphs and web pages look and what they contain.  I use the neowx-material skin.  You can see what that looks like by checking out my weather site.  You can also get there by following the weather link in the menu on this page.