So this summer, I and a fellow grad student decided to both work on making a controller for Kerbal Space Program. My controller has all of the main functions working now, so I thought I would post the progress so far. Current Progress Credit I have zitronen to thank for his excellent plugin and tutorial on the arduino working with KSP. You can find his page here. I was very much inspired by the K.E.E.B. controller made by Luis, and took many of my ideas from his design. I took a look at Odysseus by Sputnix. It is very clean and an excellent design. I will probably implement some of his design elements in my controller as it progresses. I also liked the form of Sputnix's forum post, and I am trying to emulate that here. Also, thanks to all on the forums for all your wonderful ideas and knowledge, especially in C# and arduino coding. FunctionsThe main joystick is just a Saitek ST290 chopped in half. I figured it was easier to use an existing joystick than having to wire it up to the arduino and code it. This handles main flight, rotation, yaw and pitch. This also handles the throttle. It also means this will take up 2 USB ports instead of 1. Thank goodness for powered USB hubs. The small center joystick is a work in progress. It is the only thing currently not wired up. It is a small hat switch that will be used for translation movements for docking. The 5 red buttons handle SAS, RCS, Lights, gears, and brakes. They are backlit by LEDs and display the current in game status, regardless of the switch position. The red arm switch is essentially a stage lock. The yellow staging button is only active when the arm switch is armed. The yellow staging button launches and stages the rocket. It blinks similar to the LED on the in game staging panel. It blinks when the rocket is on the launch pad. When in flight it is solid until there are no stages left. When there are no stages left, or the arming switch isnt armed, the light is off. The blue switch opens Map View, and is lit up when in Map View. Finally, the LCD displays information from the game. I currently have it only displaying altitude and velocity. I would like to add a selector switch to change between different information. I would also like to add the functionality to display sci notation with units instead of a very large number. The next things I am going to add are a few buttons to switch between staging, docking, and maybe horizontal flight modes. I also need to add a handle for the top of the throttle. Parts 1x Arduino Uno R3 1x Saitek St290 1x old computer case (for the metal) 1x MCP23017 I/O expander - adding another later, link, arduino code library, you can also get them cheaper here 5x Red Latching Illuminated buttons - link 1x Toggle switch with Missile cover - here and here 1x Yellow momentary illuminated button - link 1x Blue momentary illuminated button - link 1x hat switch - salvaged from another old joystick 1x 16x2 LCD screen I will add links to these and to the other things that I used