Overview

BARON 58 HOME COCKPIT SIMULATOR


This project represents a full-scale panel replica of twin-engine Baron 58 airplane. The goal was to make the panel as close to the original as possible, in both functionality and appearance. Since there was no concern about endurance for home cockpit, a cheap and easy to process materials, such as rigid PVC sheets and other plastic, were used for most of the details.

Before starting this project a lot of photos of the real Baron cockpit was used to select the instruments configuration and determine all panel dimensions basing on well known sizes from these photos, such as cutouts for 3 1/8" instruments, GPS, ADF, etc. After all, the panel dimensions came out very close to the original (+/- 1 cm at full width).

Interface

One of the most difficult part in the process of the cockpit building is choose a suitable input/output interface to link with the simulator. There was a couple of possible solutions found in internet, but after all was decided to start our original interface from scratch.
Since I had a lot of experience with Arduino to this time (plus years of experience in electronics) this platform looked as very promising and easy to use for end-user. First, we had to figure out how to send the necessary data to the simulator (and how to get data ) using just Arduino. After several tests with X-Plane UDP protocol we have seen that it was a good idea to create an input/output interface based on Arduno.
Arduino Mega was chosen to be used in the project, as this version of Arduino family has a large number of digital outputs/inputs.

Communication

Although Arduino board has a USB interface that actually emulates serial protocol, and is useful for debugging a program to output the results in the terminal, we have not considered it for data exchange.
X-Plane has built-in capabilities for data exchange with other computers on the network using the UDP protocol. The data format is quite simple, it is described, in particular, in the file "Sending Data to X-Plane.html", located in the /Instructions/ folder of the simulator.

For connecting Arduino to the local network an additional Arduino "Ethernet Shield" was used in this project. It is mounted on top of the Arduino board as the other shields that extend the functionality of Arduino.


With one single Arduino board you can get 20-50 digital inputs for buttons/toggles/encoders. For this Baron-58 project, in addition to Arduino the extension board for 128 inputs and a board with the registers for LED indicators (serial output from Arduino) was made.

For output to the LED indicators used only two digital outputs - one for data, plus one for strobe, ie output is organized in the form of three in serial external shift/latch registers.
Seven Arduino outputs are used for servo gauges: Fuel, Bus Volts, Alt load, Prop Amps, De-Icing Pressure (Prop Amps and De-icing pressure show only two values ​​- 0 when the corresponding switches are in the off position and nominal values ​​when they are turned on.). For the axes analog inputs of Arduino are used.

System configuration:



Initial setup (2012): Powerful main computer with Linux Mint, 64-bit (linuxmint.com/). Why Linux? In short, I have long ago gone from Windows, and X-Plane fortunately is multi-platform, and, in my experience, in Linux it runs faster (in frames/sec).

This computer is "master", with X-Plane installed and used to provide the external view.

The second computer is just quite old motherboard with videocard and a small HDD. Linux Lubuntu 64-bit LXDE (lxde.org/) installed. Both the computers and Arduino are connected to the network via router.

Instrument Panel


Second computer has two LCD panels. Everything is set up so that you only need to press the power button - at startup the whole instrument panel is expanding to fit the work area of both LCD screens

Initially, (as a temporary solution) another copy of X-Plane was used for the instruments visualization, when the main computer sends data via UDP for the second one ("Menu: Net Connections-->External Visual" to display the instrument panel)

Later our standalone program (SimVim) was used for instrument panel, that is receiving data via network from ArdSim plugin and the whole system can consist of several instrument modules, using cheap old computers or laptops (no need of another copy of X-Plane and a powerful PC).

Total time spent on handwork only, from scratch to the "test flight" stage, was roughly 100 man-hours during one year period of building.

Photo of the panel in a test connection to X-Plane as of Nov. 2012: