Project: IOT Weather Forecasting Station

The most discussed topic in the western world is the weather. We speak about it around the water cooler, at the bus stop, and in elevators. If you only could have a magical cube that could tell you the weather on your desk or near the water cooler.

Now you can. I created an IOT weather cube that you can build yourself. The IOT weather cube will display the current conditions and with the click of a button you can see up to 3 days of weather forcast for your region.

All you need is a few parts, some soldering skills, a free development account on wunderground.com, and a Wi-Fi router connected to the internet. I’ll supply the pictures how to connect the wires, the code, and even the drawings for getting your own box cut on a laser cutter.

The most discussed topic in the western world is the weather. We speak about it around the water cooler, at the bus stop, and in elevators. If you only could have a magical cube that could tell you the weather on your desk or near the water cooler. Now you can.

 

Tools

All you need for tools are a soldering iron, wire strippers and cutters. A small vise or helping hands with banana clips to hold your small items steady when soldering.

Most people don’t have laser cutter in their garage (including me) to cut your box. But most cities have service centers or hacker spaces where you can get this done for a minimal fee.

You also going to need a hot glue gun and some double sided foam tape to attach your Huzzah breakout board to your project box.

Downloads

Fritzing Bill of Materials

Shopping List

Amount Part Type Properties
1 Adafruit HUZZAH ESP8266 Breakout variant A; part # 2471
1 Nokia 5110 LCD
1 10Ω Resistor tolerance ±5%; resistance 10Ω; package 0603 [SMD]
1 Pushbutton panel mount SPST;; diamiter  6mm
1 Toggle Switch switching circuit SPDT; package THT
1 Round Pushbutton panel mount SPST; default state Normally Open diameter 7mm
1 USB Connectors SparkFun microB USB Breakout  12035
Wire  Assortment Hookup wire
6 Male header pins 15mm/5mm pin lenght for huzzah programming
FTDI Cable 5V


Step 1 WUNDERGROUND.COM development account/API

wunderground.com is one of the many weather streaming sites that provide up to date weather information. You can access this information by requesting it using an API key using a specific web request format. They will send you  the weather data back in a pre-specified format  so our Arduino sketch is able to read this data..

This type or request and response require an Application Programming Interface (or API for short) that the service provider (wunderground.com in this case) creates so people like us can get data from them.

Signing up for an account

To do this you first need an account with them by clicking on this link and going through the process for signing up for an account. When you have received their conformation email and you have verified your email with them it is time to create an API key.

You create and API key by clicking on this link and creating a development account and requesting the API key. On this page select the Anvil plan, select the free developer account and click the Purchase key button. On the next page you have to supply your name, email, give a project name, and provide a web site. Look at the image below how to answer the rest of the questions. Finally you are getting the api key. This 16 digits key is important information you need to keep. Note it down

Step 2 Collecting your WI-FI credentials and you GPS location.

You are going to need your SSID and password to connect to your WI-FI router.  Use google maps to get your GPS locations. This locations has 2 numbers that look something like this 49.263173, -123.110683. For our purpose you need to trim this back to look like this 49.263, -123.110. You are going to need this information later when it is time to modify the Arduino sketch to customize it for your purpose.

Step 3  Connecting all your parts together

It is a good idea to get your project box first. This way you know how long your hookup wires need to be. Make sure you have the hookup wires that you solder to the Huzzah breakout board come from the top and the wires that come from the Nokia display come out of the back. If you are planning to use my laser cut box plans first read that section at the bottom of the page

If you are using my laser cut box as a project case, only solder the header pins for programming  on to the Huzzah breakout board. Use longer ones so you can bend them 90 degrees. Just follow the table to see what pin goes to what connection. Just click on the image for a better look. 

Connection Table

A quick note about the switch connected to pin 0 on the huzzah. If you pull the pin to ground by placing the switch in the appropriate position the red led will turn on. If you would do a power cycle the huzzah will boot so you can upload a sketch too it. After the power cycle move the switch back into it’s neutral position. This way you can make a small hole in your project box (and let the switch and the programming header be exposed) and be able to reprogram your huzzah if you change passwords or WI-FI networks.  

 

Step 4 Uploading the code

To upload the code to the huzzah you need to first download all required libraries and sketch files. The Nokia 5110 library is a modified Adafruit version for use with the Adafruit Huzzah breakout board. I got it on Githup from user bbx10. If you already have the normal Adafruit library installed you have to replace it for this project. To learn how to install libraries click on this link

If you have never worked with the Adafruit Huzzah breakout board and how to install the drivers required in your Arduino IDE follow this link to the Adafruit tutorial. They always do a great job.

When extracting the huzzah_wunderground_weather_station_v4.zip file make sure that both the .ino and the icon.h file are in the same folder. Before uploading the sketch open up the huzzah_wunderground_weather_station_v4.ino file.

At the top of the file just under the header information you can find 4 variables (ssid, password, gps,api) you still have to enter your information. Replace the text between the quotation marks with your information, e.g. behind the ssid enter your ssid between the quotation marks. After making these changes and saving the file you can upload it to your huzzah breakout. If you have soldered the switch to pin 0 make sure that it is in the neutral position.  

Step 5 The laser cut cube

 The wood is 6 mm plywood. Below you can download the files you can bring for laser cutting. All measurements are in millimeters.  I have created 2 files for the laser cutter. The 90cm v2 box with notations.svg (you can download by clicking on link) has instructions in it for the laser cutting process. Don't use it for the actual laser cutting. Use 90cm v2 box.svg for this purpose (you can download by clicking on link) You can use Inkscape to edit them. It is a freeware you can find on the net for free.

Check out the photo slide show below and read the comments to get a better understanding how every thing fits together.