Weather Stations are a very useful devices, and as we increase our knowledge of the global weather, quantifying our own local experience is also popular. Weather has never been more interesting! Integrating aspects of the weather to IoT is also increasingly important.
Important Update: I have designed a 433MHz link to allow the transmitter and sensors to be separate from the console and sensors. Output can be to a stand alone LCD display or by serial, eg to a Raspberry Pi, for further processing. https://www.thingiverse.com/thing:3546977
This project does not invent anything much new, but should give a working set of plans for a weather enthusiast to build their own station. The design is somewhat double-brick out-house in most places and does not require really hi-res printing eg no wafer thin walls. However it will produce a robust system that people may like to refine themselves. The OpenSCAD files are provided to allow people to customise the designs.
The system was designed and built for an Arts/Science Exhibition, FLOAT, as a demonstration station, and has been wired up and programmed to demonstrate the usual weather station functions. A cutaway funnel is also provided, which was used with the Rain Gauge for this exhibition. In the demonstration video a film of plastic has been glued to the open side so that water can be dripped in to demonstrate the toggling tipping bucket system.
The system also has a working Arduino program included to illustrate how the the weather station can be interfaced, processed and results displayed. The Arduino program, as it stands, does not provide any definitive calibration for rain and wind speed (if it is accurate, that has happened only by chance :-). Wind direction, Temperature and Barometric pressure are accurate. If you build it, and use my Arduino program, you will have to spend some time calibrating wind speed, and fine tuning rainfall. The program uses very little of the overall Arduino Uno capabilities, so there is much room for expansion and innovation in extra sensors or data processing eg adding a wireless interface (see above).
The non-printable extras I used are listed below, and also in the OpenSCAD and Arduino scripts. Plus you will probably want to add to the Arduino gear.... I added a Barometric/Temperature sensor, but BeeBix has added Humidity & Temperature Sensor(s) and an RTC (Realtime Clock). This is a really neat extension, see here for details on how BeeBix did it - https://www.thingiverse.com/thing:3379691. Plus he has revamped the display to allow more information to be displayed clearly as well. Awesome!
Some suggestions for mounting the sensors are provided, along with glue on brackets and fittings to construct a simple "T" frame combined with aluminium tubing, however this can be adapted as circumstances dictate.
You will find a short video at Youtube Link: https://youtu.be/bPasvq7NFdE
If you like the design, you are welcome to make a Tip. Cheers!
The thrust bearings should be a tight, push fit, and not require glue (Though if your hand is steadier than mine cyanoacrylate glue may help). The 5mm brass tube for the axles will definitely benefit from some cyanoacrylate on the ABS to hold them in place when inserted into the plastic (ie into the wind vane, and the anemometer rotor). Rough the end of the tube up a bit with sandpaper, or a file, to help adhesion. The Temperature and Barometric pressure does not need calibrating. However Rainfall (it is fairly close) and Wind Speed will need calibration. As long as the magnet in the wind direction sensor vane is close enough to trigger two adjacent reed switches when half way between the two reeds, it will allow 8 reed switches to reliably indicate 16 directions.
The reed switches in the direction indicator are vertical and the ends are are not trimmed, just bend the top end (3-4mm) over with fine pliers to allow easy soldering to the common GND wire ring. (Be careful as the glass/wire junction is very fragile.) A ninth hole is supplied for the return GND wire. So nine wires come out of the bottom of this part.
Extra spacing between the direction vane and its base may be required, eg a small ring of heat shrink tubing (2-3mm) to keep the moving vane of the anemometer above the base, and likewise for the wind speed rotor. That is, seated on the inner bearing in the stationary bases. I considered such a spacer was too fine to print, but will probably require a "washer" of some soft to adjust what sits on what.
All the magnets N-S poles should be aligned along the lines of the reed switches. The midway point in the magnetic lines of force between N-S poles have the smoothest switching effect, ie don't use one of the poles, N or S, on its own. This also helps reduce bounce, or multiple triggering.
Non-printable Parts List
Arduino Uno Board + Prototyping Shield
10 of Magnetic Reed Switches, the glass section is 14mm x 2mm
4 Thrust Bearings 8mm OD x2.5mm by 5 mm ID
(Search "Miniature Thrust groove Sealed Ball Bearings")
3 Neodymium magnets, 3mm OD x 2mm thick
Scrap brass tube OD 5mm (eg salvaged Car Radio Antenna)
Hook up wire (various colours helps)
BMP085 Barometer/Temperature breakout (I2C)
PCF8574 I2C to LCD interface board
4x20 characters HD44780-compatible LCD
2mm steel axle for Tipping Bucket flip flop
Plastic tubing for spacers/washers eg Heat shrink cut to 2-3mm rings
12.5mm Aluminium Tubing for Frame
The Arduino system as described has a major shortcoming, it is assumed the sensors will be close to the CPU and there will be no long runs of cable. If longer cables are contemplated then larger pull-up resistors than the internally programmed Arduino pull-ups maybe required on all the reed switches. Very long cables may not be possible or recommended.
Mounting the Arduino computer close to the sensors and building a radio link on it maybe the best alternative, and possibly using some other board than a UNO with at least 10 pins of I/O free and some Wi-Fi could give a good combination.
Battery power poses even more challenges, but a larger battery charged by a solar panel is a viable option these days. Designing ultra low power, electronic radio gear is a specialist area and would require an article on its own.
Printing times with 0.3mm nozzle, 0.2mm height, 30% fill and Support
3 Anemometer Cups and arms 1h21m (x3) = 4h3m (+support under cups)
Anemometer Arm Hub 3h31m (+support under hub and inserts)
Anemometer base 2h (+support under base)
Anemometer Bracket 16m
Wind Direction Vane 4h21m (+support under hub and arms)
Wind Direction Base 3h30m (+support under base)
Wind Direction Bracket 16m
Tipping Buckets 1h43m (+support under buckets)
Rain Gauge base 6h18m (+support reed switch slot)
Rain Gauge Funnel (full) 12h30m (NB Invert to print to avoid Support printing)
Estimated total 35 hours of Printing
NB It is worth checking your own printing setup to see if you can minimise printing support material. Inverting my designs before printing maybe preferable in your setup.
I have added extra holes in the base of the rain gauge to make sure the outlet surface area is definitely bigger than the inlet hole in the funnel. (Thanks Andy)
Some sort of coarse filter could be added to protect the funnel from small objects eg fruit buds blocking the hole.
I have also added a search suggestion for finding the Thrust Bearings on your favourite e-marketing services.
A huge "thank you" to Artem B who spotted a serious error in the Arduino breadboard image where A2, A3 were shown connected, when it should have shown D2 and D3. Now corrected.
Best wishes all you makers out there, young and old, and let me know how you go! ;-)
A big thanks to all those people who have looked at and supported the project.
Tested in light winds September 2018
Overview and Background
Students can gain an insight in how aspects of the weather are measured and explore the concepts of data acquisition. They will also see how 3-D printing can make science accessible to a wide range of people at low cost.
It has never been more important in the history of mankind that students should understand how the weather can be measured, and few secondary schools could afford a weather satellite, this project makes the tools to measure weather changes tangible and hence the science of weather and global warming more credible to them. Give them the skills to make up their own mind.
Lesson Plan and Activity
Students could work in teams of 2-3 to produce a complete station -
Team 1: Wind speed
Team 2: Wind direction
Team 3: Rainfall gauge
Team 4: Arduino interfacing
Team 5: Building the supporting structures
Team 6: Siting and mounting the System
The 3-D printing could be ran in the background while general background studies were begun on weather patterns, and driving forces of the weather.
Some of the students would need basic skills in soldering to complete their section and perhaps be allowed to choose their 'specialist area' as Team 2 and team 4 would have more soldering than the others.
The best politicians or negotiators maybe required on team 6 to discuss a good place to site the system around the school etc
Advanced students may like the extension/challenge to play with the OpenSCAD files and improve or just alter my designs.