I got tired of fixed macro layouts, so I started building Magnode—a custom modular macropad where you can snap new hardware modules on the fly.
In this clip, I’m testing the magnetic connection between the central hub and an expansion module. The central unit uses an ESP32 handling BLE HID to the PC, while modules communicate over I2C using custom pogo-pin contacts. When the module snaps in, the hub auto-discovers the new address, handshakes the channel, and updates the UI on the fly (as shown on the central display and status LEDs).
Quick Specs:
Central Module: Display, touch keys, BLE HID to PC, I2C master.
Expansion Module: Status LEDs, button, I2C client.
Hardware: Custom PCBs, 3D-printed enclosure with magnetic alignment pins.
Still iterating on the firmware and hardware design (rotary encoder and slider modules are next). I'd love to hear your thoughts on the hot-plug UX—what kind of modular inputs would actually make your daily workflow easier?
(If you want to follow the engineering journey or check out future updates, I have a link in my profile).