$USD
  • EUR€
  • £GBP
  • $USD
PROJECTS ESP8266

ESP8266 Weather Display using a Wemos D1 mini and Art Deco Style enclosure

DFRobot May 09 2018 327

In this ESP8266 Project video, we are building an ESP8266 Weather display using a Wemos D1 mini board and a 1.8"Color TFT display. The total cost of the project is less than $15! The Art Deco style enclosure is 3D printed using a wood filament. Let's see how to build this project!

The project uses a Wemos D1 mini board along with a 1.8" Color TFT screen to display the weather forecast. I also designed and 3d printed an enclosure for this project using wood filament! I got the inspiration for this Art Deco style enclosure from an old radio.  The project connects to the internet and downloads the weather forecast for my location and displays it on the screen. The project only displays the weather icon, the temperature and the time of the prediction because I wanted a minimal look for this project. Of course you can easily add more information if you wish. Now let's see how to build this project.

The parts needed in order to build this project are the following:
• A Wemos D1 mini board
• A 1.8" Color TFT display
• Some wires

Dear friends, welcome back. In this video we are going to build this Wi Fi weather forecast display. It is a very useful and very easy project to build so without any further delay let’s get started. Hey guys, I am Nick and welcome to educ8s.tv, a channel that is all about DIY electronics projects. If you don’t want to miss any videos, subscribe to the channel by clicking on this button. In this video, we are going to see how to build this weather Forecast display. 

It uses a Wemos D1 mini board along with a 1.8 inches color TFT screen to display the weather forecast. I also designed and 3D printed an enclosure for this project using wood filament. I got the inspiration for this Art Deco Style enclosure from an old radio. The project connects to the internet and downloads the weather forecasts for my location and displays. The project only displays the weather icon, the temperature and the time of the prediction because I wanted a minimal look for this project. Of course you can easily add more information if you wish. Now let’s see how to build the project. The parts needed in order to build this project are the following- A Wemos D1 mini board, an A18 color TFT display, some wires. 

The cost of the project is very low. It is around 12$s.You can find the links for all the parts in the description below. We also need an enclosure for this project. If you like, the Art Deco enclosure I designed for this project, you download it from Thingiverse.I have posted the link for the enclosure files in the description of the video as well. Now let’s connect all the parts together. I used a small bread board in order to build a prototype for the hardware and develop the code. In case you are not familiar with the Wemos D1 mini board is a fantastic new board which uses the ESP8266 chip. It costs around 5$ and it is 17 times faster than an Arduino Uno. 

It has a large amount of memory and it can be programmed using the Arduino IDE. The display is one of my favorite displays for Arduino.It uses the SPI interfaces so in order to connect it with Arduino we need 8 wires.Vcc goes to 5V on the Wemos D1 mini, GND goes to GND and CS pin in connected to the Digital Pin 2, Reset Pin is connected to digital Pin4, A0 pin goes to digital pin, SDA pin goes to Digital Pin 7, SCK Pin goes to digital pin 5, and the last pin to the 3.3V output of the Wemos D1 mini board. Now after powering up the project, we can see that after a few seconds the weather is displayed on the screen. The project needs around 110mA of current to operate so I am going to use an old cell.

 I designed this enclosure using Fusion 360 free software and I am going to 3D print it using wood filament. I used Formfutura’s easy wood coconut filament and I have to say this filament is by far my favorite. It looks and feels great.The enclosure consists of 3 parts and it took me a few hours to print it, but the result was fantastic. After the print was over, I sanded the parts and polished them using wood varnish. The end result is impressive. Since I am very new to 3D printing, my technique for polishing the 3D print may not be ideal but the end result is really great. I waited a few hours for the varnish to dry and then I attached the display to the front piece with some tape and soldered the wires to the Wemos D1 mini board. I then connected the wires to the screen. After testing the circuit again to be sure that everything is working as expected, it was time to glue the Wemos D1 mini board in place. Unfortunately the design was not perfect and the parts didn’t fit in the enclosure for an error of a couple millimeters, so I had to make some modifications to the design the hard way. 

The 3D files that I have uploaded are the correct ones, after the modifications were transferred to the 3D design. Then I powered up the project and centered the display before attaching it permanently with hot glue. It was ten time to glue a small piece of fabric on the front piece in order to add some color and contrast to the enclosure. The lat step was to glue all the parts together. Our project is ready. Impressive isn’t it? I really like the shape and the feel of the enclosure. It makes an ordinary weather station to look unique. Let’s now see the software side of the project. The project gets the weather forecast from the openweathermap.org website. In order to parse the weather data we need the excellent Arduino JSON library. We also need two libraries for the display. 

You can find links for all the libraries in the description of the video below. Let’s see the code now. At first we have to set the SSID password of our Wi Fi network. Next we have to enter the free API key from open weathermap.org website. In order to create your own API key you have to sign up in the website. Getting current weather data and forecast is free but the website offers more options if you are willing to pay some money. Next we have to find the ID of our location. Find your location and copy the ID which can be found in the URL of your location. Then enter your city’s ID in the city ID variable. 

The last step is to enter your time zone in order of the project to display the correct time. Now we are ready to move on. At first, we connect to the Wi Fi network. Then we request weather data from the server. I only request one result, the weather forecast for the next three hours. You can easily modify the code to get more forecast results if you wish. We get a reply with the weather data in JSON format. Before sending the data to the JSON library I manually deleted some characters that were causing me problems. Then the JSON library takes over and we can easily save the data that we need in variables. We have to look at the structure of the JSON data that the openweathermap.website replies to see how to get the data we are interested in. After we have saved the data in variables all we have to do is display them in the screen and wait for 30 minutes before requesting new data from the server. 

We display the time of the weather prediction, the temperature and the weather icon. The weather icon consists of some bitmap graphics and some simple shapes. You can also watch a detailed tutorial I have prepared on how to load custom bitmap graphics on Arduino by clicking on the card here. I have also prepared a version of the code which displays the temperature in degrees Fahrenheit’s always, you can find the code of the project in a link in the description of the video. As you can see with the technology now available we can build impressive projects easily and with very low cost. 

This project is a clear demonstration of this, it costs less than 15$. Of course we can add many things to this project in order to improve it. We can add a speaker and make it an MP3 player we can add an FM radio receiver and turn it into a vintage radio and many more things. I would love to hear your opinion about this project. Do you have any ideas on how to improve this project? Please post your thoughts and ideas below. Thanks!

REVIEW