[Matthew Peverill] is a busy PhD student who loves to make time for a little Kerbal Space Program. He was tired of using such pedestrian controls as a keyboard and mouse for such important work, and wanted something a little more like they have down in Houston.
For this project, he’s focusing on the inputs more than anything else. The intent is not to play solely from this control panel, but to strike a balance between fun inputs and accurate control without screwing up favorite game play modes. It’s based on an Arduino Due, and uses some custom I²C multiplexer boards to wrangle all the various inputs.
We love the look of this panel, especially the appropriately Futura-fonted labels and all the toggle switches. Matthew took inspiration and guidance for this project from a couple of sources, so he’s definitely following in the Hackaday spirit of standing on the shoulders of giants. He’s moved through two prototypes and is working out the bugs before making the next one. The final version will be made of backlit transparent acrylic, and you know we can’t wait to see that.
If you have even the most passing interest in space and what it takes to get there, you’ve probably already played Kerbal Space Program (KSP). If you haven’t, then you should set aside about ten hours today to go check that out real quick. Don’t worry, Hackaday will still be here when you get back. Right now you need to focus on getting those rockets built and establishing a network of communication satellites so you can get out of low orbit.
For those of you who’ve played the game (or are joining us again after playing KSP for the prescribed 10, 12, 16 hours), you’ll know that the humble computer keyboard is not very well suited to jaunts through space. You really want a joystick and throttle at the absolute minimum for accurate maneuvers, but even you’ll be spending plenty of time back on the keyboard to operate the craft’s various systems. If you want the ultimate KSP control setup, you’ll need to follow in the footsteps of [Hugo Peeters] and build your own. Luckily for us, he’s written up an exceptionally well detailed guide on building KSP controllers that should prove useful even if you don’t want to clone his.
At the most basic level, building a KSP controller consists of hooking a bunch of switches and buttons to a microcontroller such as the Arduino or Teensy, and converting those to USB HID key presses that the game understands. This works fine up to a point, but is limited because it’s only a one-way method of communication. For his controller, [Hugo] forked KSPSerialIO, a plugin for KSP that allows bidirectional communication between the game and your controller, enabling things like digital readouts of speed and fuel levels on the controller’s panel.
Once the logistics of how you’ll talk to the game are settled, the rest is really up to the individual. The first step in building your own KSP controller is deciding what you want it to do. Are you looking to fly planes? Control a rover? Maybe you just want a master control panel for your space station. There’s a whole lot of things you can build in KSP, and the layout, inputs, and displays on your controller should ideally reflect your play style.
[Hugo] went with a fairly general purpose panel, but did spend quite a bit of extra time to get some slick LED bar graphs hooked up to display resource levels of different systems on his craft. That’s an extra step that isn’t strictly required for a build like this, but once you see it, you’re going to have a hard time not wanting to include it on your own panel. He also went through the expense of having the panel and case professionally laser cut and etched, which definitely gives it a polished feel.
Kerbal Space Program will have you hurling little green men into the wastes of outer space, landing expended boosters back on the launchpad, and using resources on the fourth planet from the Sun to bring a crew back home. Kerbal is the greatest space simulator ever created, teaches orbital mechanics better than the Air Force textbook, but it is missing one thing: switches and blinky LEDs.
[SgtNoodle] felt this severe oversight by the creators of Kerbal could be remedied by building his Kerbal Control Panel, which adds physical buttons, switches, and a real 6-axis joystick for roleplaying as an Apollo astronaut.
The star of this build is the custom six-axis joystick, used for translation control when docking, maneuvering, or simply puttering around in space. Four axis joysticks are easy, but to move forward and backward, [SgtNoodle] replaced the shaft of a normal arcade joystick with a carriage bolt, added a washer on one end, and used two limit switches to give this MDF cockpit Z+ and Z- control.
The rest of the build is equally well detailed, with a CNC’d front panel, toggle switches and missile switch covers, with everything connected to an Arduino Mega. This Arduino interfaces the switches to the game with the kRPC mod, which creates a script-driven interface to the game. So, toggling the landing gear switch, for instance, triggers a script which interfaces with KSP to lower your landing gear prior to a nice, safe landing. Or, more likely, a terrifying crash.
We’ve seen custom controller mods for Kerbal Space Program before, but a group calling themselves the Makerforce went a step further with their design and build of the KSP “Overkill” Command Station, which has much more in common with a fancy standup arcade unit than a custom controller. Kerbal Space Program is a hit indie game that, among other things, simulates the challenges of spaceflight. Like most games, you use the mouse and keyboard for control but many fans find this too limiting. With the help of a software mod that exposes control and status information over hardware serial communications, the door to full telemetry and remote control was opened to just about anyone to craft their own custom hardware such as flight sticks and status displays. Not content with the idea of having just a joystick and a few buttons critical for the flight process, this project took a different approach.
[Vince Weaver] tried to use his time machine to jump a few years in the future to get a less buggy version of Kerbal Space Program, but as usual with time travel, nothing went right and he ended up heading to 1987. Finding himself in an alternate timeline where KSP had been released for the Apple II, he brought back a copy.
Well, that’s the narrative proposed by [Vince Weaver] on his YouTube channel. The real story, and hack, being that he wrote a version of KSP for the Apple II in Applesoft Basic. He has used the language for the ridiculous before. You can build a rocket, select a pilot, launch, and if you’re lucky (or skilled), reach orbit.
We loaded up his disk image on an Apple II emulator and gave it a try. We managed to murde—lose a few pilots, but that was about it. It was hard not to get distracted by the graphics and remember to point the rocket the right direction. Either way, it was a neat bit of fun in retro computing. Video after the break.
Kerbal Space Program is already a runaway indie video game hit, and if you ask some people, they’ll tell you it is the way to learn all about orbital dynamics, how spaceships actually fly, the challenges of getting to the mün. The controls in KSP are primarily keyboard and mouse, something that really breaks the immersion for a space flight simulator. We’ve seen a few before, but now custom controllers well suited for a Kerbal command pod can be made at home, with all the blinkey LEDs, gauges, and buttons you could want.
[Freshmeat] over on the KSP forums began his space adventures with a keyboard but found the fine control lacking. An old Logitech Dual Shock controller offered better control, but this gamepad doesn’t come with a throttle, and USB throttles for flight sims are expensive. He found a neat plugin for KSP made for interfacing an Arduino, and with a few modifications, turned his controller into a control panel, complete with sliders, pots, gauges, and all the other goodies a proper command pod should have.
[Freshmeat]’s work is not the only custom Kerbal controller. There’s a whole thread of them, with implementations that would look great in everything from a modern spaceplane to kerbalkind’s first steps into the milky abyss of space. There’s even one over on the Hackaday projects site, ready to fly Bill, Bob, and Jeb to the mün or a fiery explosion. Either one works.