For a couple of years now I’ve fancied the idea of installing a weather station at home. I had no specific requirement for it, I simply figured it would be a fun thing to hook up to my home server, allowing me to track the weather over time. I also had some vague thoughts about justifying the purchase by using a combination of the live and historical weather data, along with hysteresis data for my central heating system, to more efficiently control the temperature at home by doing things like predictive start up and shutdown of the central heating boiler.
I started by looking into building my own system from scratch, using a microcontroller and one-wire sensors. Cheap and easy for the basic temperature and pressure readings, but the difficult part was always going to be the mechanical parts for the rain gauge, wind direction and wind speed sensors. So I kept putting it off. Then I noticed Maplin were selling a complete wireless weatherstation with computer connectivity for only £50. I figured it was worth it just to get the sensors.
Of course it’s been built to a price (in China by a company called Fine Offset), and is a generic design that ends up being sold with a few variations under a variety of different brand names. Mine has sensors for temperature, humidity, rainfall, wind speed and wind direction mounted on a small mast, which then send their measurements via a 433Mhz wireless connection to a console (the base station) that has further temperature, humidity and pressure sensors, and a large LCD display and a USB port.
The console displays the current readings, and stores a historical log of the data that can be scrolled through at will. However, of more interest to me, once the console is connected to my home server I can grab the latest set of readings from all the sensors via a program. I can then graph that data, or upload it to online systems like WeatherUnderground or Xively, or even use it to optimise the control of my central heating system!
Of course, to get decent readings it’s necessary to mount the sensors where they can work at their best. Ideally you’d want to split the sensors up and mount them in different places; the wind sensors on a tall mast, well away from buildings, and the rain and temperature sensors low to the ground, carefully sited to get the best results.
But for me, this is meant to be a bit of fun, so I’m not going to get too hung up about any of that. In practice the best I can sensibly manage is put them all on a tall mast. I picked up a 6 foot cranked aluminium TV aerial mast and a zinc-plated wall bracket for about £15, and modified the original mast so it could be attached to the cranked mast.
So back at the end of April I mounted the whole lot on the side of my garage, so the sensors were positioned above the roof-line of the garage. I expected the wind direction to be influenced by the garage and other nearby buildings, and for the temperature sensor to over-read on particularly sunny days when the sun is shining directly on it, but I figured it ought to be fine for my purposes.
And for the first month or so, it basically worked. Except the base station seemed to have a very tenuous connection to the sensors on the mast. I reckon it maintained contact for no more than 10-20% of the time, so most of my readings were only of the base station sensors – which were all indoor, and of limited interest. Getting reconnected usually involved standing in the garden waving the base station around for a few minutes, and often having done that, it would lose contact again as I took it back indoors. Worse, after a few weeks the wind speed indicator stopped working. It wouldn’t rotate in anything less than about a force 4 or 5 wind, and even then it wouldn’t indicate the correct wind speed. I also noticed that the wind direction sensor tended not to produce very consistent results, but rather, would “helicopter” all over the place in anything other than the most stable of gentle breezes.
This was not what I had hoped for, but I just didn’t have the spare time to fight with it in the run up to my operation in July, so everything stagnated for a time. But with my operation delayed, and me taking some vacation, I finally got around to looking into the problems with the weather station this week.
The first thing to solve was the wind speed sensor. Taking it apart reveals that there is a simple reed switch in the base of the unit. Gently levering the spinning cups off the base of the wind speed unit reveals a magnet, attached to the spinning cups, which triggers the reed switch. The spinning cups are attached to the base of the unit by way of a mini-bearing (5x10x4mm) which allows it to spin easily. Or in my case, not, as the bearing had failed, producing a noticeable sticking point in the rotation. So I ordered a pair of new bearings from Technobots for about £1.40. Repairing was a simple matter of removing the old bearing, pressing on the new one, replacing the spinning cups, and then making sure everything was carefully aligned so it would spin smoothly again.
I feared that improving the connectivity between the console and the sensors would be a lot more difficult, as I can only think of a few ways to improve a radio link:
- Improve the siting of the transmitter: Not easy when mine is already at the top of a tall mast!
- Improve the siting of the receiver: I can’t really do much to improve matters, as I’m constrained by the need to connect it to my home server.
- Improve the output of the transmitter: there’s not much that can be legally done to 433Mhz kit while staying legal. Messing with this would be a last resort, especially as whatever I did would need to operate on 3xAA batteries, at the top of a mast, and be weatherproof!
- Improve the sensitivity of the receiver: Really the only option for me, which actually comes down to improving the receiving antenna.
So I disassembled the console. And discovered that the internal antenna consists of a 1/4 wavelength piece of unshielded wire, wrapped around the edge of the case. Probably about as good for communications as the proverbial piece of damp string. But the good news is that the back of the case is practically empty, and there is a nice flat, horizontal surface on the top edge of the back panel. A quick trawl through the RS Components catalog reveals that they stock inexpensive helically wound stub antenna for 433MHz telemetry equipment. Add an appropriate panel mounting, a little bit of spare coaxial cable, and with a little careful soldering I now have a console with a removable external antenna.
The result? The console instantly connected to the sensors as soon as the batteries were installed in my study. No need to take it for a walk in the garden and wave it around under the sensors any more. And as far as I can tell from my Weather Underground page, the console hasn’t lost contact with the sensors since. A spectacularly good result for £5 of components and a little effort.
However, that page clearly shows the problem with the wind vane. If you look at the plot, it’s clear that the wind is generally from the SouthWest, but the data points are all over the place because (I think) the sensor lacks damping. So for now I’m researching ways of damping it that won’t spoil the accuracy. What is needed is something that resists sudden movements, but will happily respond to slow ones, even when the force is very low. Magnetic damping is probably the best option, but given that the vane uses a magnet and reed switches to detect its orientation, that might be hard to arrange. Given the cost, I’m tempted to get a spare vane to experiment on. And use as spares if (when?!) I break the the original.