The MakerPlane Electronic Flight Information System (EFIS) is written in Python and called ‘pyEFIS’. It was created for use within Experimental-Amateur Built aircraft.

It uses the FiX Gateway plug-in to communicate to and from the CAN-FiX protocol to sensors and other instruments. pyEFIS can be installed on low-cost single board computers such as the Raspberry Pi or Beaglebone with many screen size options to fit different aircraft panel requirements. Resolution of the display is also a configuration option and is not a limitation within the software. 

As you can see in the images below, it is compact and even an ultralight can have a low cost glass cockpit now!  The aluminum case is solid and engineered to take the vibrations in the aircraft.  The bezel is made using CNC and is powder coated.

Primary Flight Display (PFD)

The PFD is the default screen (which can be changed in the configuration file to another screen if a user wishes). The display has flight data and engine sensor data on the same screen. The engine data is not the complete engine sensor information. It provides an average EGT temperature and the maximum reading from all of the CHT sensors. The PFD also displays airport and obstacle data from the FAA North America database and can be updated. Runway direction, extended centerline and PAPI are also drawn and provide enhanced situational awareness for the pilot.  

Runway, PAPI and Airport Identifiers are rendered from the current FAA North America NAVAIDS database.

Based on the work of previous EAA Founders Innovation prize winner, Airball, we have integrated a relative wind indicator within pyEFIS. The relative wind indicator displays angle of attack on the vertical axis, and lateral wind on the horizontal axis.

If angle of attack is not measured directly using an AOA sensor (such as an Airball sensor), an estimate is made using other flight and configuration data. Lateral acceleration is currently used as a proxy estimate of lateral wind. The color of the ball changes according to an intelligent threat detection algorithm.

If the smart detection does determine a threat, again high integration comes to the pilot’s aid. The pilot is warned through three major senses: sight (relative wind diagram on the PFD), sound (alarm tone output which is mixed into the intercom system), and touch (stick shaker). Visual warnings consist of both showing the relative wind ball in a danger zone, as well as the color turning red. At the highest degree of danger, the system has found the aircraft low airspeed, low altitude, not in line with a known runway, high angle of attack, and an uncoordinated turn. In this situation, a severe crash is imminent, and the system warns with the loudest alarm tone, a red relative wind ball, and shaking stick. In danger to lower degrees, the ball is somewhere between red and green, and a low warning tone is played. In normal flight, no alarms of any kind bother the pilot.
The image below shows Standard Rate Turn Indicators. These yellow tick marks indicate the bank angle required to complete a standard rate turn. This will vary according to the flight envelope calculated in near real time.

Artificial Horizon/Attitude Indicator
The next default screen is the Attitude Indicator/Artificial Horizon without the engine data shown. This declutters the screen and is particularly useful if an Engine Information System screen is available separately as a different instrument on a panel.

Six-Pack Instruments
A traditional ‘six-pack’ of analog instruments is provided as another configurable screen for users if they desire. Developers can customize these for any look and feel to replicate any legacy instrument within this cluster.

The MakerPlane pyEFIS code is available on the MakerPlane GitHub site here:

Please consider donating to MakerPlane to allow us to continue to bring open source aviation projects to the community.