3D Printed IoT Weather Station

December 20, 2016 | ProgressTH 

We've been working on a weather station over the past week or so, ever since we took part in FabCafe Bangkok's FARM HACK 2.0 event. With a team of Thai and Singaporean designers and engineers, a basic data logger emerged to automatically record temperature, humidity, and light level readings from a DHT11 sensor, a basic photoresistor, and coordinated by a WiFi enabled development board called a NodeMCU.

The weather station, designed in SketchUp before being 3D printed and assembled this week. 

The NodeMCU transmits the environmental data from the sensors by WiFi to an online platform called ThingSpeak created specifically for Internet of Things (IoT) applications.

There, you can see live graphs (Weather Station 0001) of your sensor data. ThingSpeak also allows you to download all of your data which you can then put into a spreadsheet either offline, or online using Google Sheets to work on it further.

The basic temperature, humidity, and light level readings were just to work out how to gather and send data. After FARM HACK 2.0 was over, we began building a solar powered station that could be placed anywhere, gather and transmit data, and serve as a platform to add in other sensors (wind speed, rainfall, soil moisture, barometric pressure, etc.) and even link the station into automation to control processes like irrigation.



The electronics: top-left is the DHT11 temperature and humidity sensor. Just below it (barely visible) is the photoresistor. and to its bottom right is a 10K resistor. Further right, is the NodeMCU board.
So, for example, if weather conditions indicate rain, or soil moisture is high, instead of having an automated irrigation system set by timers watering anyway, you could skip watering automatically to conserve.

Designing & Building the Physical Station

SketchUp is a free 3D design program that is easy to learn and use professionally. We designed the Stevenson screen, NodeMCU control box, and the interconnecting joints between both and the PVC pipe they would attach to in SketchUp.

A cross section view of the Stevenson screen assembly. You can see the "waffle" rack that the DHT11 sensor is attached to in the middle of the assembly and the conduit through which the wires move to connect to the NodeMCU. 
After exporting the designs as .STL files, we printed them out using PLA thermoplastic. The whole process takes only a few hours.

The Stevenson screen with DHT11 sensor attached and ready for final assembly. 
Post processing requires friction welding and the inclusion of some hardware to hold everything together. Two 100mm x 6mm bolts were used to hold the Stevenson screen together and four 20mm x 3mm bolts were used to hold the control box together.


The control box includes a channel where you can add silicone or hot glue left to dry as a seal to weatherproof it.

Fully assembled and powered through the top where the solar panel will eventually go. It is powered by a nearby USB port and transmits data to ThingSpeak via WiFi. 
A little soldering was necessary to mount the light sensor, 10K resistor, and header pins to connect it all to the NodeMCU board.

The final product is still rough around the edges and likely will require revisions as problems pop up out in the field. We still have put all the 3D files up on Thingiverse for others to use.

This is one of three initial prototypes planned for this iteration. It will go up in the rooftop garden once the solar panel is attached and the NodeMCU code is adjusted to better conserve power. If it survives on the rooftop, the other two will be sent to actual farms after New Year's.

Why a Weather Station? 

The weather station will allow farmers to get an overview of the conditions on their farm day to day and over weeks, months, and even years. The platform currently only gathers data, but servos, relays, pumps, and more could be hooked up and commands sent to it to automate different processes on the farm.


Raitong Organics in Sisaket, Thailand wanted specifically to be able to monitor different aspects of their farm if they were away travelling. This station and other iterations and versions of it will allow them to do that.

An organic network we work with in Phetchaburi province already uses solar powered irrigation set by timers. A weather station that also keeps track of soil moisture could introduce a higher degree of efficiency and conserve water.

And the ability to remotely sense what is going on, and even remotely respond to it, has applications beyond farming. 3D printing objects sometimes takes hours. The ability to monitor and control the process remotely can save tremendous headaches, energy, and material if a failed print can be detected and stopped either automatically or remotely by a user.

We plan on putting up all the 3D files, code, and further details on how to build this station either in a blog post or in a video. Until then, feel free to contact us if you want to learn more.

Follow ProgressTH.org on Facebook here or on Twitter here.