final project concept

2023-09-20

Current idea for my final project is a flight simulator cockpit ("simpit"). I enjoy flying in flight sims, both military (e.g., DCS World, VTOL VR) and civilian (MSFS 2020). I already have gear from Virpil Controls -- specifically a flight stick, throttle, and rudder pedals. I also have a Valve Index VR headset (flight sims are in my opinion one of the best applications for VR currently).

Flight stick

Throttle

Rudder pedals

VR Headset

major limitations

I don't fly sims as much as I would like because:

addressing limitations

The core of the project (what I need most) would address these limitations with:

additional desiderata

more physical controls

VR is great for visualization and immersion. It gives a much better feel for the dynamics of flight when you can see the whole world moving around you (including some peripheral vision) and you're not just staring through a clunky-to-move player camera PoV. A VR perspective enables you to take glances and quickly scan the ground or a part of the sky.

However, controlling planes using VR interaction metaphors is a poor experience. Typically, VR flight sim controls involve pointing at virtual targets with the hand controllers and clicking. This is difficult in flight sims because the cockpits being simulated are very dense -- it takes careful aim and a steady hand to select exactly the button you wanted to click. Some form of haptic feedback is usually provided when your controller target changes (slight bump), but this falls drastically short of the real-world ability to find physical controls by touch memory and relative position only.

For these reasons, I bind as much as possible onto the physical controls I already have, but there are still a lot of inputs remaining that I have to actuate using VR controls. Illustratively, a typical startup sequence involves 5 minutes of carefully lining up my controller at half of the buttons in the cockpit and trying to get only the relevant virtual switches and buttons to actuate.

High-button-density controls like OSBs (on-screen buttons) around multi-function displays (MFDs):

are also not worth mapping to HOTAS controls both because there are a lot of them (typ. 20 per MFD, x 2 or 3 MFDs) and because they rely on their physical position around the display to supply semantic context, which is totally absent if you move the buttons to a different control.

I'm planning on making two or three MFDs with dummy screens (for VR use -- buttons only, functional screens not required). I intend to make the dummy screen a modular swap for a 7" square screen (typical of these MFDs) in case I want this in the future.

I'm considering adding one or two additional boxes with button and switch arrays to augment what I already have.

portability

I am aiming to make this setup portable. As a result, I want it to break down into small modular pieces interconnected with consistent power and data buses. If possible, I will do everything with USB-C (using USB-PD if required).

However, I still want it to feel solid -- I will be investigating significant use of tensile members to keep the structure rigid.

I expect it will be straightforward to produce low-part-count control mounts that bolt directly to the rest of the setup, so the main concern here is the chair. Design ideas are still percolating, but probably I will make it possible to fully disassemble the joints that make the chair adjustable, which will let it break down in relatively small pieces.

prior art

There is extensive prior art amongst the flight sim hobbyist community for building simpits. While I will draw at a high level here for inspiration and possible approaches, I will most likely directly make use of several existing systems host-side to get external signals into the flight sims. Most notably: DCS-BIOS.

renders

Below is a render of what this project might look like as a combined system:

This image was produced directly from the CAD assembly (linked below), exported as an STL and rendered in Blender using Cycles.

design files

Design files can be found here.