Desktop Weather Station (Wifi Updates)
by DIY GUY Chris in Circuits > Electronics
2423 Views, 47 Favorites, 0 Comments
Desktop Weather Station (Wifi Updates)
Hey guys! are you ready for a new instructable! just let's get to decorate our desktops then..
As usual I made this tutorial to guide you step by step while making this kind of super amazing low cost electronic projects which is the "Weather station Display".
During the making of this project, we tried to make sure that this instructable will be the best guide for you in order to help you if you want to make your own Weather Station Display, so we hope that this instructable contains the needed documents. This project is so handy to make specially after getting the customized circuit board and the CNC cut parts. Also there is enough documents and codes in this guide that allows you to create your Weather Station easily.
We've made this project in just 2 days only, just one day to get all the needed parts and finish the hardware making and the assemble, then we have prepared the code to suit our project. Before starting let’s see first
What you will learn from this instructable:
- Making the right hardware selection for your project depending on its functionalities.
- Understand the weather station workflow.
- Prepare the circuit diagram to connect all the choosen components.
- Produce your own PCB design.
- Solder the electronic parts to the PCB.
- Assemble all the project parts.
- Start the first test and validate the project.
Downloads
How the Weather Station Works!
As always I start my project with this short description, our project is based on a NodeMCU dev board which already includes a WiFi modul to connect to the internet in order to receive the weather forecast updates and display it on the OLED screen, which is connected to the NodeMCU through the I²C communication port.
In order to make all this happening without problems, some libraries should be included in source code. These libraries are available in open source and you can add them directly from your Arduino IDE
The weather station will also get the Time and Date data from the internet and to do such feature we need to provide the NodeMCU the websites from where it will upload the Weather forcasts and the time date data. All of this will be explained in the Software section of this presentation.
This project is so basic one, no complexity in it, I used easyEDA online platform to prepare this circuit diagram that has all the necessary components for this project and some additional parts like a buzzer for some alarms and some LED outputs you can have the PDF format of the schematic or the PNG format from the download section below.
Circuit Board Making
After preparing the circuit ,I transformed this circuit diagram into a customized PCB design with a cloud shape to suit our project theme, all what we need now is producing this circuit design. As you see through the photos, the PCBs are very well produced and this cloud shape will add a better appearance to our project
Related download files
You can also download the Gerberfile for this circuit.
CNC Enclosure Design
I used than Solidworks software to design this enclosure where we will place the electronic components, and then I produced the designed parts through a CNC laser cutting machine.
you can download the DXF files for the enclosure parts
Full List of Ingredients
Let’s review now the full components list of this project so we will need :
- The PCB that we have ordered
★☆★ The necessary components (Amazon links) ★☆★
- NodeMCU dev board : https://www.amazon.com/gp/product/B010N1SPRK/ref=as_li_qf_asin_il_tl?ie=UTF8&tag=megadas-20&creative=9325&linkCode=as2&creativeASIN=B010N1SPRK&linkId=9150c06a50e422eccd75c48248b82761
- One OLED display screen : https://www.amazon.com/gp/product/B07QW95L1B/ref=as_li_qf_asin_il_tl?ie=UTF8&tag=megadas-20&creative=9325&linkCode=as2&creativeASIN=B07QW95L1B&linkId=6b085e06aa543807294c588716a189a2
- Some SIL connectors : https://www.amazon.com/gp/product/B07RW485F7/ref=as_li_qf_asin_il_tl?ie=UTF8&tag=megadas-20&creative=9325&linkCode=as2&creativeASIN=B07RW485F7&linkId=3161d490460708f8857f72550edd3fc7
- Mini USB connector : https://www.amazon.com/gp/product/B07TQFRVKG/ref=as_li_qf_asin_il_tl?ie=UTF8&tag=megadas-20&creative=9325&linkCode=as2&creativeASIN=B07TQFRVKG&linkId=cfce183e83124c15b2453f6b22f909d6
- Two white LEDs (5mm) : https://www.amazon.com/gp/product/B07T5K4M8B/ref=as_li_qf_asin_il_tl?ie=UTF8&tag=megadas-20&creative=9325&linkCode=as2&creativeASIN=B07T5K4M8B&linkId=d27147dc81efff130d025d639cdd67da
- 100 Ohms resistor : https://www.amazon.com/gp/product/B0185FIDDW/ref=as_li_qf_asin_il_tl?ie=UTF8&tag=megadas-20&creative=9325&linkCode=as2&creativeASIN=B0185FIDDW&linkId=4b8831edc7ca7a95fa41353ea493c484
- A 5V DC power adaptor : https://www.amazon.com/gp/product/B072NDT8HJ/ref=as_li_qf_asin_il_tl?ie=UTF8&tag=megadas-20&creative=9325&linkCode=as2&creativeASIN=B072NDT8HJ&linkId=55cd33c4526e4a7241299ce337c0ad8b
Software Part
the Arduino IDE library setup
Make sure that your computer is connected to internet in order to have access to the online libraries. Once you run the Arduino IDE, move to sketch >>include library>> manage libraries, a new window will appear to show the installed libraries that you have and other libraries that you can download, make sure that you have downloaded all these three libraries showen through the above photos and you can search them by them names (download the same version as mine)
- The first library is the OLED display which will facilitate the control of the display screen using the NodeMCU board.
- The second library will help you have the NodeMCU source code.
- The Third library is the online streaming library, since internet data is a bit large data for the MCU to interpret them so this library will help to split the internet large data into some small frames.
After having the appropriate libraries, you move to the IDE examples and run the weather station demo. As you see in the above photo all the downloaded libraries included in this program, the next step that we need to perform is inserting the WiFi ID and password, next we move to the openweathermap website from where the NodeMCU will get the forecast updates.
After creating an account in this website you will have your unique API key so just copy and paste it in the code demo.
What you need next is the location id, so go back the openweathermap website and select your country and in the website address toolbar you will find the desired location id so just copy and past it in your code, the last step now is to upload the code to your NodeMCU and if you still don’t know how to use NodeMCU boards with Arduino IDE just check the this video to guide you through.
Hardware Assembly & Demonstration
Now everything is ready so let’s start soldering our electronic components to the PCB and to do so we need a soldering iron and a solder core wire.
As you can see, using this PCB is so easy due to its very high quality making and without forgetting the labels that will guide you guys while soldering each component because you will find on the top silk layer a label of each component indicating its placement on the board and this way you will be 100% sure that you will not make any soldering mistakes.
I’ve soldered each component to its placement, about this PCB it is a two layer PCB this means that you can use both sides of it to solder your electronic components.
Now we have finished the Hardware assembly and once we plugin the power supply adaptor, the gadget starts to display the weather forecasts.
This project is so easy to make and an amazing one and we recommend it for any maker how try to create his own gadgets but still some other improvements to perform in our project in order to make it much more butter, that’s why I will be waiting for your comments to improve it.
One last thing, make sure that you are doing electronics every day.