Remember back in the day when you would cruise in your car with the windows down and crank the radio knob decisively to the right to amplify the music playing? Perhaps the scenario has been idealized with time, but attempting to crank the volume to 11 on your computer simply isn’t possible with hotkeys and mouse clicks. Additionally, playing games like Tempest, Arkanoid, and Slither.io without some sort of rotary input just seems kind of wrong. I decided solve this issue once and for all with this Ultimate Rotary Input Device.
This controller is actually an upgrade to an input device that I made in 2017 that only controlled song volume as well as start/stop. The new version, however, features three separate button inputs, as well as rotary control via an encoder and I2C interface. It also has a NeoPixel ring, which indicates how the control knob is turning by shining through the translucent material that the unit’s top is made out of.
Overall control for the device is via a PICO board by MellBell, which functions natively as a keyboard and/or mouse. Thanks to the excellent HID Project library, I was able to get it to control volume and music skips without any extra software running on the computer. In gaming mode, the mouse is centered manually (on a snake in the case of slither.io), then one has to push both non-encoder buttons to move it into position. From there, the encoder is twisted to turn the snake, its button is used to make the snake travel faster. More explanation of the project can be seen in the video below, and build details are found on Hackster.io.