The Weatherslayeaer project

Introduction

We are a team of three second‑year students from different areas of digital and technical studies, each bringing our own strengths into this 3D and Robotics course.

Hey there! I’m Saana, and I’m currently in my second year of studying digital services. When I started the IoT course, I didn’t have any experience with IoT projects or robotics, but I had taken a 3D course and learned how to model with Blender.

Coding isn’t exactly my strongest skill, but problem‑solving definitely is. And with AI developing so rapidly, even those of us who aren’t hardcore coders get a bit more insight into that side of things. I joined the course because I want to understand this part of digital services too and after all learning something new is never a bad thing

Hi! I’m Ronja and I’m in my second year of studying business ICT, more specifically data analytics. Before the IoT course i had a bit of experience with blender for 3D design and some simple robotics projects from upper secondary school. While studying in Haaga-Helia I have learned several coding languages. For example I’ve learned SQL, HTML, CSS, JavaScript and I’m also learning Python right now.

I joined the course because I wanted to get to try something new and creating something physical sounded very fun.

Dearest gentle reader! My name is Siiri and I’m a second year studying information technology. More specifically in digital services and service design. I didn’t have much experience with robotics before this course but coding I had done before.

I joined this course because it seemed really interesting to get to build something from scratch and get to expand my skills in this field.

Ideas

We began our project ideation on a shared whiteboard where we wrote down every idea that came to mind. After that, we voted for the ones we thought were the strongest, and based on the points, four ideas moved forward for further consideration.

In the end, we chose a weather‑displaying LED screen that fetches weather data from the internet and shows it on the display. We also thought it could give small tips related to the day’s weather, such as “don’t forget your sunglasses” or “remember your umbrella.”

We selected this idea because we felt it would be a solid foundation to build additional features on once we get the core functionality working. We continued innovating around this concept on the whiteboard using the lotus blossom method.

Our top 4 ideas were:

  1. Weather board
  2. Decibel disco ball
  3. Compass that shows the nearest ALKO
  4. Alcolmeter that keeps a leaderboard on a website

Development ideas for our project

In addition to the LED display, we also discussed what other features we could add to our project. We want the LED screen to have some kind of frame or stand so it can be mounted on a wall. We considered adding extra LED lights that would visually indicate the weather at a glance.

One idea we explored was using a Bluetooth speaker to play weather‑themed sounds or music. We also thought about integrating a personal calendar into the device so the LED display could show reminders, such as upcoming meetings or birthdays. This could even be paired with Bluetooth audio — for example, playing a short birthday tune.

We also realized that a motion sensor would be useful. It could wake up the device or LED display when a user approaches, so it wouldn’t stay active all the time.

What did you need to learn

When we started this project, we honestly didn’t know exactly how all the pieces would fit together. We just knew we wanted to build something cool and a weatherboard that could grab real data from the internet, light up with animations, and look good on the wall. To make that happen, we had to learn quite a few new things.

First, we had to figure out how to get the ESP32 talking to the LED display. Getting the first text to appear on the screen felt like a small victory, because it meant the hardware was actually listening to us. Once that worked, we moved on to the next challenge which was pulling weather data from the internet. None of us had used the OpenWeather API before, so we had to learn how APIs work, how to send requests, and how to read JSON data in a way the ESP32 could understand.

Then came the LED strip. NeoPixels look simple, but they’re surprisingly picky and every LED needs its own color values, timing matters, and animations don’t just magically happen. We learned how to create smooth gradients, temperature‑based color themes, and a moving wave effect that makes the whole frame feel alive.

On top of that, we had to learn how to design and 3D‑print the physical parts. That meant measuring components, modeling the frame so it actually fit around the electronics, and printing a nameplate that made the whole thing feel like a finished product.

In short, we had to learn how to:

  • control an LED matrix with an ESP32
  • fetch and parse weather data from an online API
  • create animations and color effects for NeoPixel LEDs
  • design and 3D‑print a custom frame and nameplate
  • combine hardware, software, and physical design into one working device

