747-400 remote MCDU

Hoppie Home

747-400 MCDU

Project Progress


PS1 anomalies

Extending the MCDU


Screen shots

File size 2.7Mb
07-May-2011 09:51Z

The remote Multi-function Control and Display Unit (MCDU) is a generic, network-enabled virtual console to control many add-ons for the Aerowinx 747-400 Precision Simulator and other simulators.

Project Progress

V2.32: first release for Linux. A tar.gz ball with README inside. Only for the not-so-faint-of-heart. here.

V2.31: a micro change. For human factor research, the MCDU has had a key stroke logging option since V2.16. This logging was supposed to be in millisecond granularity. However, it wasn't -- it was in system-dependent clock ticks. This has now been corrected.

see all previous progress messages

Universal MCDU

This MCDU is not specifically for PS1: other systems can use it, too. You only need to write a small piece of code, in any language, to connect to the MCDU via plain ASCII TCP sockets. The unit does not speak ARINC 739A directly, but I have been contracted by an avionics company to build this and it is working. So this MCDU is, really, interfacing to actual avionics and doing an excellent job at this. Should you be interested in this interface, you can contact me but I cannot give or sell you the software, so I'll have to point you onward.

Just as the real-world MCDU, this is not a flight management computer. You can connect it to a FMC, or an ACARS unit, or anything. But the MCDU itself does not provide these functions.

The source code in Tcl/Tk has been released under the GNU GPL. This means that you may freely distribute, run, and modify the code, as long as you don't claim it is all your work, you don't claim it's all my fault, and you release your modifications under the same license. It is all Tcl/Tk and should run on both Windows, Linux, and Mac, but the last two platforms are not explicitly supported and will need a tad of patch-up for sure.

You can use the MCDU on any normal computer. However, some hardware goes particularly well with this MCDU program, and is now fully supported. And a nice touch screen really adds to the experience as well; I tested everything on this one (really!). The top in dedicated hardware currently is the Engravity MCDU which has been fully supported since July 2007.

You need some extra software to display the PS1 CDU on the external MCDU, but it can be done.


The program should be run on a small (P/233+) remote computer, not running PS1. It connects to the Broker or runs its own socket server and offers services to all add-ons that are interested in having access to a central MCDU console. The MCDU itself does not do anything, it just offers a control and display console. Consider it a pre-wired GUI for your own program.

External programs can access the MCDU by connecting to the Broker or directly to the MCDU and registering themselves as an MCDU menu manager, using one of the commands listed on the Programming page (see left margin). The MCDU will assign them a MENU page entry, and notify the program when the user selects this submode. From then on, all interactions between the user and the MCDU are channeled to the external program.

The advantage of all this is that:

  • Add-on programmers don't need to re-invent the wheel again.
  • Cockpit builders can do with one single MCDU instead of many partial MCDUs.
  • The MCDU is fully embeddable: no mouse, no Windows border, no nothing. This is a must for cockpit builders.
  • At the same time, you can use a normal Windows display on a touch screen to have a nearly ideal simulated MCDU. Or just use a mouse anyway.
  • It promotes distributed networking programming ("The Network Is The Simulator").
  • It gets functionality out of places where it does not belong (e.g., an ACARS program shouldn't need to implement a full MCDU itself).


Fetch the installation program mcdu-2.31-install.exe and run it. It will ask a few questions but you may answer "yes" to all of them. Finished!

Now run the MCDU. It will come up in the photorealistic 800 mode, which fits (twice) on a normal 800x600 screen. If you see ugly fat letters that overlap, something went wrong with the fonts -- try uninstalling and re-installing the package.

With the "Config" selection, you enter the setup menu. Here you must configure the Broker host (IP address, or "server" if you want a local socket server), and you're ready to go.

The default keys are parallel with the PS1 standard FMC keys, i.e., 1-6 for the left button row, F1-F6 for the right button row, etc. In the Config menu, you can also select the alternate "Magenta" mapping for all hardware based on Project Magenta keyboard layouts, such as the Precision Flight Controls hardware keyboard. Most off-the-shelf hardware for MSFS will actually work correctly in Magenta mode, annunciators and all.

With the title bar in a photorealistic mode, and also by dragging with the right mouse button in any mode, you can move the display around and adjust it exactly to your screen. In full screen modes (with no visible keyboard), the thin grey rectangle should be positioned just outside the display border. Display modes can be changed on the Config page. Not all resolutions are available, but you can create your own via new config files in the \etc directory.

If you use PS1 and want the MCDU to display PS1's CDU, you need one more program.

If you build your own hardware and you have difficulties aligning your display properly, please contact the author. There are a few tricks that you can pull to get it all right. A suggestion may be found in the etc\0640area.cfg file. Also look at the MCDU extension instructions.

For tips on working with the MCDU, read the MCDU operation instructions.

Engravity Instructions

If you have an Engravity MCDU, install the drivers that come with it first, and find out on which COM port the unit lives (use Windows hardware management and look under Ports). On the config page of the software MCDU, fill in the COM port number. The rest should work straight away. Due to hardware restrictions of the Engravity unit, not all displays will be exactly alike the real thing, but they get close enough. In the future, a firmware upgrade of the Engravity unit might support better display layout.

© 2017 Jeroen Hoppenbrouwers For more information, mail to hoppie@hoppie.nl