How it works


After playing arround with Microsoft Flight-Simulator for a long time, I decided to start building a "real" Boeing-777 cockpit, scale 1:1. After some tests with software and how to interface external signals, the actual construction startet early 2003. I have no deathline for anything concerning this project, but it will probably take several years to complete.

Not happy with the first results, mainly because of the home build panels, I restartet the project in 2005. Although everything did work, the panels and displays didn't look very realistic. I decided to order panels from FDS and startet all over from scratch. Not any wast of time in my opinion, since I learned a lot on constructing things and also on signal interfacing. In a few steps I will try to explain how my Boeing-777 cockpit system works and how several things are connected to each other.

At this moment I am using 5 standard PC's called PC1 to PC5. These PC's are connected to each other by a standard network, using the TCP/IP protocol. These PC's are creating the main view and the images for the in total 9 displays in the Boeing-777 cockpit. For a good understanding of the different parts and applications, check the picture below.

The main part of the cockpit is PC1. On this PC the most important programm is running: "Microsoft's Flight-Simulator" The main task of this application, besides simulating everything of course, is generating the main outside view. At this moment I am still using a 19" SVGA-screen for this, but I am doing some test with a projector right now. This display is ONLY showing the outside view, not any of the many instruments.

Flight-Simulator has to talk to the outside world. All applications I know off, talk to Flight-Simulator using a special module called FSUIPC, created by Pete Dowson. This wonderfull programm must be added to the MODULES folder in Flight-Simulator. All other applications that are talking to Flight-Simulator, are doing this through the FSUIPC module.

The job of PC2 to PC5 is simulating the in total 9 displays in the B777 cockpit. PC2 is simulating the captains Primary Flight Display (PFD) and the Navigation Display (ND). PC3 is also simulating PFD and ND, but now at the first officers side. PC4 has a dual display output. One display is showing the captions CDU/FMC, the second display will show the first officers CDU/FMC. PC5 also has a dual display output, one display for both EICAS and the small ISIS and the second output for the MFD.

To have the Fligh-Simulator data available on any PC in the network, I use the WideFS software. WideFS has two parts, WideServer and WideClient. First we have "WideServer" that has to run on the same PC as Flight-Simulator, so that would be PC1 in my case. From FSX, WideServer has been integrated in FSUIPC, so no extra software is required for that. The second part of WideFS is "WideClient". WideClient has to run on any other PC that wants to access Flight-Simulator, so in my case that would be PC2 to PC5. In fact WideClient will let other applications think that Flight-Simulator is running on that specific PC, allthough it's running on another system in the same network.

FSUIPC (or WideServer as you like) and WideClient are working closely together as you will understand. If an appilication is asking for Flight-Simulator data, WideClient will send this request over the network to FSUIPC. FSUIPC will extract the data from Flight-Simulator and will return it to WideClient. Finally WideClient will provide the data to the requesting application. In this way it is not only possible to get data from Flight-Simulator (like altitude/heading) but also to write data to Flight-Simulator (like gear/auto-pilot)

For rudder, ailerons, pedals and trottle control I use the PC's standard joystick port, no complex interfacing is required for this.

Interfacing the external signals from the cockpit is more complex however. Many cockpit builders use the older EPIC board, FS-bus, InterfaceIT or other commercial hardware to interface the signals from and to the cockpit. Since my education was electronics and my current job is programming, it was a big challenge for me to design something myself. After many tests and redesigning, I finally decided to build something that looks very simular to the FS-bus system. Several units with PIC controllers, located at different locations in the cockpit, locally collect input signals from buttons, switches and encoders. Over a serial bus these signals are send to PC1. The "Cockpit Interface" application running on this PC, is interpreting these signals and will send appropriate signals to flight simulator. The other way around the cockpit interface application will monitor flight simulator parameters and will send appropriate signals back to the correct PIC controller unit, using the same serial port.

The cockpit-interface is connected to PC1 by the PC's standard serial port. In fact it could be connected to any PC in the network, since WideFS would transfer the signals anyway. I wrote the cockpit interface application in Delphi. This application can talk to Flight-Simulator through the FSUIPC module. The number of PIC controller units and the complexibility of the cockpit interface is growing while I am building.