A high-quality FAA sectional poster showing weather conditions. This repository is a VS Code project that uses PlatformIO to produce code for a ESP8266. Most configuration must be done before compiling.
This was intended as a sectional map, but it can of course be used with any type of map. Other similar maps exist on the internet: LiveSectional, LED Sectional Project, and METARmaps, to name a few. None of them quite fit my requirements, and I wanted to use a map that I had used for a checkride, so I made my own.
- Low parts cost
- Configurable WiFi connection without needing to re-flash (using the ESPTouch app)
- Minimum thickness (about 1" total)
- Fast boot time (ready in 5 seconds)
- Proper HTTPS certificate checking (quite a novelty on embedded hardware!)
- Subtle color transitions (fades between colors)
- Auto-brightness and current-limited brightness
- Powered by USB
- Setup
- Connect the ESP8266 to a computer with a USB cable.
- Download and install Visual Studio Code.
- Install the PlatformIO plugin.
- Clone and open this repository.
- Install CA certificates
- Run
python3 certs-from-mozilla.py - Run PIO task
Upload File System image
- Run
- Configure project your sectional.
- Upload PIO project.
- Setup WiFi
- Install "ESPTouch" on Android or iOS device.
- Ensure you're connected to a 2.4GHz network on the device.
- Use ESPTouch to configure the ESP8266 to the specific network.
This is what I used. However, what I am providing is the software. You can use whatever materials you like.
- ESP-12E development board - $14 for 3
- Map - $10
- 20x30in frame - $35
- Black foam-core board - $3
- Spray adhesive (3M Super 77 recommended) - $10
- Photoresistor (GM5539 recommended) - $5 for 30
- WS2812 LED strip - $18
- Assorted wires
- Hot glue
- USB cable and wall adapter - $14
- Rubber feet - $???
All-in, approximate unit cost for the JAX sectional is about $90 as of April 2020. Depending on the map, a second set of LEDs may be required.
It took me several hours to assemble the whole map, plus many more to write the software.
- Select a map. I used the JAX sectional.
- Apply spray adhesive to foam-core board and affix map, avoiding wrinkles.
- Locate airports on the map that report weather. Poke holes through the map at those airports. I used a #2 Philips screwdriver with a round shaft. A specialized tool would produce much nicer holes.
- Cut the map down to the right size for the frame.
- Glue the LEDs to the back of the foam-core board. Carefully pick the path to reduce the number of LEDs used.
- Glue the ESP8266 to the foam-core board, as close to center horizontally as possible. This lets the cable fall straight down and doesn't let the weight of the cable pull the frame.
If this project becomes popular enough, I'll make a start-to-finish tutorial with pictures.
Some maps have a lot of stations that report weather, and that could exceed the RX buffer size. Break the station list into chunks of 25 or so to ease the load on both the server and client.
Lots of people don't like it when their stuff starts blinking red. Add a tiny OLED or e-ink screen to show diagnostics and status.
In the immortal words of Douglas Adams, Don't panic!™ Also, this isn't a question.
The red-blinking-lights display is a generic "error" indicator. Try the following checklist:
- Verify the WiFi still works and can access the internet.
- Reconnect the device to WiFi using ESPTouch.
- Reboot the device.
- Regenerate and upload the CA file in case the relevant CA changed its key.
- Connect the device to a computer and check the serial port for messages.
Sure! Let's chat and work out a price. Figure on $150 to $300, depending on complexity and customization.
This code is released under the GPLv3 license, except where noted. You may use this repository and guide to make your own map or to sell maps, but you may not make modifications to this software without releasing it under the same license. Attribution would be nice, and I'd really enjoy hearing if this helped someone.
