Piloting spaceships with a DIY cockpit
Take a moment to go and look up some photos of the cockpits of airplanes and spacecraft. All of them are packed full of instruments and controls. So why do we feel like we can play a flight simulator with a regular gamepad? If you’re doing so, then you’re missing out on a lot of the experience. To get that deep immersion, Beko Pharm constructed a DIY cockpit for space sims like Elite Dangerous and Star Citizen.
Beko Pharm runs their sims on a Linux PC and that limits the compatibility with off-the-shelf rigs. But most of those are expensive and lackluster anyway, so Beko Pharm built a custom controller. Front and center is an LCD panel to display all kinds of data. Surrounding that are a multitude of indicator lights, buttons, and switches. The cockpit also includes a joystick and head tracking, so Beko Pharm can have complete control over their virtual spaceships.
An Arduino Mega 2560 drives all of the lights, which are WS2812B individually addressable RGB LEDs. It also monitors the joystick and buttons. The Arduino communicates with the simulation software using a custom interface developed with Node-RED and Rust. This lets it send commands and receive status data. It can, for example, illuminate a specific LED indicator if the simulation reports something like an engine failure.
All of those components mount onto a custom frame made of wood. That sits below Beko Pharm’s triple-monitor setup, creating the illusion that they are sitting in a real cockpit surrounding by controls and looking out of the windows.