Stefan Wagner's USB Knob Is a Driver-Free 3D-Printable Rotary Input Device Driven by a WCH CH552E
Driven by a low-cost microcontroller, this custom input device can control your volume — or more — with a twist.
Microcontroller hobbyist Stefan Wagner has designed a handy input device for those whose needs tend towards the rotary: the USB Knob, driven by the builder's choice of a WCH CH552E or CH554E microcontroller.
"The USB Knob is a versatile device that combines the functionality of a rotary encoder with the convenience of a USB interface," Wagner explains of his creation. "One of the standout features of the USB Knob is that it requires no driver installation, making it incredibly easy to use. The device acts as a HID custom keyboard, meaning that it can be recognized and utilized by most computers without the need for additional software."
The knob itself is a 3D-printed housing for a custom PCB with a rotary encoder at the center. Two WS2812 LEDs provide visual feedback, a micro-USB connector offers connectivity, and the firmware runs on a WCH CH552E or CH554E microcontroller.
"The CH552E is a low-cost, enhanced E8051 core microcontroller compatible with the MCS51 instruction set," Wagner explains. "It has an integrated USB 2.0 controller with full-speed data transfer (12 Mbit/s) and supports up to 64 byte data packets with integrated FIFO and direct memory access (DMA). The CH552E has a factory built-in bootloader so firmware can be uploaded directly via USB without the need for an additional programming device."
Wagner's default firmware turns the USB Knob into a driver-free volume control — though, with source code provided, it's possible to convert the USB Knob into almost any kind of rotary input device you can imagine, from a tool for zooming while editing images or scrubbing through video files to a classic Pong controller.
Hardware design files, source code, and 3D print files for the USB Knob are available on Wagner's GitHub repository under the reciprocal Creative Commons Attribution-ShareAlike 3.0 Unported license.