Adding a mini display to show METAR information to the METAR map

Recently I decided to add a new functionality to my METAR map to support a small display that shows the METAR information for the various airports on the chat.

I decided I wanted to keep it compact, so I bought this small 128 x 64 pixel display from Amazon to embed into my METAR Map. It’s about 2.5 x 1.5 mm (1 x 0.5 in) in size, so it takes up very little space.

Mini LED display using SSD1306 chip

This particular one has the text in Yellow for the top 16 pixels and then blue for the bottom 48, but there are also many others available that are just normal black and white. As long as they use the SSD1306 chip and are I2C, they should likely work just the same.

First thing is wiring them up, they use the SDA and SCL pins on the Raspberry Pi and a 5V and Ground pin. Below is a picture how I wired them up. You can refer to Raspberry Pi GPIO Pinout for a graphic of the pins.

Pin setup for the display

With the wiring done, I’ve set up the software functionality for the Raspberry Pi to be able to communicate with the display.

The detailed steps for that are on the Github page for the METAR map.

With the wiring and the software completed, I made a small cutout in my chart to embed the display, here’s the final picture:

Final display integrated in my METAR map

Like the Project? I always appreciate a cup of coffee/tea!

Some of the above links to Amazon may earn me a small commission to keep the site running.

8 thoughts on “Adding a mini display to show METAR information to the METAR map

  1. Anthony Varga

    Phil, a great add. What would I do to keep the display static on one airfield ? I would like to mount it by my home field and only report on that field.

    Reply
    1. Philip Rueker Post author

      Hey,

      In the metar.py file, instead of looping through the airports towards the bottom of the file (there’s a comment “Rotate through airports METAR on external display”)
      Remove the indented code under:
      if disp is not None:
      and replace it with this (replace “KPAE” for whatever airport you want to show it for, just make sure that airport is present in the airports file for the LEDs):
      displaymetar.outputMetar(disp, "KPAE", conditionDict.get("KPAE", None))

      Reply
  2. Anthony Varga

    Philip, I had left a comment about not being able to load one of the libraries (libjpeg-dev) needed for the display so if you see that please disregard as I resolved with a sudo apt-get update then it installed.

    Reply
  3. Kyle Lacey

    this is a great project I made one and then decided to make another with a friend. during his we ran into a couple problems during the led test they all light up for 2 second then they go out but the last 9 of the string of 50 stay lit. any ideas on why. I am ordering another light string to see if this one is faulty.

    Reply
    1. Philip Rueker Post author

      The most common explanation I’ve seen for unexpected behavior around LEDs not quite working is often related to power, so could be a too weak power supply being used, but yes it could also just be a faulty string of lights, so I guess you can see if it happens on the replacement too and if so, try to maybe use a different power supply.

      Reply
  4. K4DQP

    Philip, one question on wiring. Since I already have the PI ZERO wired up and operating the LEDs, do I just wire in the display to the same PI ZERO (according to your picture in the article)?

    Reply
    1. Philip Rueker Post author

      Hi, yes you wire it to the same PI Zero.
      The LED string and the display use different pins.

      Reply
  5. Lynol Amero

    Hi Philip,
    I’ve added the mini display to the project. I’ve found that when there are gusty winds, the LEDs blink (like they are supposed to), but the display also flashes another station back or forth from the current station being displayed to the next station. I can send a video of the issue if needed (please advise where to send it.)
    Thanks for the great project!

    Reply

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.