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.

31 thoughts on “Mission Control for Kerbal

  1. Al: You may be surprised not so see custom panels for photo and video editing, but I’m sure not. I’ve looked into it, because I’m in the video editing and live switching business. I wondered what it would take to make a replacement for a big $15,000 switcher console, so I did the math: it takes about $10,000 for the high quality backlit button switches alone! Add to that some expensive fader controls (slide pots are NOT adequate), and even with minimal electronics and cabinetry, the break-even point slips through your fingers. So in the live video industry, many production companies choose far cheaper laptop-based controllers and learn to live with a slightly clunkier interface.

    KSP has something in common with live video switching: it requires real-time control, which is about all that could justify a custom hardware panel. Still, the sticker shock is significant, which may be why Niko1499 wasn’t able to make it profitable. So you’re not likely to see too much in the way of custom hardware panels for things that DON’T actually need real-time control.

        1. That, of course, but also just the sheer number of buttons involved.

          This particular model has a number of buttons with LCD graphics for dynamic captions, but most of the cost is in the “plain” ones.

          1. that’s the thing, i don’t see 10k in buttons, even for milspec ones, i don’t see 10k in external parts even with ODU military grade quick connects for every connection.

            that said i might be wrong, i dont know the exact switches and their prices, i could see 1-2k, perhaps more, depending on the price of the joystick and sliders, all of this is of course without considering the internals or the software.

          2. “that’s the thing, i don’t see 10k in buttons”.

            THAT’S the thing: you DON’T see 10k in buttons. But here’s the math:

            There are 226 of the translucent white buttons with RGB LEDs and clear plastic over-caps. $28 each, for $6328.
            There are 34 of the button switches with LCD caps for variable captions, at $50 each, for $1700.
            There are 40 LCD indicators (between rows of white buttons) at $30 each, for $1200.
            That’s $9228, and we still have the capacitive T-faders and the 3-axis joystick, which I don’t have prices for.
            The fluorescent display, LED bargraphs, and rotary encoders are pocket change, but that panel itself is a bunch of fabrication.

            The internal electronics is completely inconsequential, since an AVR with a bagful of shift registers can easily handle the task.

            Now, sure, the KSP panel described in the article doesn’t have nearly that many switches, but my point is, a panel full of switches never looks like it’s worth the price of the electromechanical parts.

          3. Got a link to those buttons? They sure sound fancy.

            I would have thought a mechanical keyboard button would do the job, but I’d like to see the specs. Obviously there’s a reason the manufacturer chose the parts they did.

          4. The button switches that Echolab/Blackmagic Design was using were NKK KP-0115 series, datasheet here: http://www.nkkswitches.com/pdf/kp01.pdf.

            They’re really not all that special, which is why I was so shocked at the price. I.e., they are not actually mil-spec, and are not made by hand by gnomes in the black forest using pixie dust to lubricate the springs. I will say one thing about them, though: they are solid, and can tolerate being banged on all day, every day, for years, and they are silky-smooth. This is why they’re used by most manufacturers in the production video industry. The significant features for the particular model used in switchers were:
            * 15 mm square cap that can be placed in rows without leaving gaps between the switches, which allows the operator to slide fingers across the row smoothly. Some models have a bump in the middle of the cap to help identify specific buttons.
            * Long stroke – 4.5 mm.
            * Removable clear over-cap that allows caption transparencies to be inserted.
            * Translucent white when not illuminated.
            * RGB LED backlight. This is important for switchers because with 200+ buttons you want to see instantly which ones are selected.
            * Non-tactile. These have a nice solid bottom-out, but no click. Feedback for the operator to know when it has been activated is mainly by changing color.

            Newark//Element14 have them, and it looks like they’ve gotten slightly saner over the three years since I priced them – they now have the KP0115ACBKG03RGB-2SJB for about US$20.29, or $16.11 in 200+ quantity. This is not QUITE the proper switch – this is a tactile version. the actual one called for is the KP0115ANBKG03RGB-2SJB, which is priced the same but not normally stocked. There are also red-green only versions that cost less.

            NKK also makes the button switches with backlit matrix LCD captions (as seen on the switcher panel in the picture above), but those are CRAP. The LCD buttons on those are fragile.

          5. i did say i didn’t know the exact buttons, but i DO know the price of actual milspec buttons and for the same push button style they are common at less than 10 usd, that is single piece price, bulk could be as little as a third of that.

            they are even available with leds, dunno if they’re rgb though, but all of the above is what i was trying to get at with my comment, i didnt doubt that you could find buttons that would make it cost 10k, only if there was a need for it in the specific use cases, considering that milspec switches and buttons are available cheaper.

        2. Enter China. I could through the market in HQB, Shenzhen at a place like HQMart or Seg, and cobble something together with that many switches for a fraction of the price (maybe 1/10 or 1/20 of the German prices, probably even less). For bulk orders, they’d even customize them for me and add text, or do special colors.

          China buttons aren’t all that bad any more. You probably use them every day without realizing it.

          1. You could but there would probably only be few takers. Broadcasters have big budgets and a reputation to protect so they tend to buy reliable quality from established reputable brands.

          1. Great for a one-off solution, but the issue here is why it’s a problem trying to go into business making specialized control panels, where finding old, obsolete equipment on eBay isn’t the best sourcing plan. For my own use, I’ve just gotten used to using a laptop running a software control panel, which also makes my system more portable. The most-used buttons have keyboard shortcuts so 90% of the time I can operate by feel anyway, and can keep my eyes on the video monitors.

  2. Shooting Kerbals into space is quite fun, and i learned a lot about real space missions while playing. However, if you try to make real hardware in the real world, you can’t just reset your timer to before the launch and ignite again…
    For me, i guess that a touchpanel with some cute custom kerbal graphics and some of the controls mapped from the keyboard to that panel would be enough. Should not actually be that hard (and expensive) to take a cheap 10″ android tablet, write an app for it, and get that tablet to be seen as HID device when hooked up to the PC… right?
    Shure, i would be missing out on some fancy tactile knobs, sliders and switches, but that touchpad interface could be used for many other games that have complex user interfaces hard to recreate (or remember) on standard keyboard and mouse input alone.
    The next step on that path would probably be some artlebedev Optimus device with OLED keys, but that stuff is sooo expensive…

    1. Just spitballing here… but if you got the software working for one game, and then make it theme-able via xml (or html+css or whatever). Then you can use the same Tablet App for different games. The advantage is that creating an interface for a new game should be easier for non-coders than knocking out another tablet app… plus, if you want to put it in the various App Stores, you just ship the one app instead of a thousand.

      Next, an open repository for people to upload / download configs for their favorite games.

      Connectivity should go both ways, so not only can you tap the screen to macro some arduous task, but you could also quick-glance at it to see e.g. a map for flight simulator while your main monitor is still displaying looking out the window. Also expand the connection options: direct USB HID, USB with custom drivers, Bluetooth, TCP/IP. Everyone can play.

      Game devs could then add support for it using an API. Put the chat window or the scoreboard on the tablet where it’s out of the way of your main gameplay, or whatever. Inventory management via tablet while you continue stabbing people in the face. The possibilities…

  3. I started on a control panel for ksp once but that project stalled. I found it hard to come up with a static layout that worked in all cases (rockets, spaceplanes, landers, rovers etc.).

    Gotta start playing that game again. Best game ever!

  4. I’m a little sad to see a Heathkit ET-3400 get gutted like that, but one man’s treasure is another man’s organ donor. I also see what looks to be a Tektronix knob, but I’m less sentimental about 7000 series stuff.
    Regarding those broadcast switcher buttons, they’re great for stuff like this. New they’re quite expensive, but I’ve seen old Grass Valley switcher panels on eBay for as little as $50, and I’ve been pondering picking up one or two to harvest their buttons.

  5. Find an old Saitek PC Dash. They made a PS/2 version and a USB version. The PS/2 version could be programmed through the keyboard port by using the caps, num and scroll lock signals. The problem with that is the software was never updated for use past Windows 9x. BUT! That model has a built in optical program reader. Design and print your paper inserts, slide the reader across the code strip and it’s read for that game or application.

    The USB version, alas, has no such built in code reader. It can only be programmed via USB, and the software doesn’t officially support newer than (IIRC) XP, probably not compatible with x64 either.

    Thus the older “obsolete” version will still work on ANY system you can adapt a PS/2 keyboard to – as long as you have the insert design software and a computer it will run on. Unintentional future-proofing.

    What would be really nice is if someone wrote new software for both models.

  6. Man, I can’t wait to get my build here someday! :D

    I’ve been working on one for about a year and a half, close to two years now. It’ll mount in my desk and have an actual FDAI (navball). It’s just been slow going, between work and such. (Just because I could) I made the hardware to display units after each digital display using discrete diodes. A lot of work, and yeah, it could have been done in programming, but I’m a hardware guy, and where’s the fun in that! :P

    I’m nearly finished building the digital readout (modeled after the Apollo DSKY), and after that, I think I’ll tackle some mechanical work, get he meters, the navball, and the DSKY all mounted up to the instrument panel. With weather warming up, I can get outside again to actually work on stuff like that (we had snow a week or two ago, although it didn’t stick around on the ground for long at all).

    I think I need to tackle the signal generator for the FDAI. It’s normally driven by three synchro control transformers attached to a gyro gimbal mechanism. I’m going to generate a 400 Hz sine wave, create inverted and non-inverted sources off of that, and then have an analog CMOS switch select the inverted or non inverted channel, and set the attenuation on a multiplying DAC. That’ll feed into some transformers wired into a “Y” for each axis, and then I can use some basic math and/or a lookup table to get my attenuation and invert/non-invert output values for each output, based on the attitude angle data sent by KSP.

    The whole thing is going for a look very reminiscent of the Apollo program’s instruments. I’ve gone so far as even snagged a Fairchild Channel F controller to use as my translation Hand Controller. It’s the closest style joystick I’ve found to what NASA actually used.

    My weakness is programming… Sadly, my motto seems to be “Software is the homework of tinkering”… I’m not all that great at it, have little to no experience in any variant of C (grew up on Commodore Basic), and get easily frustrated trying to grasp it. Ugh… C doesn’t even make sense to me… Basic did. All I know, is it’s a bottle neck for me. I have a mechanical keyboard, sitting for a year, only in need of firmware to run.

    I just hope I can bring myself up to snuff when it’s time to actually program this thing.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s