DIY Cockpit for Flightsim

The One with a Rant

Recently (as in the last few years) I have picked back up flight simulators.

Way back when I was a kid in middle school, I had a simulator streak. I discovered my love for Truck sims, Soft Body Physics, Train Sims, and Aircraft sims. Starting with Microsoft Flight Simulator X, I used it's built in “Flight School” to take to the skies.

There was a stint of time where I just didn't do flight sim but one day back in 2022 after taking a trip to Berlin I picked up the flight sim bug. Right after returning home I bought X-Plane 11, X-Plane 12, and MSFS2020 in that order though (it'll come to a shock to pretty much no one) I regretted that last one.

Since then I have racked up hundreds of hours in many different aircraft within the sims, ranging from the typical Boeing 747-600 to the Airbus A330-600 and even to smaller GA planes like the Aerostar 601p. I have even had my interest for holding a private pilots certificate reignited (but after seeing the costs, oh god).

Since owning a real aircraft would cost me an arm, leg, and half my hand, I instead picked to build a virtual cockpit.

It'll never be the real thing, of course, however I intend to make it as close to the real thing as possible, right down to simulation of the physical bezels and switch placement. A stretch goal would be a 6dof motion platform as a base. For now I'll just stick to making a dashboard, afterwards I can investigate the time (and money) needed to give the setup 6dof.

The current status of the project is eh “fucked”, probably the best way to put it.

Originally I wanted to make mrusk's “Six Pack” which uses an Arduino library called XPLDirect.

There were three issues with this however: 1. Zero Clearance on the STLs and no STEP/Source file to edit it (god damnit) 2. Makes use of cheap 28BYJ-48 stepper motors. Easy to use but really slow and won't respond in time for fast changes (say timewarp or diving in a jet) 3. XPLDirect is Windows only, despite X-Plane being natively cross-platform

I have already bitched about the first point, seriously fuck you if you don't post the source of your STL.

The 28BYJ-48 stepper motors, while not a bad thing, are just not cut out for this job. A NEMA 8 would be the best replacement mainly due to it's speed and package. But I'm not about to drop money on this for the third point.

XPLDirect is Windows only.

I'd like to take a minute here to bitch about lazy developers. It costs nothing to install Linux on a old desktop. You can't even say that you don't have one laying around. The very hobby you are in normally dictates newer hardware, you are bound to have enough parts laying around to get something working for development.

The argument that “devs just don't have the hardware” is stupid and you should feel bad for using it.

You can't even argue that X-Plane users aren't using Linux. It's a common enough topic in the forums that listing OS version compatibly is a must.

And besides all that, all this library is doing is opening a serial port to the Arudino and dumping ASCII text into it, that's it.

Like, come on. At least put some effort into it.

So the six pack idea is out the door, what next?

X-Plane 12 Beta adds a web API for accessing DataRefs and provides a websocket based update system so I could write something that is crossplatform that just processes the websocket payloads and shits out ASCII into a serial port.

Another option is pseudo-steam gauges, where it's a LCD panel displaying the texture and/or HTML rendered gauges with rotary encoders and buttons handling physical input.

I'm honestly leaning toward the latter, mainly because Arudino's are resource limited and having them parse out useful data from something that shits out data every 10Hz doesn't sound like a fun task.

My other parallel project is a Garmin G1000 stack which includes the PFD, Radio stack, and MDF. Granted the aircraft that I based the cockpit off of doesn't have a G1000 nor is it commonly upgraded with one, it would still be nice to have for the ones that do have a G1000.

So wait, why do I have two different projects for this idea running at the same time?

Well, cause I can't focus on one project at a time, I need several things to keep my brain happi.

Anyway, the goal of this post is to provide a means for me to document my build attempts, complete with source code, schematics, (archived) links to 3D STL files, instructions, fuckups, small electrical fires, and (hopefully) the final product.

I do have to warn you though, I'm by no means a professional with anything I show here. My day job is a Systems Administrator. So my code/soldering/craftsmanship/spelling/literally anything shown here should not be attempted and any advice should be taken with several mouthfuls of salt.

I'm a dumbass with too much time and money to figuratively (and maybe literally) to burn.

Once I start publishing the pages related to this I'll link them at the bottom of this post.

Come join me in what could end up being a very horrible idea :3