ModAir - Modular Aviation Instruments

Open Source Avionics for Microlights and other Non-Type-Certified Aircraft

Similar projects worth following
With electromechanical avionics becoming obsolete and expensive to repair, many analog gauge-type instrument panels are being replaced with an electronic flight instrument system (EFIS). Sensors and displays are cheap and readily available, yet commercial EFIS systems remain ludicrously expensive.

This project aims to create a low-cost EFIS system for non-type-certified aircraft such as:
- Ultralights
- Microlights
- Experimental aircraft
- Light sport aircraft

To support the various engine types, cockpit layouts, display sizes, sensors and required functionality, the system is built around a multi-master bus architecture. Measurements are periodically broadcast on the bus by sensor modules, while other modules monitor, control, display, log or forward this data.

Project Goals

The main goal of this project is to supply an open source infrastructure for avionics development. Each aircraft has different budgets and requirements for aviation instruments; trying to address them all with a single module is unrealistic. A modular approach splits functionality into reusable components. This makes it easier to maintain, replace faulty units, and upgrade by adding modules instead of replacing the entire system. An example is shown below:

Another advantage of the modular approach is that the project can be completed in stages, with nice-to-have features being added later. With the centralised design of the original prototype, I needed to remove the electronics from the aircraft every time I wanted to add functionality. This resulted in not being able to fly while features were developed (which usually took longer than expected), or consequently not developing features because I wanted to fly.

The end goal is to have a library of modules that can be mixed and matched to suit different pilot and aircraft requirements. Examples of modules include:

Module Features Status
Computer Interface Allows PCs, tablets, smart phones and smart watches to be used as multi-functional displays (MFD)


Navigation Waypoints, GPS, IMU, altitude, air speed


Rotax 582 Engine RPM, EGTs, H2O, fuel level, fuel flow


5.8" Graphic LCD
ERM25664 256x64 monochrome (White on Blue)


3.0" Graphic LCD
Nelytech NT-G128641A 128x64 monochrome (Black on White)


3.0" Graphic LCD Generic QC12864B 128x64 monochrome (White on Blue)


2.5" Character LCD
Generic 1602A 2x16 character monochrome (White on Blue)


2.2" Graphic LCD Nokia5110 84x48 monochrome idea
2.2" TFT LCD Generic ILI9341 240x320 SPI serial color idea
Single board computer (RasPi / BB) with HDMI LCD screen


6" E-Ink
ED060SC7 600x800 eink greyscale
Output Relays and open drain outputs (e.g. fuel pump, lights) idea
VHF Transceiver Interface Remote interface for Airband radio idea
Transponder Interface Status and control for Mode A/C Transponder, altitude encoder idea
Black Box Logging to micro SD card idea

Personal Goals and Current Priorities

My main goal is to develop an advanced avionics system for my weight shift controlled (WSC) microlight trike (see background post). Being an open cockpit, my requirements might not always align with other pilots expectations. For example, touchscreen interfaces are almost impossible to use in-air (e.g. typing, zooming, panning); especially when fighting bumpy air and with thick gloves. Physical buttons, knobs and rotary encoders work quite well though.

My current priorities are as follows:

  1. Finalize system design documentation (April 2017)
  2. Get the firmware for the Graphic LCD modules and the Rotax 582 Engine module to a state where I can use it in the aircraft (April 2017)
  3. Design the Navigation module PCB so that I can send it off for manufacturing (May 2017)
  4. Focus on the Computer Interface module and start looking at some 3D frameworks for moving map and synthetic vision [Android or Linux] (June 2017)

System Design

General requirements/features: cost, open source etc


Minimum requirements for a module: sensors, parameters, remote terminal for user interface and configuration.

Message Types

This section describes the message types (i.e. application layer) for the ModAir bus, with the CAN standard defining the transfer (CAN 2.0B) and physical (ISO 11898-2:2003) layers. The CAN-bus was chosen for it's robustness, automatic message arbitration and widespread use in the aerospace and automotive industries. An extended CAN message consists of a 29-bit identifier (CAN-ID) and a maximum payload...

