Map with weather of airports around the country

Posted on 29 November 2019

Pictures are worth 1000 words, so here’s what I’m talking about:

I have a friend who’s a private pilot, and bought a map with a bunch of airports and airspace stuff on it (actually two of them on accident). I decided to work with him to put RGB LEDs in various airports to indicate flying conditions in real time. Apparently, these are called METARs, which to save you a search because I had no idea what it meant either, stands for METeorological Aerodrome Reports. We used the API from the Aviation Weather Service from NOAA, which returns the information in XML, which we parsed with TinyXML2.

Since it would be making web requests, an ESP8266 seemed like the logical choice for the platform that controls all of this. A similar project online used a Raspberry Pi, but in my opinion, that’s overkill and more expensive that it needs to be (we’re both college students, cheap = good). We bought the ESP-01 tiny version of it at first, which worked, but using an Arduino to interface with it and dealing with the associated voltage conversions and holding certain pins low to flash and what not was incredibly frustrating so I ended up getting a NodeMCU instead. Much easier to work with.

We pasted the map onto a giant foam board we found with glue, then drilled holes for LEDs. My initial solution had a common annode LED for each of the 20 airports we planned to do, but my friend thought 60 wires running back to the breadboard (3 for each LED) was excessive. I don’t want to admit it, but he’s probably right; it would’ve been a giant pain to wire up. Instead, we got these addressable LEDs. These are pretty nice, I have two rails of 5V and GND that all the LEDs could connect in parallel to, and then they just get daisy chained up to each other through the data pins. The code used is all here.

Since the initial solution involved using a bunch of non-addressable LEDs, and we ended up using the WS2812 based LEDs, I made a framework that simplifies projects that use a lot of RGB LEDs and pull from REST APIs using the ESP8266. Check it out!.

Some the airports were chosen based on sentimental reasons and others just to get a picture of what’s happening around the country. If anyone’s curious here are the airports we did: BOS,​JFK​,PHL​,DCA​,RDU​,ATL​,MSY​,DFW​,MCI​,ORD​,OSH​,DEN​,SLC​,BZN​,SEA​,SFO​,LAX​,CLT