KSP Controller

by SimonRob in Circuits > Arduino

10709 Views, 94 Favorites, 0 Comments

KSP Controller

this is a game controller (kerbal space program)

Material:

-1 arduino pro micro

-a lot of momentary buttons (4NO joystick , led buttons ... )

-toggle switch

-2 rotary encoders

-USB cables

-box to hold everything

-electrical wires

-hub USB

- tools (drill, screwdrivers, soldering iron, ...)

-old USB keyboard *optional* (to add more buttons) (step5)

-and of course Kerbal Space Program

Emplacement of Buttons

this step is very important because your controller must be ergonomic

I recommand you to make prototypes on cardboard to try differents emplacements of buttons

Drill Holes

when you're happy with your buttons emplacement, make marks with a pencil and then drill holes to the correct diameter

Soldering !

place the buttons in their respective holes and start wiring according to the schematic

More Buttons

*this step is optional*

the number of buttons in a matrix is limited so there is a solutio:

open an old USB keyboard and take the PCB inside

the electronic card of a keyboard has several pins and when two pins are connected with a wire, the keyboard write a character so you can try all the combinaisons to found the characters " 1,2,3,4,5,6,7,8,volume+ and volume-"

then weld buttons to corresponding pins and if it works each button should write a number on your laptop.

Wires

when all is welded, it's almost done

we have 3 USB cables:

-1 for arduino

-1 for the keyboard card

-1 for the lights supply

so the solution is to add an USB hub inside.


(the pink foam is here to insulate because my box is a metal box).

Sketch

I didn't make the arduino sketch.

the sketch which I use is this one (it's from the amstudio channel he made a button box for another game).

you also need library here

Labels

print labels and stick them to the corresponding buttons.

Assign

plug the controller at your computer and check with "joytokey" that all your buttons work

then launch KSP, go in settings,input and assign each button of your controller to a function.

this project is finish if you have questions to ask me: write a comment.