XENPAD One
A single mechanical switch with a full-colour indicator, on an RP2040. Three gestures, each mapped independently, and a resting colour that tells you the state of whatever it is watching.

Buttons you press, and that press back
Desk hardware that works in both directions. Pressing runs something on your computer; an event from the internet — a failed build, a page going down, someone mentioning you — lights the device up.
Two of them exist: XENPAD One, a single mechanical switch with a full-colour indicator on an RP2040, and XENPAD Omni, a round touchscreen on an ESP32-S3 with a rotary encoder and an RGB ring.
The whole desk side is mine: firmware for both chips, a signed and notarized macOS app, and the relay that carries events from the internet to a device sitting behind someone's router.
The firmware for both devices is open source under GPLv3, but the USB protocol is MIT in both — so anything can talk to the devices without inheriting copyleft.
That split is deliberate. The shortcuts live in the device's own flash, so a button keeps working on a machine that has never seen my software. And if I stop, someone else can build the firmware and write a replacement app.
A single mechanical switch with a full-colour indicator, on an RP2040. Three gestures, each mapped independently, and a resting colour that tells you the state of whatever it is watching.
A round touchscreen on an ESP32-S3 with a rotary encoder and an RGB ring. Tiles, layers, and alerts that take over the whole glass with the actual message rather than a coloured dot. Press it and it opens the exact thing that raised the alert.
Firmware for both chips, a signed and notarized macOS app, and the relay that carries events from the internet to a device sitting behind someone's router.
Both firmwares are GPLv3, but the USB protocol is MIT — anything can talk to the devices without inheriting copyleft. The shortcuts live in the device's own flash, so a button keeps working on a machine that has never seen my software, and if I stop, someone else can build the firmware and write a replacement app.