January 15, 2026
Description
This is a high resolution rotary device. Powererd by a 32u4 (Pro Micro) microcontroller, which supports USB HID. This means the controller can be freely programmed via the Arduino IDE to work with any HID copatible device.
Build cost around €10-15 (see component list)
Video:
https://youtube.com/shorts/Ty42Z4h6TcQ
The device only works via cable. It would be possible to add a Bluetooth module and a battery, but in my opinion that makes the device far too complex for a DIY project. There would also be several technical challenges involved in making it wireless.
As of now the device is configured as a surface dial device. This unlocks surface dial functionality in Windows.
I have only tested this device in Windows!
The dial can be reprogrammed easily for Linux or macOS, but it won’t support high‑resolution scrolling because I haven’t figured out how to set up the correct HID descriptors. I also don’t plan to invest much time in figuring that out.
License:
Creative Commons - Attribution - Share Alike