Knob Contoller
Tools:
C#
Arduino
Adobe Illustrator
I’ve always thought controls for arcade cabinets were interesting in how many were tailor made for the game they played. Inspired by these bespoke controls, I wanted to make a simple game along with its own custom controller, and in the process learn about electronics and what it took to integrate them into making a game. I did this as a directed study with Kyle Johnsen of Uga's college of engineering.
Design
I started by thinking about ideas for possible controllers and started loosely sketching them out. Once I was happy with an idea, I drafted some plans to actually make it.
I had to consider the size of the micro controller and other components I was using so they could fit into the housing
At the same time I was also thinking about what kind of game I wanted to make since my intention was for both the controller and the game to be paired together. I based what the game could look like on the controller itself to create natural input mapping for what the controls did ingame without having to explain them. To further this, I added a simple color scheme to the dials and in game to orient the controller.


After a paper draft, I made the pieces for the controller housing in illustrator to laser cut them out of plywood. There are notches on the panels to easily fit them together into a box. Holes are in some panels for wires and the knobs.

I was originally planning to 3d print the knobs but after printing them, they were not up to the quality I wanted so I just used bottle caps instead.




With my connections already planned from programming the controller, I soldered connections together so they could get better contact.

Development
Programming the microcontroller consisted of creating listeners for when the voltages on the knobs changed and sending data through a byte stream to Unity. In Unity I had to receive input in a thread since the game had to wait to receive byte data from the Arduino.

I consider the project as a success, while I got only an introduction to electronics and microcontroller programming, I now understand enough to learn more and take on more complex projects.
