Building a Beech Baron 58 Cockpit based on MS Flight Simulator X
What's behind it ?
Already in my very early days I dreamed to become a pilot. However, sometimes life is going different ways and I became an engineer, which is also not the worst job. At least I became familiar with mechanical, electronics and software designs. Some basic numerical mathematical skills are also of help, in particular when designing variable digital filters or PID controllers. And these are exactly the skills you need, when deciding to build such a cockpit.
As you can imagine, such a cockpit is never in a state, where you can say: Ready ... let's fly ! At least my cockpit is still in development and will be completed piecewise, one after the other. One piece can be implemented very quickly, but some may take more time. If it would only be a switch or an LED, this can be implemented in 5 minutes intervals, but have you ever built a Horizontal Situation Indicator as one of the core gauges of the cockpit panel ? Yes, this is a real challenge and is definitely not a weekend project. But I come later to this point, when we address all the six-pack and engine gauges of the cockpit panel. I can give already here a small hint: these gauges are not realised by using a screen behind a panel with holes and bezels for the display elements, as it is implemented in most of the homebrewed cockpit simulators. No, I implemented real physical gauges on the basis of motors, servos, turning scales, knobs, buttons and all the things, which are necessary to give a realistic impression of the cockpit panel. An example is shown here with the Vertical Speed Indicator, a really simple instrument. More instruments are shown in the Main Panel section.
Why shall it be a Beech Baron 58 Aircraft ?
Good question, next one please. No, the answer behind this question is very simple. It's a twin engine aircraft, which is relatively easy to fly, it gives you the impression, that you as hobby pilot always have the control over the aircraft, when flying via visual flight rules (VFR). But one of the main reasons is, that it has the capability and all the elements, which are necessary, when you decide to fly via instrument flight rules (IFR) directed by an air traffic controller (ATC).
Building on MS Flight Simulator X
Yes, it's true, the MS Flight Simulator X (FSX) does not represent the high end of these simulators and the live cycle is already in the dormant state. Nevertheless, I decided to use FSX as baseline, also because the accompanying documentation to build up clients is very exhaustive and the web is full of useful examples. In particular, when you solely want to access FSX by the Simconnect library, you need at the beginning some introducing help.
Of course, there are other ways to access FSX, e.g. by the FSUIPC interface software package. But this means that we have an additional interface between the cockpit elements and FSX, which in a first view should not be a disadvantage. However, FSUIPC is not an open source project and whenever you have a problem with FSUIPC, the magic word again is 'Google', which may help in a lot of cases, but it will not always result in a solution of your problem - and then you are stuck in the dead end. That is the main reason, why I did not jump on FSUIPC, as most cockpit homebuilders do.
Interface between FSX and all the Cockpit Elements
I decided to go my own way and built a client, which is accessing FSX solely by the Simconnect library. It took a while to become familiar with this library, but as already said, the web is full of useful examples. I finally managed to build up a client, which is able to retrieve and set all the FSX variables and to issue any required event to control the FSX elements. And the big advantage of this implementation is, that this client is perfectly adapted to the own electronical devices. This means that there is a harmonised communication protocol between the FSX client and any micro-processor, driving an LED, a numerical display, a motor, a servo or whatever electronics element. In addition, this communication protocol allows to read via a micro-controller the status or change of any switch, push button, light barrier or potentiometer to submit the associated events to FSX. This dedicated client is written with Visual Studio in C++ and may have some thousand source code lines. But because of using structured classes, the code is still mangeable, at least from a hobby point of view. More information is presented in the Software section. On this basis I built among others the stand alone Avionics unit, which comprises the Sound unit, 2 times a COMM unit, the ADF, DME and Transponder unit, as well as the Autopilot unit.
Why not using a Screen to display the Gauges of the Six-Pack, the Engines and the Avionics ?
This is in a first view a philosophical question. But the more you come to the real implementation, it's simply a question of maintenance. I give you a realistic example: placing a screen behind a panel with all the holes and bezels for the gauges is very straight forward, when you manage to disassemble the monitor and make it running. Typically you need a dedicated monitor, which exactly fits behind your panel, i.e. the width and the height must exactly fit to your dimensions of the panel. Having selected the right monitor, you are finally required to place all the gauges exactly behind the holes of the panel. That alone may already be very frustrating, because every time you start FSX, the gauges are not exactly at the required position. At least for me I did not manage to show an opening screen of the main panel, which comes with the correct dimensions in terms of width and height.
Having completed this job, everything looks nice and will perfectly work. For a while. After two years, you recognise, that your monitor does not work anymore, because one of the 10.000 transistors is broken. No problem, we are buying a new one. But the monitor with exactly these dimensions is no longer available. Here we are again in a dead end street, which means you have to completely build a new cockpit panel for a monitor, which has a different size and a different resolution. Because the upper cockpit part, including the glare shield, is a very complex element of the entire cockpit, it will be a nightmare to redesign everything from scratch.