EFIS Module-A
Updated: June 29, 2023
Status: Operational with over 300 flight hours in service
Module A is the Air-pressure module for EFIS. It provides Altitude, Airspeed, Angle of Attack (AoA) and Outside Air Temperature (OAT) information to other systems via CAN-Bus network. With introduction of backup power controller into CAN HUB, Module-A also provide information about backup battery status.
The unit designed as an open platform with configurable optional analog and digital inputs. See Extensions connections for details.
The module has its own processor (Arduino Nano) and it is powered from CAN-Bus (CAN-HUB)
Differential pressure sensors should be selected according to the aircraft speed range MPXV5010DP is good up to 240 knots.
Most of the testing has been done with airspeed sensor being MPXV5010DP and angle of attack (AoA) sensor being MPXV7002DP.
Although using MPXV5010DP for AoA sensor gave acceptable results, the MPXV7002DP provided better sensitivity.
As of mid 2023 the Angle of Attack functionality has not been flight tested due to other priorities.
Extensions connections
Module-A has a 15-pin female D-SUB connector for additional sensors such as Outside Air Temperature (OAT), Backup Battery status, flaps position (not yet implemented).
Outside Air Temperature sensor
OAT information is required for True Airspeed calculation. It is also important to avoid icing conditions.
Dynon two-wire OAT sensor (NTC thermistor) connected to pin 6 and 13 (ground). Any thermistor can be used here. Just adjust Steinhart–Hart coefficients in the code. If the coefficients are not available from manufacturer, they can be easily determined using this calculator: https://rusefi.com/Steinhart-Hart.html
Backup Battery Status
CAN HUB ver 3 and later provides backup power capability required for Night VFR. Module-A provides an interface between battery charge controller and CAN-Bus.
Backup Battery Voltage sensor connected to pin 5 of 15-pin female D-SUB connector.
Voltage measured by Arduino port A6 via voltage divider 2.2M + 680K. It provides max measured voltage of 21V.
SMD resistors placed at bottom side of the PCB on the pads for R2 trimpot.
Through-hole resistors can be used instead.
Installing trimpot is too risky and unnecessarily complex.
Resistor R3 (Low pass filter) is replaced with shunt (zero Ohm resistor).
Keep the capacitor C9.
NTC battery temperature sensor connected to pin 4 of 15-pin female D-SUB connector.
Voltage measured by Arduino’s port A7
Temperature sensor consists of voltage divider of a constant 10K resistor (located on CAN HUB board) and a 10K thermistor with
negative temperature coefficient (NTC).
Its output used by the charger chip as well.
Reference voltage (3.3v) supplied by the charge chip on CAN HUB board.
The input voltage on port A7 will be way below 3.3v so there is no need for additional voltage divider on Module-A side.
So, the non-ground pads of the R6 trip pot position should be connected. Use 0R SMD resistor or small piece of wire.
Charge OK signal (CHGOK) connected directly to D7 via pin 7 of 15-pin DSUB connector,
Power OK (ACOK) connected directly to D9 via pin 8 of DSUB connector.
Parts List
Assembly Instructions
Software Download
The latest version of software (Arduino) is available at GitHub https://github.com/ExperimentalAvionics/EFIS_ModuleA
New to GitHub? – Here is a quick GitHub guide.
New to Arduino? –
- Go to YouTube
- Search for “upload program to arduino”
- Watch a couple of videos on how to load the software into Arduino Uno.
The workflow for other Arduino boards (Mega, Nano, etc) is practically identical.
Arduino Nano Bootloader issue
There are two types of Arduino Nano boards currently available on the market. They are the same from hardware standpoint but the Bootloader is different.
You might experience some difficulties uploading the code if the version of the board is incorrectly selected. Unfortunately there is no simple and reliable way to identify the version of the Bootloader.
If you have a problem uploading your code simply try to change the Bootloader version in your Arduino IDE:
Tools > Processor > ATmega328P
or
Tools > Processor > ATmega328P (Old Bootloader)
Schematics and PCBs
EFIS Module-A ver. 3.1 Schematics (PDF): Module-A_Schematic
EFIS Module-A ver. 3.1 Schematics DipTrace (.zip): EFIS_Module_A_ver31_Schematic_DipTrace
EFIS Module-A ver. 3.1 PCB Gerber (.zip): EFIS_Module_A_PCB_v31_gerber
EFIS Module-A ver. 3.1 PCB DipTrace (.zip): EFIS_Module_A_PCB_v31_DipTrace
ToDo/FixIt
# | Description |
Add i2c interface for AoA | |
Add rs232 interface for transponder altitude encoder | |
Add static pressure sensor’s temperature into Can messages as well as the serial messages for transponder encoder. | |