As luck would have it, Çağan Çelik has created a weather station using a fan and spoons.
Çağan Çelik is a full-time hardware editor on a Turkish technology magazine. He has also been making tutorial and DIY videos on his YouTube channel about hobby electronics and programming in his spare time.
In fact, he’s developed two weather stations – the first being five years ago. “The original was made using an Arduino Uno when I just starting to learn electronics and programming,” he recalls.
“Where I used to live, the weather was often unpredictable and I wanted to know the forecast so I could dress accordingly just by glancing at a screen.”
That version had outdoor sensors hooked up to the Arduino using long cables and the values were displayed on a small Nokia 5110 screen. “It was a neat project, but I hit the limitations of Arduino,” Çağan continues. “I couldn’t add functions to it because of the 32kB of code memory, and I wanted to include an early warning system when the air pressure suddenly dropped, which mostly means it’s going to rain or snow.” Cue Raspberry Pi, with the advantage of being able to show the results on a large and easily readable screen. “I could use fancy graphics if I wanted and also be far less conservative about my programming thanks to being able to use a massive microSD card as a storage medium. With a lot of CPU muscle in the background, it was a win for bringing my project alive again.”
Inside and outside
To start with, Çağan wanted to expand the functionality of the weather station by adding wind speed to the temperature, humidity, and air pressure sensors of the original. He also wanted to present the information more clearly.
“The most important thing was separating the inside and outside modules because, in the previous iteration, the inside module – the Arduino and the screen – had to be placed near the window so that the cables would reach the exterior sensors,” he explains. By using wireless communication, he could dispense with wires. “I was very familiar with NRF24L01 transceiver modules, so I picked this.”
Even so, Çağan had never used this transceiver module with Raspberry Pi before. He wanted the latter to communicate with an exterior module based on an Arduino Uno, so he headed online to research and troubleshoot his way through and eventually got the two to talk to each other.
The Arduino Uno is used to gather information from the sensors at set intervals before transmitting the data wirelessly to a Raspberry Pi 4 located inside his house. This is attached to a 7-inch official Raspberry Pi touchscreen running a clean user interface that he created using the GUI framework Tkinter.
“It was a new thing for me, although I realised it’s fun once you grasp the basics,” he says. “I learned how to use transparent PNG files with the Tkinter interface and how to resize and manipulate them.”
Now that the weather station is up and running, Çağan doesn’t get caught by the ever-changing weather any more, but he admits he could easily get snowed under with extra work. “Maybe I could show the time and date, the wind direction, and the temperature inside using another sensor,” he suggests. “But I’m pleased at the good feedback I’ve had so far.”