METAR Wall Chart with LEDs


Aug 24, 2011
Vancraft Lightning
Total Flight Time
METAR Wall Chart with LEDs and Local WEB SERVER
I saw one of these on Home Built Aircraft using a Raspberry Pi and I wanted one.
This video that started me on this project:

This project requires WiFi internet access from a Network or Hot Spot.
So, I built my own little project (but better of course), because mine flashes for weather and shows gradients across the map.
It took time to evolve and develop.
It works with an Arduino type device: ESP32 Development Board 2.4GHz WiFi+Bluetooth Dual Mode,
which has WiFi and various inputs/outputs which are programmable.

I ended up with this configuration because it is more cost effective than using a Raspberry Pi and
can be easily powered, programmed, has dual core for speed and retains it's program when power is lost.

ESP32 Development Board 2.4GHz WiFi+Bluetooth Dual Mode $ 10.00
A 5V 5050 WS2812 LEDS non-waterproof (strip of 60) $ 8.00
Inexpensive School Display board (Dollar Store) $ 5.00
or other mounting frame.

Other Stuff which you may already have:
Thin wires (telephone cable) to chain (connect) the individual LEDS.
A micro USB cable to upload and/or power.
Mains or battery USB power bank.
An (old) aeronautical chart.
One 220K electrical resistor.
Tools: scissors, soldering iron, solder, scotch tape.

In concept, it does not get any simpler than this.
The external power supply is only required for more than 60 LEDs.


But, we want is to have individual LEDs across the back of chart.
Tip: Before you cut your strip, mark the back side of the strip with an arrow opposite the 5v. I used red marker (Bad things can happen if you connect the wires in reverse) and don't forget the resistor in the data line before you connect.

(You may want to skip this “cut step” until you have the initial base software uploaded).

So, cut up the LED strip with scissors at each connection and place each LED at the airport location under the chart.

Tip: I put a pin hole through the chart, so I could locate the airport from the back. I used scotch tape to attach the led to the back of the chart. Very fiddly.

Then solder extension wires , keep the wires short as practicable, to the next LED (pin to pin) in a daisy chain. (Just like the original strip).
GND to GND // Dout to Din // 5v to 5v

This is the back, showing the wiring of the LEDs.


I have written the software where you can configure to your application.
Just download this free text file “METAR_ESP32_MASTER.TXT”, below.
and change the name to “METAR_ESP32_MASTER.INO” on your computer.

With a computer, download the Arduino Software (IDE). This file with a completely free software package on the Arduino website.
Explanatory videos are on YouTube to walk you through exactly how to do this.
Getting Started with ESP32 video from DroneBot Workshop.
You will also have to modify this package to work with the ESP32, see video.

Load METAR_ESP32_MASTER.INO to the Arduino Software (IDE).

First, I suggest you change only the network name and password to your system, then upload.
Find the line:
const char* ssid = "NETWORK NAME"; // your network SSID (name)
const char* password = "PASSWORD"; // your network password
Change these to match your network credentials.
This will now work as a initial base software and you will now be up and running.

Select “Tools”, “Serial Monitor” Menus in the Arduino (IDE) . This will then print out your information, after the upload, needed to access with a cell phone or computer and show any errors.
Upload to the ESP32 using micro USB cable that supports a computer, this will provide power and the data transfer.

Then modify, a few at a time, the station identifiers and their names, then upload again until all stations are to your liking.
Note: The station identifiers can be world wide.
Tip : List of ALL US Stations Codes by State.
Or use to get the identifiers.

Please read REMARKS/COMMENTS in this section of the file.

Tip : Periodically Change file name with the “File”, “Save As” Menus in the Arduino (IDE).
Change the word “MASTER” to your version so far (could be the date or time or just “A” “B” “C” after you have made some changes).

FINALLY, Change the number of stations that you ended up with.
Find the line:
#define No_Stations 52 // Number of Stations also Number of LEDs
Change the number to what you ended up with.
Find the line:
const char* FileName = "METAR_ESP32_MASTER_10_29";
Change the file name to what you want it to be.

This is a picture part way though my project running with a USB Power Bank.
Individual LEDs can be seen at the bottom.


LEDS show all station CATEGORIES (similar to the HomebuiltHELP video, link above). This updates METARS approximately every six minutes, so nearly REAL TIME data, from AVIATIONWEATHER.GOV.

Then sequentially cycles through all the stations and flashes individual LEDs for weather:
Wind Gusts(Cyan), Precipitation(Green/White), Ice(Blue), Other(Yellow) and Info(Orange).

Then displays "RAINBOW" Gradient for all stations, for:
Visibility Gradient [Red to White],
Wind Speed Gradient [Cyan],
Temperature Gradient [Blue Green Yellow Orange Red],
Altimeter Pressure Gradient [Yellow Orange Red Blue Purple].

And repeats until the next update (approximately six minutes).
Please read REMARKS/COMMENTS in the text file.

And basically you are DONE with the chart!
This is great but, What is the METAR detailed Information?


VIEWABLE with a cell phone or computer connected to the SAME network:

Tip : You will need to know the Url address for ESP32. So Before you upload,
Select “Tools”, “Serial Monitor” Menus in the Arduino (IDE) .
This will then print out your Url address needed to access with a cell phone or computer, after the upload.

Here is an example:


METAR Summary gives a color coded overview, as above category colors.
Note: The Purple REMARKS shows new data is available.

Here is an example:

At the end of METAR Summary, there is the METAR Station:
showing DECODED METAR information and much MORE.

Here is an Example:


Navigating About:
This is really simple. There are three buttons, one to go Forward, “Next Station” through the list of stations and one to go Back,Previous Station” through the list of stations.
The middle button allows you to jump to the Current station,Flashing LED”.
The last button takes you back to the “Summary of Stations”.
You can see where you are in the “list of stations” because the current station number and identifier has yellow background.
You can jump to any station by entering it's identifier, “Enter Airport ID Code”.
You can even enter a code that is not in your list and it will get that METAR. Note: This can be world wide.

Note: After an update of a station, the Sky Cover and Altimeter will show the increase or decrease in value.
Significant changes are highlighted in the Summary and the LED will flash Orange once.

A few extra features: See Above, Shows Zulu Time and last update time, Stations are color coded, Temperatures are shown in degrees C and F.
Calculates Density Altitude (always useful).

Updates are not refreshed, so to see the current data. Press the “Refresh” button on your browser.

Any feedback is appreciated.


    59.1 KB · Views: 3
Last edited:


Gold Supporter
Apr 21, 2008
San Diego, CA. USA
Piper Archer, Aviomania G1sb
Total Flight Time
Not sure over 10,000+ logged FW, 260+ ultralights, sailplane, hang-gliders
That could be useful at PRA fly-in's. One look and you know the area weather and watch it change.
Thank you for sharing.