It was a mix of coding, electronics, problem‑solving, and a bit of trial‑and‑error, but that’s exactly what made the project fun.

The building phase

We began the building phase by getting the ESP32 and the LED matrix to communicate with each other. This was the foundation for everything else, so our first goal was simply to display anything on the screen and confirm that the hardware setup worked. Once we had the ESP32 successfully driving the LED display, we moved on to the next major step: fetching real weather data from the internet.

To do this, we connected the ESP32 to WiFi and used the OpenWeather API to retrieve temperature, weather conditions, and other useful information. After parsing the JSON data, we were able to show the temperature, weather description, and time on the LED display. This was the moment when the project really started to feel alive.

After the core data flow was working, we added personality to the device by creating a set of humorous weather‑based quotes. These are generated through a series of conditional if statements that check for keywords like rain, snow, fog, or clear sky. Depending on the weather, the device might tell you “Don’t lick metal,” “Winter is coming,” or “Blue sky unlocked.” This became one of our favorite features because it made the device feel fun and expressive.

Next, we focused on the LED strip surrounding the frame. We connected all 39 LEDs and programmed them to display animated color gradients that change based on the temperature. Cold weather produces icy blues, while warm days glow in oranges and reds. The animation uses a sine‑wave effect to create smooth, flowing color transitions.

Finally, we worked on the physical design. We 3D‑printed a custom frame for the display so it could be mounted on a wall, and later added a 3D‑printed nameplate for our device and proudly named Weatherslayeaer.

We wanted to show on screen the time, temperature and weather condition. In addition, we wanted to have a fun little quote for each weather condition.

Next up we got started up with the led lights. In total we had 39 led lights to wrap around our future box.

Our first task was to actually link the lights to the code. Once we got that down, we could start to play with the colours and animations.

We wanted different kinds of colour gradients for each temperature range. The ranges were <0, <10, <20, <25.

Then we assembled the whole device, double‑checking that every component was in the correct spot, all the cables and data lines were connected the right way, and that the ESP32, LED matrix ad LED strip all received enough power to work reliably

Finally, we put everything together and fixed the parts into the 3D‑printed frame. All the electronics fit inside just right, the LED display snapped perfectly into its opening, and we wrapped the LED strip neatly around the frame

The outcome

By the end of the project, we successfully built a fully functioning weather board that combines software, electronics, and 3D‑printed design into one cohesive device. Our ESP32 fetches real‑time weather data from the internet and displays it on the LED matrix, showing the current time, temperature, weather condition and finally a humorous weather‑related quote generated by our custom logic.

To make the device more polished and practical, we 3D‑printed a custom frame that allows the board to be mounted on a wall. Around the frame we installed a strip of 39 LEDs that animate and shift colors depending on the temperature. The moving gradient gives the device a lively, atmospheric look for example cold weather glows in icy blues, while warm days bring out bright oranges and reds. We also designed and 3D‑printed a nameplate that attaches below the display. Our device earned the name “Weatherslayeaer”, which fits its playful personality and the humorous quotes it delivers.

Throughout the project, we learned a lot about IoT devices, sensors, APIs, and how different components communicate with each other. We also gained hands‑on experience in 3D design, electronics, and problem‑solving. It was rewarding to see our idea evolve from brainstorming into a physical, working product. In the future we could expand the device by adding a rotary knob that allows users to scroll through weather data from different cities. This would make the Weatherslayeaer even more interactive and versatile

For future projects we also have ideas such as:

  • adding more sensors
  • integrating AI features
  • creating more interactive or personalized IoT devices
  • exploring sound, motion, or environmental data

Here is our finished and assembled Weatherboard, proudly showing off its 3D‑printed frame, LED gradient lighting and weather display:

Interested in our code? Go to: https://ssilvennoinen.github.io/Weatherslayeaer/.

 

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.