Protyping Custom Controllers With An Uno


When I started playing Kerbal Space Program I wanted to build a controller like the ones they use an NASA to control things like the mars Rover, and space station. So that is what I set out to do.

The reason you would do an Arduino over full custom microcontrollers, and whatnot is because Arduinos are kinda setup for that. They already have a USB driver, a way to flash your memory, and a library for this use case.

That library is HID (Human Interface Device), and you can find the docs for it here. For the Uno you have to use the Hoodloader2 to beable to use it. One big thing with this library is it is driverless, meaning you don’t need to worry about a driver, and can be used on all major OSs.

You can get a Zero or some other board and not use Hoodloader2.

Something the UNO doesn’t have a is a navtie USB controller like the Arduino Leonardo, pro micro or duo would would have. This has some challenges we have to over come, but nothing major.


What Are We Actually Doing?

I feel like this is an import thing to understand, and that is what are we trying to do. In this case we Transfering mechical movement to a digital signal that is then passed to a game. We can also build custom gauges and sent data to them, but we wouldn’t use HID for that.