Project Overview

This paper will describe the process of converting a standard LCD display device into a custom data display module for use in MSFS2002. This project is relatively low cost (under $125.00) and easy to accomplish with a minimum of required skills. The end result is a very useful addition to any simmer's hardware collection.

 
The LCD

The heart of the module is an LK204-25PC LCD panel from Matrix Orbital. This unit features a 20 character by 4 line text display area, key pad interface and 8 general purpose high current outputs. The key pad interface can accommodate up to 25 keys or switches. The GPO outlets are software controlled and provide 12V at up to 750 Ma per outlet. These can be used to drive display lights, relays or stepper motors. Communication is via a standard COMM port with power being provided by a standard floppy drive mini power plug. The only modification that the PC required was the extension of one of the power cables to allow more mobility in display placement.

LK204-25PC front view

 

LK204-25PC rear view
The general powered control outlets (GPO) are on the right edge, keypad interface pins are just below the female RS-232, DB-9 connector. The 10 pins to the left of the DB-9 are for an alternate RS-232 connection. Standard floppy power connector is at the lower left.
 
Design and Concept
As this project was intended to be simply a proof of concept, it was decided early on to keep things relatively simple. Two momentary switches would be used to control the display modes and three 12V LED lamps would be used to indicate inner, middle and outer ILS approach markers. These lamps are mapped to GPO pins 1,2 and 3. Pins 4,5 and 6 are software mapped to the landing gear indicators but are not used in this prototype.
 
 
Finished prototype with panel, switches and LEDs installed
 
 
Display module, internal view.
 
In the above view you can see just how simple these panels are to work with. The 12V LEDs are simply wired across the GPO outlets and the mode switches are connected directly to the keypad pins. These pins are mapped as shown below.

Warning!.........
The LEDs used here are heavy duty 12V units with built in current limiting resistors. The lamps draw approximately 20 Ma each and are commonly available in red, orange and green. DO NOT use a plain LED lamp without a current limiting resistor in the lamp circut. If you do, you'll short out the GPO and most probably burn out that channel in the process. For safety, assume there is no forward drop across the LED itself, then calculate R = V/I where V is the supply voltage and I is the required current. Choose a standard value of R which is immediately above the calculated value.

To make sure, calculate power in the resistor (P = VI) and select a resistor type that is capable of dissipating several times that power. For typical LED currents and supply voltages, a standard
1/4-watt resistor is sufficient.

 

Keypad Mapping

 
To generate a character you simply connect from a row pin to a column pin. In the prototype, button one is connected to column 5, row 1 generating the letter E. Button two is connected to column 4, row 2 generating the letter I.  These characters are not echoed to the LCD screen but simply used as software control inputs to switch display modes.
 
The Software

Of course, as easy as the hardware is to manage, nothing happens without the software needed to interface with MSFS and to send that data to the COMM port so the panel can display it. On MSFS we used FSUIPC to extract the needed data from MSFS2002. Sandy then wrote the LCD control software that handles the formatting of the data, switching and display. The software at present provides two modes of operation, manual and auto. Manual mode is controlled by switch number one with every press stepping you to the next preset screen in the list, as follows:

 
For Jets........
Surface wind speed and direction, surface temp, Barometric pressure, cloud ceiling AGL.

N1 percentage and thrust for each engine.

Fuel flow, fuel remaining, endurance and range.

IAS, TAS, ground speed and mach number.

IAS, VAS, altitude AGL

Lat, long.

Nav-1 freq and DME, nav-2 freq. and DME.

Nav-1 freq., DME and ETA.

ILS capture status, surface wind and direction, vertical speed and altitude above sea level.

Gross weight, total fuel, AOA and CG percentage of MAC.

Trim, spoiler, autobrake and flaps position. (added 11/12/02)

 

For Props........
Surface wind speed and direction, surface temp, Barometric pressure, cloud ceiling AGL.

Fuel flow, fuel remaining, endurance and range.

Prop RPM and thrust for each engine.

RPM, manifold pressure, TIT, CHT and oil temp for engine number 1.

IAS, TAS, ground speed and mach number.

IAS, VAS, altitude AGL

Lat, long.

Nav-1 freq and DME, nav-2 freq. and DME.

Nav-1 freq., DME and ETA.

ILS capture status, surface wind and direction, vertical speed and altitude above sea level.

Gross weight, total fuel, AOA and CG percentage of MAC.

Trim, spoiler, autobrake and flaps position. (added 11/12/02)

 
For Helicopters........
TRQ, VSI, TAS, HDG, fwd velocity, side velocity, radar alt. (added 3/6/03)
Auto-mode screens.....
Auto mode is invoked by pressing switch number two and is designed to be activated just before take off. The following screen changes are triggered by power and altitude benchmarks giving you a changing display of information that's relevant to the current flight segment.

 

(Auto mode start) Surface wind speed and direction, surface temp, Barometric pressure, cloud ceiling AGL.

(Power >70%) Engine thrust and RPM.

( Alt.>2000 AGL)  Nav-1 freq and DME, nav-2 freq. and DME.

(AP appr. activated) ILS capture status, surface wind and direction, vertical speed and altitude.

 
Program interface panel. Once the driver program is started it can be hidden and a control button placed in the sys tray.
 
Panel in use showing initial screen display
 
Author's flight station view one.
 
Flight station, another view.
 
Future Development..........
It is hoped that people will be able to take the information and ideas offered here and expand them according to their own needs and requirements. Areas of possible improvement are:
  • Larger displays and/or dual screens for more extensive displays and graphics.
  • Expansion of GPOs and keypad interface use to drive other devices and improve interactivity.
  • Integration into a standard Go Flight rack using blank cover plates.
  • Software to allow user creation of custom data screens.

 

Software Updates............

11/12/02: Added an additional screen showing trim, spoiler, autobrake and flaps positions.
Default GPO mapping has been changed to the following:

GPO 3,4 and 5 - landing gear state
GPO 6 - Inner marker
GPO 7 - Middle marker
GPO 8 - Outer marker

The original default mapping can be selected if required.

3/6/03: Added LCD Emulator and Helicopter data screen

7/16/03: Added atmospheric pressure display option inches/Kollsman

11/18/03: Added metric display option

 

Project Resources....
Matrix Orbital - Supplier of LCD panel displays.

Sandy Barbour's LCD control program.

General comms routines in C.

Schiratti.com, source for latest version of Peter Dowson's FSUIPC.

Code example in C, how to read from the keypad and output basic text to the LCD.

Same as above example, in Perl.

Code example in Java.

Flow control example in C.

 


9/24/02 - Tony Gondola, Sandy Barbour