Custom peripheral projects are among the most rewarding. Especially if you’re like me and you sit at the computer eight hours per day, anything that you can use on a daily basis is super satisfying. This topic of DIY peripherals came up on the podcast while chatting with Kristina, who is no stranger to odd inputs herself.
We were talking about a trackball that had been modified to read twisting gestures, by a clever hijacking of the twin mouse sensors inside. If you do a lot of 3D modeling, you can absolutely get by with just a mouse and shift-ctrl-alt as modifiers, but it’s so much more immediate to use a dedicated 3D input device. (I’ve got an ancient serial Space Mouse just under my left hand as I type this.)
My old favorite, which I haven’t used in ages, is the guts of a 5” hard-drive platter stack that I turned into a scroll wheel. Unfortunately, I don’t have space for it on my desk anymore, but it was just so pleasing to scroll through a document with something that had some real chonky momentum to it.
And it’s easier than ever to make your own. The classic blocky macropad is a great introduction, but as long as you’re doing the design yourself, why not extend it, or at least make it fit your hand? Or take your flights of fancy even further away from the mainstream. Consider the Bluetooth mouse ring, for instance.
Point is, the software side of almost any peripheral device you can imagine is sorted out already, and interfacing with the hardware is equally simple. Peripheral hacks have such a low barrier to entry, but afford so many creative hardware possibilities. And nothing says “Jedi” like building your own lightsaber.

i just wish i could retrofit a decent keyboard onto any given laptop
Some years ago I used a clock output on PIC micro to make two-stage charge pump. One stage doubled the voltage, the other inverted it. It was just enough for a cheap op-amp that wasn’t rail-to-rail to operate in a project…
I did that back in the ’70s. Using a 555, of course…
Obligatory, you could do that with a 555 comment.
“Especially if you’re like me and you sit at the computer eight hours per day, anything that you can use on a daily basis is super satisfying”
True. I used an ESP32-S3 to create a “macropad”. The ESP functions as a keyboard/mouse. An Android app connects to the ESP32 via Bluetooth and sends the keystrokes. The code still needs refactoring to be better, more organized, and optimized, but it works as intended and saves me from repetitive tasks.
https://github.com/moises-dev-git/App_Android_to_control_Bluetooth_low_energy_ESP32S3
Why on earth would you use an android app for initiating hid emulation? What’s wrong with a button? If you need to ‘click’ the macros remotely a web app would be simpler to build and maintain, and compatible with 100% of devices with a browser