Skip to content

About

Project for displaying the details of planes overhead on an Adafruit MatrixPortal and LED matrix

Resources

Stars

398 stars

Watchers

20 watching

Forks

Latest commit

 

History

32 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 

Repository files navigation

flightportal

Project for displaying the details of planes overhead on an Adafruit MatrixPortal and LED matrix

(video sped up to make the file fit, the speeds and delays are configurable anyway)

flightportal.MOV

Uses an Adafruit MatrixPortal and a 64x32 LED/RGB Matrix (P4), and some fairly hacked-together FlightRadar24 API-style scraping to display the details of flights passing overhead. That code being unofficial, it may break at any time!

To make one you will need:

  1. A MatrixPortal M4
  2. A P4, 64x32 RGB matrix panel (I get mine from Aliexpress, also available from Adafruit)
  3. The 3D printed case I designed
  4. Adafruit acrylic diffuser - available various places
  5. 6 M3 screws (sorry, said M5 before but was looking at the wrong ones, my bad. Think mine are 8mm long, little bit more would be OK, shorter probably a problem)
  6. Optional: Uglu dashes to stick the diffuser on, the case holds mine on pretty well though

Software setup

You can automate the library installation via CircUp, easily installed via uv.

Caution

If you do not use CircUp, you will need to manually copy the libraries and their dependencies listed in step 3 below to the CIRCUITPY drive.

  1. Prep the portal as detailed in the Adafruit MatrixPortal guide.

  2. Install CircUp, the CircuitPython library manager:

    uv tool install circup
  3. Connect the MatrixPortal to your computer and install the required libraries:

    circup install adafruit_fakerequests adafruit_requests adafruit_bitmap_font adafruit_io adafruit_matrixportal adafruit_minimqtt adafruit_display_text adafruit_portalbase
  4. Copy code.py and settings.toml to the root of the CIRCUITPY drive.

  5. Edit settings.toml with your Wi-Fi details and the geographic bounding box you want to search.

The portal should now be ready to run. If you'd like to change the layout, colours or the flight info displayed, have a look at code.py; these are configurable near the top of the file.

For power, the easiest thing is to use the cable that came with your matrix panel, as long as it has two prongs that go to the screws on the matrixportal. All that's needed is for the portal to connect to the power port on the panel - we're not using much power here (I clock it at about 2w). Any decent usb power supply connected to the portal should do it.

IMG-2179

I soldered a connection straight onto the panel's power port as below, for neatness, but that's completely optional.

IMG_2125 IMG_2126_small IMG_2127_small IMG_2128_small

Debugging over serial

If the MatrixPortal is in a reboot loop or does not display output, connect to its serial device at rate 115200 to observe the script's output.

Using discotool (recommended)

discotool can assist with identifying the correct serial port and connecting to it automatically.

uv tool install discotool

Note

As of writing, the latest discotool v0.5.8 has a packaging issue that can cause ModuleNotFoundError: No module named 'appdirs' after installation with uv tool. If you encounter it, reinstall Discotool with the missing dependency:

uv tool install --reinstall --with 'appdirs>=1.4.4' 'discotool==0.5.8'

Then connect your MatrixPortal over USB and monitor the serial output:

discotool repl

The output includes helpful messages about errors and the flights the portal sees. You can also paste the URLs shown in the output into a browser to check that they return flights.

Ctrl+C will interrupt the running script and allow you to enter Python REPL, Ctrl+D soft-reboots.

Connecting manually

Without discotool to discover your MatrixPortal, tools like putty or screen can connect to the serial device the MatrixPortal exposes using baud rate 115200. Check Device Manager for COM ports on Windows or look at /dev/tty.usbmodem* devices on MacOS to identify the correct serial device to connect to.

See Adafruit's Connecting to the Serial Console documentation for details.

About

Project for displaying the details of planes overhead on an Adafruit MatrixPortal and LED matrix

Resources

Stars

398 stars

Watchers

20 watching

Forks

Releases

Packages

Contributors

Languages