Read more »

  • Other CAN-bus Aviation Protocols

    Rene3 days ago 0 comments

    This section tracks and compares various aviation-specific CAN-bus protocols. Being open source, support for these protocol can always be added at a later stage if required.

    Read more »

  • Other Open Source Avionics

    Rene3 days ago 0 comments

    This section tracks other open source avionics projects, for the purpose of collaboration and design reuse. Please let me know if you know of any other initiatives.

    Read more »

  • System Bus Decision

    Rene3 days ago 0 comments

    The entire design is built around a shared bus, into which multiple modules, interfaces and screens are plugged in. With various sensors asynchronously producing data, a one-to-many bus that supports message broadcasting is required. This leaves us with some options...

    Read more »

  • Feature Wishlist

    Rene5 days ago 0 comments

    I find it useful to envision as many future requirements as I can think of. That way the architecture can be designed with future upgrades in mind, even if these features are never actually implemented.

    Read more »

  • Background

    Rene5 days ago 0 comments

    I have always dreamed of flying and was fortunate enough to be able to complete my recreational pilot license a few years ago. South Africa is an amazing country to explore by air, especially in an open cockpit of a Weight Shift Controlled (WSC) trike!

    Read more »

  • First Batch: Assembled Modules

    Rene02/05/2017 at 13:21 0 comments

    For the first manufacturing batch, I decided to focus on the bare essentials: LCD screen module and engine monitoring module. The screen module PCB was designed to fit some of the more common graphic and character LCDs from China. Here are some pictures after soldering and assembly.

View all 6 project logs

Enjoy this project?



radiusmike wrote 04/07/2017 at 03:57 point

Great project.  I am a pilot and have owned aircraft, so am very familiar with this technology and think your approach makes good sense, I am building a set of instruments for my Honda Pilot ATV starting with EGT and CHT.  Am willing to help out here and there when/where I can.  

  Are you sure? yes | no

Rene wrote 04/07/2017 at 07:20 point

Thanks! If your EGT/CHT thermocouples are type-K, I found the MAX6675 very useful. Schematics and firmware are on Github. Good luck with your ATV and thanks for your offer to help

  Are you sure? yes | no

yesnoio wrote 04/05/2017 at 22:39 point

Hello Rene! An excellent project indeed! I would like to help with your project. I have little time, these days, but I did start an open-spec project a few years ago to help solve many module-related obstacles we face. It is largely built around aviation/industrial connectors. It has the protocols (CAN, I2C, SPI)  & topology you require. The project is listed on my profile. I'm eager to learn more about your project and help in any way I can (perhaps, even, with some long-distance prototype collaboration). All the best...

  Are you sure? yes | no

Rene wrote 04/06/2017 at 19:58 point

I quite like your open-spec project... Will spend some time reading :) Thanks for your support and offer to help

  Are you sure? yes | no

wintercabin2007 wrote 04/05/2017 at 22:20 point

I have a Lancair 360 that I can use to test any of your systems.  There are existing CHT, EGT and Fuel flow sensors and I have a variety of parts (Raspberry etc) that could be incorporated.  I did do some experimenting with National Instruments stuff (accelerometers etc) but things have changed substantially over the past 4-5 years. I also found trying to source sunlight readable displays a problem , hopefully you have had better luck.   Let me know if there is anything I can do to help including a financial contribution.  

  Are you sure? yes | no

Rene wrote 04/06/2017 at 19:55 point

Thank you for your willingness to help. I really appreciate it; will keep you updated!

  Are you sure? yes | no

samern wrote 04/02/2017 at 11:51 point

Absolutely.  I am a bit far from first flight in my Corvair Cruiser or Zentih, but I can code and I certainly can build and most defintely test.

  Are you sure? yes | no

samern wrote 03/31/2017 at 21:57 point

As a pilot and Experimental Aircraft builder I would love to help in any way I can.  I am willing to also build variants and take them up when I fly and report on how well they work or respond.  I love the idea of modular instruments given the crazy cost and maintenance grief of MFDs, PFDs and EFIS systems these days.  You just know Synthetic Vision is going to have to be part of this, right?  Touchscreen and RasPi goodness!

  Are you sure? yes | no

Rene wrote 04/02/2017 at 11:42 point

Excellent! Thank you for your offer to help and feedback... YES!!! Just thinking about all the options with Synthetic Vision is exciting: terrain, airspaces, approaches, obstacle avoidance, etc... For the next few months the focus for me will be more on the sensors, hardware and firmware, but I'm really looking forward to the software side of things too :) You are more than welcome to get started on that so long. I would also appreciate any design inputs and suggestions. Thanks again for your willingness to help

  Are you sure? yes | no

Similar Projects

Does this project spark your interest?

Become a member to follow this project and never miss any updates