EFIS 19264

 

EFIS prototype board

Overview

The idea is to build a backup (or primary?) EFIS for a light experimental aircraft for for a fraction of the cost of functionally similar Dynon, GRT or Garmin unit. It turns out that it is not as hard as it might seem.

The EFIS includes ASI, ALT, VSI, Magnetic compass, Slip indicator (Ball), Attitude indicator (artificial horizon), Flight-time timer, UTC/Local time and G-meter.
QNH and other instrument settings are done via “push-turn” knob (encoder), just like on Dynon or Garmin EFIS.
Version 1.1 includes flight parameters recorder (a sort of black box) on an SD card.

Design
  • CPU Board
    The system built around Arduino Mega 2560 board. At this stage, I’m using a non-genuine 12MHz model. It works just as well as the genuine 16Mhz model but it’s a lot cheaper. I think any other Arduino board would be suitable for the project.
    The board has on-board voltage regulators to supply power for itself and other components, both 5v and 3.3v. The input power could be in the range of 6 and 20v. With a 9v power supply, the system consumes around 125mA.
  • Display
    EFIS screenshot

    EFIS display layout

    When I started I was thinking of using a colour display. As it turns out, good sunlight-readable colour displays are very expensive and require significant processing resources. So, after some research I settled on a 4″ 192×64 pix KS0107/KS0108 based monochrome display from BuyDisplay for $23 USD delivered. The display has a nice white back-light and looks fantastic under direct sunlight. The display has a resolution of 192×64 pixels and is about 4″ diagonal. It is big enough to display all important flight information.

  • Gyro
    For gyro I chose a new BNO-055 sensor from Bosh. It seems to be superior to other popular solid state gyros, mainly because it has internal processor calculating Euler vectors including magnetic heading. It is quite expensive though, and it’s most expensive component of the EFIS (so far).
  • Altimeter
    I tested  BMP-085, BMP-185, BMP-285 and MS5611 sensors and found that MS5611 (aka GY-63) is quite a bit better than the BMP-x85 series. The problem with all these sensors is that they are mounted on the PCB board. There is no nipple to attach a plastic tube to them. I had to build an air-tight enclosure for them so it could be connected to the static port of the airplane. I have built one and it is okayish for testing the system, but I think I’ll have to replace it with some other factory-built sensor that has a nipple. I’m currently testing HSCDANN001BA2A3 on a separate Arduino board.
  • Airspeed sensor
    I used a MPXV5010DP analog differential pressure sensor that should be good for airspeeds up to about 250kn. For slower (below 112kn) aircrafts the MPXV7002DP sensor can be used – it is a bit cheaper.
    I will probably replace the analog sensor with the digital one (I2C), something like Honeywell HSCDDRD001PD2A3 or MS4525DO-DS5AI001DP It might add about $40 to the total cost of the project.
  • Clock
    A board with a DS3231 chip and a rather large replaceable CR2032 battery used as a real-time clock. The battery should last for 2-3 years.

experimental_avionics_efis_9091

EFIS ver 1.2 Main Components

EFIS Pitot and Static ports

EFIS Pitot and Static ports

Experimental Avionics EFIS up and running

EFIS Display Layout

All the components mentioned above come attached to their PCB boards with all the required circuity. So all that needs to be done to get the device going is to attach these boards together and upload the software.
While testing the design, I used a simple evaluation board. Once the design is stable I’ll make a proper PCB board interconnecting all these tiny sensor boards.

Jamming all of this stuff into the plastic case is the biggest challenge. The display is attached to a large PCB, so the case looks a bit too large for the size of the screen. Anyway, it all fits into the case nicely and it’s ready for testing… at zero ft AGL on top of my car’s dashboard.

Test plan:

  • Airspeed accuracy.
  • Altitude accuracy
  • Magnetic compass.
  • Hot conditions.
  • Effects of vibration.
  • Artificial horizon accuracy (will not try inverted flight in the car 🙂 )

Inside view of the EFIS EFIS pulled apart Arduino Mega and EFIS junction boardexperimental_avionics_efis_9144

 

Schematics and software downloads

Version 1.0

Version 1.2

 

Credits
Advertising


My display layout to a great degree is based on the Marc Robitaille prototype of the very similar EFIS. Thank you Marc!
I’m very grateful to many people who put up various instructional videos on YouTube (Dejan Nedelkovski,..).
I also would like to say thank you to good people from Adafruit whose libraries I use in my projects. If you are in the US, I encourage you to buy some stuff from them to support their great work.

 

