DIY Weather Station In The Form Of Desk Plant.

A Weather Station Which simulate the real-time weather of your location by changing the colors of the showpiece.

Public Chat
Similar projects worth following
The Weather Station is made using a Node MCU(ESP8266) , Connected to 25 WS2812B LEDs (16 for pot walls 4 LEDs for each wall, 7 LEDs in cloud, 2 LEDs in Sun/Moon) .Node MCU will connect to your home wifi and it fetch weather data from a website named and changes the RGB colors in the showpiece. The showpiece got many different color combinations ,they changes according to Time and Climate. For example if its raining outside at evening time then the color of cloud becomes combination of red,orange,yellow and it shows that thunderstorm effect . The pot color indicates the temperature in between 4 ranges i.e: Blue color for temperature below 20 C ,Yellow for temperature range between 20 and 30 C, Orange for 30-40 C and red for 40-50 C. The circle on top represents SUN or MOON depending on time.

Standard Tesselated Geometry - 73.91 kB - 05/14/2020 at 14:50


Standard Tesselated Geometry - 52.91 kB - 05/14/2020 at 14:50


Standard Tesselated Geometry - 152.62 kB - 05/14/2020 at 14:50



Make Sure to 3D print cloud set the infill value to 0% in slicing software.

glb - 964.23 kB - 05/14/2020 at 14:48


ino - 34.99 kB - 05/10/2020 at 14:36


  • 1 × ESP8266
  • 25 × WS2812B LEDs

  • 1
    Circuit Connection:

    *Make the connections as shown in circuit diagram.

    *You can use WS2812B LED Strip instead of individual LEDs.

    *The Data pin is connected to pin D4 of ESP8266,GND to GND and 5v to Vin of the NodeMCU.

    *Make sure that you use 4 LEDs for each wall(4 LEDs x 4 walls = 16 LEDs),7 LEDs for cloud and 2 LEDs for Sun/Moon(3D printed Small Circe).

    *The ESP8266 board is placed under the base , the base has a 3D printed cover to cover it.

  • 2

    *Open the code given in Arduino IDE.

    *Code: https:

    *Make sure that you have included every library's that are mentioned in the code.

    *Now you have to edit this

    String OPEN_WEATHER_MAP_APP_ID = "App_ID";
    String OPEN_WEATHER_MAP_LOCATION_ID = "Location_ID";

    *Open the browser and search for

    *Create a account and login into that website.

    *Click on API keys copy the key and paste in the program at APP_ID.

    *In the same website search your location open the result and copy the last number from URL and paste it at LOCATION_ID.

    *The MAP_ID and LOCATION_ID will be similar to mine.

    *Enter your Wifi_name at ssid and your Wifi password.

    const char* ssid = "Wifi_name";
    const char* password = "password";

    *Now change the Time zone as per your country Time Zone

    int timezone = 5.5 * 3600;

    As per India the Time Zone is 5:30 so I have typed 5.5 similarly you can type your Time Zone.

    *Now connect the ESP8266 to your PC, select the port and upload the code.

  • 3

    I have used 5V micro USB Charger for powering this device.

View all 4 instructions

Enjoy this project?



pandomonic wrote 01/22/2022 at 05:19 point

I love this project idea!!!  

I had the same issue with only the first 2 lights turning on.  I'm still very new to coding. So I'm a little lost. 

  Are you sure? yes | no

mikecbos wrote 06/26/2021 at 01:05 point

When I connected the 25 WS2812B LEDs only the 1st 2 lights came on... any thoughts to diagnose? 

  Are you sure? yes | no

Margarita wrote 12/03/2020 at 12:16 point

hi, i have a question.

I did your project, but not all the LEDs turn on and there is one that turns green. the one at the base only light 3 strips, the others do not. I would like to know if I am failing in the assembly or should I improve in the code

  Are you sure? yes | no


[this comment has been deleted]

Mukesh Sankhla wrote 05/24/2020 at 20:19 point

Yes you can take data of Clouds,rain and can customize as you want, but I think open weather map doesn't have that UV function in its server.

  Are you sure? yes | no

Chris wrote 05/22/2020 at 17:42 point

Nice project! Thanks for sharing

  Are you sure? yes | no

Mukesh Sankhla wrote 05/22/2020 at 18:05 point

Thank you!

  Are you sure? yes | no

dheurle wrote 05/21/2020 at 05:08 point

Just curious how you recommend to print the Cloud file. I was able to convert it to a STL file but it looks solid. thx 

  Are you sure? yes | no

Mukesh Sankhla wrote 05/21/2020 at 06:01 point

Set the infill value to 0 in slicing software. It will print a halow cloud.

  Are you sure? yes | no

Erik-Jan Jaquet wrote 05/21/2020 at 20:29 point

How did you convert the file to a .stl file? I need to do the same thing. Or better yet, can you share your file in the project maybe? For people like me that don’t own a 3D printer and ask a friend to print for them :-)

  Are you sure? yes | no

Mukesh Sankhla wrote 05/22/2020 at 01:26 point

I have attached all the .stl and .glb files above in the file section of this project. You can download it or you can share the link to your friend.

  Are you sure? yes | no

Erik-Jan Jaquet wrote 05/22/2020 at 09:52 point

yeah, but for the cloud, there is no stl file, just a glb. And my friend asks for an stl. Since the poster said he converted it, I thought it would be easy to add that as well.

  Are you sure? yes | no

Mukesh Sankhla wrote 05/22/2020 at 12:32 point  or you can download this if that's not working and don't forget to set the infill value to 0%.

  Are you sure? yes | no

Erik-Jan Jaquet wrote 05/22/2020 at 19:02 point

That is great! That helps a lot. Thanks for the support and great project! Looking forward to building this!

  Are you sure? yes | no

Mike Szczys wrote 05/11/2020 at 15:13 point

I like how you soldered the LEDs at an angle so that the V+ and GND could be rails going down either side. Nice!

  Are you sure? yes | no

Mukesh Sankhla wrote 05/11/2020 at 15:19 point

Thank You! It's very easy way of connection.

  Are you sure? yes | no

Mike Szczys wrote 05/11/2020 at 16:53 point

Ah-ha, I just saw your RGB glasses project that explains it. Link for those interested:

  Are you sure? yes | no

Maakbaas wrote 05/10/2020 at 17:12 point

Very nice and creative!

  Are you sure? yes | no

Similar Projects

Does this project spark your interest?

Become a member to follow this project and never miss any updates