“The goal of this tutorial is not to show how to build a specific KSP controller, but to show many of the common design choices and their pros and cons. The idea is to guide you to make your own controller rather than showing you how to make one without explaining the ‘why’ behind it. For several subjects, this tutorial will only provide pointers to other resources dedicated to each topic (especially Sparkfun tutorials as I find them quite complete).
What is KSP?
Kerbal Space Program is a game where you build rockets and they fly them. If you don’t know it, you may want to go look it up before continuing here.
What is a Kerbal Controller?
Here is a list of controllers for KSP if you want some examples:
- A thread on the KSP forum listing several controllers
- An instructable by hugopeeters
- An instructable by niko1499
- The Kerbal Controllers subreddit
The basic architecture consists of a computer running KSP as well as a controller that can send inputs to KSP (to launch the rocket, increase the throttle, retract the landing gear, etc.) and receive information from KSP to be displayed (speed, altitude, etc.). The controller is usually controlled by an Arduino that is connected to the computer on one side and to a bunch of electronics devices on the other side (switches, potentiometers, LEDs, etc.). The whole controller is enclosed in a case that holds everything together.
This guide is not about using a pre-built off the shelf controller for KSP, but about designing your own custom controller.
Why make a KSP controller?
There are several reasons to make a controller:
- Because it is cool
- Because you want to learn new skills, mostly related to electronics or laser cutting/3D printing
- Because there is nothing like launching a kerbal into space by pressing a big red button
- But mostly because it is freaking cool!
What are the content of this guide ?
The first part of this guide is about high level choices to guide the initial design of your controller (some examples of what you can do with a controller, what library and what board to use). It ends with a guide for an optional step, where you can use some basic electronics supplies to build a first proof of concept of a controller.
The second part is about the content of the controller: what kind of switches to use for specific inputs, what it can display, and various tips and tricks for designing. The goal is to be able to draw a rough schematic of the controller you want by the end of this part.
The third part is how to actually built it, including the enclosure, the electronics, etc.
Who is writing this guide?
This is a joint work from rogor (one of the main developers behind Kerbal Simpit Revamped) and Codapop (the developer of one of the largest and most complete KSP controllers). The idea is to make a living guide to help others create a controller, so feel free to suggest any improvements to this guide!”