46 comments on “EFIS 19264
  1. JOHN GENAT says:

    THANK YOU OLEG FOR YOUR TALK AND PRESENTATION TONIGHT AT THE SAAA CH21 MEETING, I WAS ABSOLUTLY TAKEN
    BY YOUR PROJECT THAT IT CAN BE DONE SO CHEAPLY AND REASONABLY SIMPLE, WHICH IF YOU UNDERSTSAND
    ELECTRONICS AND THE BITS THAT MAKE IT ALL WORK IS NOT SO DIFFICULT. YOU START ME UP!

    THANKS AGAIN, JOHN

  2. Leon says:

    Excellent article. I am in Australia and building my own Corby Kestrel. I was wondering if it were possible to get a copy of the software please?

    Regards Leon

    • Oleg Oleg says:

      I’ll package the Arduino sketch with libraries for you and email them to you. Development is still in progress so it is not a final version, but it will give you an idea of what this EFIS is about.

  3. Alfred says:

    Very nice project for a Ultra Light airplanes…

    Good job Oleg

  4. Hi Oleg,

    Great article. Could you contact me as I would like to get your approval to get this published in the RAAus magazine if possible.

    Great work.

    Please give me a call when you have time.

  5. Jon says:

    Hello, Oleg. I just saw your YouTube video and rushed over to this site. You have done what I was just about to start designing. If you do not mind, I would like to use your design to build upon and design my own AFRS system. I believe your EFIS system coupled with an AFRS system will help many pilots. I will use this system in my experimental glider. Thanks so much for your time and effort in designing your EFIS. I hope you have posted your sketches and schematics.

  6. proking says:

    Bingo!!!Great work!@ @
    hello,I saw your video.I want to learn it from you . Do it replace lcd with TFT.
    I hope to get your help about Wiring diagram.:)

    • Oleg Oleg says:

      Hi,
      I’ve tried to use colour TFT displays. They are not very good under direct sunlight. The 19264 LCD display is very good under bright light.

  7. Hi Oleg,
    I made the Mini Efis with the Marc Robitaille base project.
    I install this on my microlight for test and i have some problem:
    With the artificial horizon. This one is to sensitive and is indication is not usable for flight.The sensor is a mpu 6050.
    With the Arduino, at home it works fine, but in flight some time it is frozen!
    So , my question is, do you test yours on plane, test with vibration?
    Thank’s for your answer
    Regards
    André
    http://www.achaillous.890m.com/public_html/index.html

    • Oleg Oleg says:

      Hi Andre

      I’m planning to start flight-testing the EFIS this weekend. I’ll post the results.
      My EFIS uses BNO-055 orientation sensor. It is by far superior to MPU 6050.

      Cheers!

      • André Chaillous says:

        Hi,
        Did you made test in plane or micro light?
        What about the result of AH with vibration?
        Regards
        André

  8. Christian says:

    Hi,
    Great project!
    I particularly like your feature giving specific bank angle and pitch angle. I fly RPT and the pitch target is very precise. It would be valuable to see fractions of Pitch attitude to at least half a degree, tenths would be better still. I understand that this is just VFR, however 1 degree resolution is a little large a step. With the pitch indicating tenths, it would be possible to see different AOA for different weight and balance situations, interesting if nothing else.
    Would you consider using a GPS module for the time input? That way the user never has to adjust the clock or change a battery. I guess it would cost more but I would be willing to pay extra to eliminate maintenance.
    I will be keenly following your projects closely. They are a great contribution to sport aviation. Great stuff!👍

    • Oleg Oleg says:

      Comparing AOA to pitch with different W&B is very interesting thought.
      It never crossed my mind as in 2 seat aircraft W&B does not change too much.
      Sensor’s angle resolution is 0.3 degrees, so it might not be enough to display the fraction value.
      Anyway, I’ll add the the pitch angle fraction into my “todo” list.

      Using GPS for time tracking can be done reasonably easy. I’ll add it in to todo list as well.

      Thank you for your interest in this project.

  9. André Chaillous says:

    Hello Oleg,
    Did you made your test on a plane?
    Is it possible to have your openglcd library with your configuration for the 4” 192×64 display. I have some problem with us.
    Regards
    André

    • Oleg Oleg says:

      Hi Andre,
      At this stage it has only been tested in the car. Vibration doesn’t seem to affect the AH. Magnetometer however is seriously affected by the magnetic field distortion in the car.
      I’ll be testing the unit in the aircraft soon. The results will be posted in the Blog

      The OpenGLCD library is included into download packages here http://experimentalavionics.com/efis-19264-ver-1-2/

      Oleg

  10. proking says:

    oleg
    hello。
    I want talk about EFIS 1.2 bug 。

    In 1.2, you has been changed MS5611 to pressure sensor HSCDANN001BA2A3。

    //***** Checking and starting Barometer ************************
    GLCD.CursorTo(0, 1);
    GLCD.print(“Altimeter …………… “);
    // add barometer check later

    IsOK_Alt =1;
    GLCD.print(“ok”); 《————–No check,but print ok。

    your fans, proking

  11. proking says:

    Now use pressure sensor HSCDANN001BA2A3,VSI is not accurate 。

    bug about lcd 。 When BNo055 rolls ,The line below the “FLT”will disappear。

    Seek help:On the program of rotary encoder,into the menu page can not be selected。

    • Oleg Oleg says:

      Regarding display bug: Yes, confirming the bug. It appears only if you do “inverted flying” 🙂 I’ll look at it. Thanks

      Regarding VSI: Yes, VSI is a bit noisy. It needs different averaging algorithm. I’m using Moving Average at the moment. It is not “smart” enough. I’m working on Savitzky-Golay now. It should be much better.

      Regarding encoder: Make sure you have a 10k pull-up resistor on your encoder. Many encoders from ebay dont have it. They have the pads but no SMD resistor there.

  12. proking says:

    new quetion。

    MY instrument panel with angle, how to calibrate the attitude instrument。

    I made horizontal table with three screws。

    Let bno055 level flatting。

    Maybe I was too stupid to understand the meaning of the program. T_T

  13. interesting…
    did you test it in flight?
    if not I can.
    Regards,
    Dan
    Sinus C-FYXY
    over 3000 hours on
    Pipistrel Aircraft

  14. Inexfrance says:

    Hello sir, found your site by friends, i have to thank you for your work in favor of ULM drivers, i just ride it up and running is fun.
    But after 3 hours of running the LCD becomes all white more indication ?? Yet bought on Buydisplay I bought 5, three are HS.
    Have you had this problem?
    I think trying to change the screen by oleds SH 1106 but it takes at least 4.
    Thank you for your work and your sharing, a big congratulations.
    Sincere congratulations.

    • Oleg Oleg says:

      Hi,
      I havnt had any problems with these LCD displays so far.
      Check voltage on pins 19 and 3 of the LCD. Pin 19 should have about -12v. Pin 3 should have a bit less and it is controlled by the trim pot.
      Check the prim pot. I could be faulty.

  15. Inexfrance says:

    Hello, the LCD problem is solved, not enough power supply below 5 volts !!
    I just finished version 1 and mounted in a CAP 10 aerobatic plane.
    1) HDI bad representation of the cap it must make a 360 to find the right course and again!
    2) sensitive to vibrations the ball only shakes! (Bno055 ATMEL)
    3) in level flight no poblème except VSI which goes up and down! (BMP 180) in a box with cotton.
    4) uphill to pass a looping big problem the screen is blurred and impossible to see the indications, you have to reboot the arduino 2560 or cut the power supply.
    This is a test done on actual flying conditions.
    Cordially.

  16. Tom Sheppard says:

    I have ordered the boards. I built a modified marc r system that I have flwn but yours will be more reliable. Thanks, Oleg. Tom, G BZOR(uk).

  17. Amir Daryaei says:

    Hi
    Could you please share us the “Proteus” File (or any other program) for schematic and wiring?
    or please mail me if possible? I wanna customize the schematic and codes for myself.
    I will announce the results and share!
    thank you

    • Amir Daryaei says:

      Another question! Is there any difference to use Mega2560-16Mhz instead of 12Mhz model?
      my Arduino Mega is 16mhz.

      • Oleg Oleg says:

        Not much difference. 12Mhz refers to the crystal on the USB chip installed on some Arduinos. The crystal on Arduino Mega chip is separate and is always 16Mhz

    • Oleg Oleg says:

      Sorry, I use DipTrace. The schematics is not too complex, so you can re-create it easily in your software.

  18. amir says:

    Hi Oleg
    How did u draw your schematics? I mean what software?
    I tried to redesign your schematic in Proteus but used components doesn’t exist there!
    where can I find them for Proteus usage?
    ThanQ

    • Oleg Oleg says:

      Hi, I use DipTrace. It doesn’t have a comprehensive library of components either, so I often just create my own 🙂

  19. Sam Hermans says:

    Is there a specific reason why u are trying to calculate speed and altitude using pitot tubes and not just use GPS ?

    Very interested in this and just started flying. Hope to build my own.

    • Oleg Oleg says:

      Hi,
      Hope you enjoy your flying.
      GPS speed is airspeed are not necessarily the same speed. Airplanes are flown by airspeed. Ground speed is only important for navigation.
      I recommend to discuss it with your flying instructor.

  20. Amir says:

    Uhm Oleg, I think you should draw the Voltage Regulator (Mini-360) in the schematic, as you placed it on the sensor board. I’m trying to create a schematic like yours, as I told u the reason on blog page. please update the schematic dear Oleg.
    ThanQ

  21. Amir says:

    Hello Oleg
    How’s it going?
    Just telling an idea! How about to moving into color LCDs if possible! or maybe a single Altitude indicator (small with color display)
    Good job dude.

    • Oleg Oleg says:

      I tried colour displays. Although it looks cool, it is not very practical with cheap colour displays. It is hard to see what is on display if ambient light is bright.
      Good sunlight readable colour displays are expensive.
      So I’ll stick with monochrome FSTN displays for now. 🙂

  22. Mark Albert says:

    Great project and excellent low cost, experimental solutions. I just may return my Garmin G5.

    Mark
    San Diego, CA (hoping to move to an Oz airpark)

  23. Gerald Corfield says:

    Hi Oleg.
    Great project.
    Have you looked at this display http://www.newhavendisplay.com/nhd43ctpshieldn-p-9520.html?zenid=int7sut53u9q13npifth60o742.
    I am trying to use one of these with an arduino 101 that has onboard sensors and bluetooth.
    A bit above my expertise at the moment.

    Gerald NZ

    • Oleg Oleg says:

      Didn’t try this display. Thank you for finding it.
      I promised myself to stop spending money on testing new displays. It looks like I’m going to break the promise. 🙂

Leave a Reply

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

*