This MicroPython project displays nearby flight information (fetched from the Flight Finder Service API) on an Interstate 75 W powered LED display (64x32 RGB LED matrix).
Inspired by: https://blog.colinwaddell.com/articles/flight-tracker
Follow Pimoroni's guide: https://learn.pimoroni.com/article/getting-started-with-interstate-75
(be sure to utilise the "... with filesystem" firmware)
This example was tested on Interstate 75 firmware version 0.0.5.
Once connected to the I75 device:
-
Copy the
flight_display.pyfile onto the device (optionally rename it tomain.pyto run on boot) -
Set
API_URLinflight_display.py -
Set the config options towards the top of
flight_display.py, including the locationLATITUDE,LONGITUDEandRADIUS -
Optionally adjust the quiet time settings in
flight_display.py(show nothing on the display between these times)- Be sure to set
UTC_OFFSETto correctly calculate quiet time based on your timezone
- Be sure to set
-
Note the line
color_order=Interstate75.COLOR_ORDER_GRBinflight_display.py- this was required for the specific panel tested, but you may need to change it back toCOLOR_ORDER_RGBor another value depending on your panel -
Create a
secrets.pyfile containing:WIFI_SSID = "" WIFI_PASSWORD = "" FLIGHT_FINDER_API_KEY = ""
Run the flight_display.py script to start displaying flights
This emulator allows testing of the flight_display.py Micropython code without needing to connect to the actual Interstate75 hardware.
python3 emulator.py
The emulator loads test data from test_flight_data.json. Create and edit this file to test different scenarios:
{
"found": true,
"distance_km": 5.2,
"flight": {
"number": "BA123",
"aircraft": {
"model": "Airbus A320-232"
},
"route": {
"origin_iata": "LHR",
"destination_iata": "CDG"
}
}
}If nothing is displayed / the emulator quits, check the "quiet time" settings in flight_display.py to ensure the current time is outside of the configured quiet period.