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!
My wife took the picture above as we were flying along the Wild Coast. The pilot sits in front, with the passenger in the rear seat. The instrument pod is located between the pilots legs.
The original instrument pod is pictured above. From top to bottom (and left to right), the instruments are as follows:
- Air Speed Indicator (ASI),
- Vertical Speed Indicator (VSI),
- Engine RPM and Hour Meter,
- Fuel Level,
- Water Temperature,
- Magneto Switches, and
- Master Switch.
The analog dials look nice and make a neat cockpit, but lack in functionality for cross country navigation. Also, the ASI was under-reading, the compass needed calibration and the Engine RPM Meter occasionally showed zeros. Time for an upgrade!
As hackers and engineers we are quick to think of all the
potential features we can add with a few sensors, a micro-controller and an
LCD screen. It wasn't long before I built the first prototype...
I installed a 128 x 64 graphic LCD module between the radio and
the switches, integrating the intercom box into the pod and added the headset
connectors to the bottom of the pod. My phone in the flight suit window pocket runs the Air Navigation Pro app, which gives me a moving map with all the airspaces. A PIC microchip, GPS module, some MEMS
sensors and a Rotary Encoder added a few additional flight instruments:
- Ground Speed
- True Heading
- True Altitude
- Altitude at standard pressure (Flight Level)
- Date and Time
- Flight Time
- Pilot Checklist / Notes
- Battery Voltage
- Outside Air Temperature
- Headlight Control
- Heat-pad Temperature Control
- Engine RPM Meter
- Fuel Level
- Water Temperature
- USB Charging Port
So far so good... the only issue: feature creep!
This first prototype was hacked together on veroboard with parts I had lying around. With all the menus and functionality, the 24 KB program memory on the PIC18F4455 was quickly running out. Time for a proper design...
As a bare minimum, I wanted to replace all the existing instruments with digital equivalents. Having access to the data digitally allows for some interesting data fusion and new features with a simple firmware upgrade. For example, what is the range with the current ground speed, remaining fuel and average fuel consumption?
- Goal of under $100 per module
- Multiple physical modules (sensors, control outputs, interfaces, displays) that plug into a shared bus
- New sensors or modules (unknown at design time) can be added onto the bus at a later stage (no firmware updates should be needed if a new sensor / module is added)
- Robust (voltage and current spikes, noise from spark plugs etc)
- RF shielding (e.g. transponder is typ. >150W transmit power)
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.
- Support for multiple display sizes and types
- TFT LCD
- Character STN LCD modules
- Graphic STN LCD modules
- eInk displays
- OLED screens
- Analog dial gauges (via PWM)
- LED displays (bar graphs, 7 segment, matrix)
- Support for Android / iOS devices as additional graphical user interfaces and for internet access
- Moving Map View
- Airports / landing strips
- Current and predicted Weather
- Waypoints and path planning
- Other Airplanes in the area
- Via Automatic Dependent Surveillance - Broadcast (ADS-B)
- Via Low-Cost ISM-Band Transceiver (for friends in your group)
- Engine Monitoring (multiple engines)
- Revolution Counter (RPM)
- Hour Meter...