Posts with «kerbal space program» label

Create a custom Kerbal Space Program cockpit with Arduino

When you play a video game, the controls are normally a compromise between what you have available (a keyboard/mouse) and the actions you’re trying to convey. This, however, wasn’t good enough for Kerbal Space Program enthusiast Hugopeeters, who instead of accepting this limited input method, designed a new control panel using an Arduino Uno as its heart.

Notable features of his build include dual joysticks, a throttle slider, a multi-purpose LCD display, LED bars for fuel gauges, and a beautifully laser-cut enclosure.

Want to construct your own? Find more details on the project in Hugopeeters’ write-up, as well as the Arduino code he used and the KSP plugin necessary to interact with his new hardware.

Building a Better Kerbal Space Program Controller

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.

Wiring switches and buttons to the Arduino.

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.

We’ve covered quite a number of custom KSP controllers here at Hackaday. The overlap between KSP players and hackers seems unusually high, but of course a game that lets you build and fly contraptions of your own design does sound like something that would be right up our alley.

Mission Control for Kerbal

[Niko1499] had a plan. He’d built a cool hardware controller for the game Kerbal Space Program (KSP). He got a lot of positive reaction to it and decided to form a company to produce them. As many people have found out, though, that’s easier said than done, and the planned company fell short of its goals. However, [Niko1499] has taken his controller and documented a lot about its construction, including some of the process he used to get there.

If you haven’t run into it before, KSP is sort of half simulator, half game. You take command of an alien space program and develop it, plan and execute missions, and so on. The physics simulation is quite realistic, and the game has a large following.

When we first saw the photos, we thought it was an old Heathkit trainer, and–indeed–the case is from an old Heathkit. However, the panel is laser cut, and the software is Arduino-based. [Niko1499] covers a few different methods of letting the Arduino control the game by emulating a joystick, a keyboard, or by using some software to take serial data and use it to control the game.

The project isn’t quite an exact how-to, although he does provide a bill of materials and the software. However, you’ll surely want to customize the layout to fit your case and your preferences anyway.

We are always surprised we don’t see more dedicated hardware control panels for popular software like Gimp (or Photoshop) or video editing. Faking mouse and keyboard input is pretty simple and having dedicated buttons for common functions could be pretty productive if you plan it out right.

We have, however, seen a number of controllers for KSP for quite a while. Of course, everyone has their own take on exactly what one should look like.


Filed under: Arduino Hacks

Hacklet 39: The Kerbal Way Of Doing Things

Kerbal Space Program is a space flight simulator based on an extremely stupid race of green space frogs that have decided to dedicate all their resources towards the exploration of space. It is a great game, a better space simulator than just about anything except for Orbiter, and the game is extremely moddable. For this edition of the Hacklet, we’re going to be taking a look at some of the mods for KSP you can find over on hackaday.io.

Like most hardware builds for Kerbal Space Program, [lawnmowerlatte] is using a few user-made plugins for KAPCOM, a hardware controller and display for KSP. The Telemachus plugin is used to pull data from the game and display that data on a few screens [lawnmower] had sitting around.

There are a few very cool features planned for this build including seven-segment displays, a throttle handle, and neat enclosure.


[Gabriel] is working on a similar build for KSP. Like the KAPCOM, this one uses the Telemachus plugin, but this one adds three eight-digit, SPI-controlled, seven-segment displays, relegendable buttons, and a Kerbal-insipired frame made out of Meccano.


[Lukas]’ KSP Control Panel is another complicated control system that breaks immersion slightly less than a keyboard. He’s using a Raspberry Pi to talk to the Telemachus server to control every aspect of the craft. From staging to opening up the solar panels, it’s all right there in [Lukas]’ control panel.


You may have noticed a theme with these builds; all of them use the Telemachus plugin for KSP. Even though it’s fairly simple to create plugins for Unity, there really aren’t that many KSP plugins build for these immersive control panels and space flight simulators. Or rather, Telemachus is ‘good enough’. We’d like to see a fully controllable KSP command pod model, just like those guys with 737 flight simulators in their garage. If you have any idea how that could happen, leave a note in the comments.


Filed under: Hackaday Columns

Rocket Controls Fit for a Kerbal

Kerbal Space Program is a space simulation game. You design spacecraft for a fictional race called Kerbals, then blast those brave Kerbals into space. Sometimes they don’t make it home.

If controlling spacecraft with your WASD keys isn’t immersive enough for you, [marzubus] has created a fully featured KSP control console. It sports a joystick, multiple displays, and an array of buttons and switches for all your flight control needs. The console was built using a modular approach, so different controls can be swapped in and out as needed.

Under the hood, three Arduinos provide the interface between the game and the controls. One Arduino Mega runs HoodLoader2 to provide joystick data over HID. A second Mega uses KSPSerialIO to communicate with the game over a standard COM port interface. Finally, a Due interfaces with the displays, which provide information on the current status of your spacecraft.

All of the parts are housed in an off the shelf enclosure, which has a certain Apollo Mission Control feel to it. All [marzubus] needs now is a white vest with a Kerbal badge on it.


Filed under: Arduino Hacks