Skip to content

Building an arduino-based video game controller

I play a lot of Kerbal Space Pro­gram because sand­box games in space is pretty much the greatest idea ever. So in an attempt to enhance the game and build some­thing pretty cool, I’ve spent the last sev­er­al months work­ing towards build­ing a con­sole to con­trol the game and dis­play tele­metry.

My final design is going to be fairly large, but to start with, I wanted to knock up a few of the sim­pler pan­els. That gave me a chance to work out how to make the pan­el hard­ware, and get the basics sor­ted out for inter­fa­cing with the game through the KSPSeri­alIO plu­gin. It’s taken quite a few months on and off to get this far, but this week I finally got the first few pan­els fin­ished and work­ing.

ksp control interfaceBasic­ally, you take an Ardu­ino Mega2560, a Mux Shield, and a bunch of switches and knobs and but­tons. And then you wire it all up and write some code to make it talk a simple seri­al pro­tocol over USB. And then, hon­estly, you giggle glee­fully while slid­ing a throttle lever up and down and watch­ing your rock­et change speed like magic.

Now that I’ve sor­ted out most of the major obstacles for this, I’ve star­ted work­ing on addi­tion­al pan­els. There’s still a lot of import­ant con­trols miss­ing. I’ve got some ideas for trans­la­tion­al RCS con­trols, in addi­tion to the Logit­ech joy­stick I usu­ally use. And I’m almost ready to get some PCBs man­u­fac­tured for a num­ber of sev­en seg­ment LED dis­plays. In the mean­time, this is already pretty fun to mess around with.

I’ve got a few more pic­tures of the cur­rent setup in imgur. And, of course, everything is open source. My ksky repos­it­ory has all of the source code, pan­el design files, and a bunch of notes on how it’s put togeth­er.

Post a Comment

Your email is never published nor shared. Required fields are marked *