Python And Pi Provide Heads Up Display For Your Experimental Airplane

You shouldn’t be looking at screens when you’re driving, but what about a heads-up display? A screen that could put relevant information in your field of vision would be great, even more so if it used a Raspberry Pi. That’s exactly what [John] did, only he did it with an airplane.

First up, the legality of this build. [John]’s plane is registered as experimental, which, provided you know what you’re doing, is pretty close to ‘anything goes’ as you would want in a manned aircraft. [John] has a sufficient number of hours in his log book, and he’s built a Zenith 701.

For hardware, the hard part of this build is constructing a heads-up display. Fortunately, aftermarket HUDs exist, and [John] is using a Kivic projector, a $200 piece of equipment that’s readily available on Amazon. If you need a HUD for your car, there you go. The software is another thing entirely, with the goal of having the software decoupled from the display and data sources. This is somewhat easy to accomplish with a Raspberry Pi; the display is actually just some minimal text-based blocky graphics built in PyGame. This build is also decoupled from the data sources by building this as a user interface for Stratux, an independent Raspberry Pi-based ADS-B receiver for pilots.

There are several views available with this HUD, with the AHRS + ADS-B providing information on the aircraft’s attitude and altitude, along with a few indicators of the nearest planes. The traffic view expands on the ADS-B data, showing the nearest eight or so aircraft in the air, with a range, bearing, and difference in altitude. There’s a diagnostic window, and since [John]’s plane is a backcountry STOL thingamado that can hover in a strong wind, there’s also a digital version of a norden bombsight. It’s for dropping bags of flour onto a grass strip. You can check out [John]’s entire AirVenture presentation of the build below, with all the code available here.

9 thoughts on “Python And Pi Provide Heads Up Display For Your Experimental Airplane

  1. Now I only briefly looked at it, but these things don’t just project onto a piece of regular glass // plastic right?

    One thing a proper hud does is project the image you see “to infinity”. That way the eyes don’t focus themselves to a few feet and blur everything past it.

    1. This. I work on HUD’s for a living. The company I work for manufactures them for commercial, business, and military. One of the first things we have to set up in the display is the “collimation” of the display which sets the focus to infinity.

      We have developed a compact HUD which uses a piece of glass that has wave-guides (for lack of a better term) in it to eliminate the need for a large projector source. I know why this guy would do this, the hardware is frigging expensive.

      I will say though, the JHMCS and the F-35 helmet are pretty bad ass for what they do.

      1. I’m also in avionics, but in software so I’m not so that familiar with optics other than basic concepts. I’m trying to DIY my own HUD using fresnel lenses to collimate. I wish waveguide glass was available at the hobbyist level so I would have to have such a bully combiner.

        1. Yeah, the cost of the glass is a bit up there. Hell, just the glass we use for the standard HUD is expensive due to the holographic gel that is put on it so that you can see the display.

      2. I have a GPS speedometer app on my phone. To use it as a HUD in my car I just have to select the mirror image option and set it on the dash against the base of the windshield. It’s OK in the day, excellent at night. A self adhesive semi-transparent thing would help with daytime use.

    1. I can see this working quite well in a BD-5, with its extended canopy. It would be great if the existing panel could be trimmed to increase forward visibility, using a display like this in its place.

Leave a Reply

Please be kind and respectful to help make the comments section excellent. (Comment Policy)

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