I built CyberPad, a custom 3×3 macropad featuring nine mechanical switches, a rotary encoder, and an OLED display. The device runs on a Seeed XIAO RP2040 using CircuitPython and KMK firmware, and supports three switchable profiles: Productivity, Gaming, and Media. Each profile has multiple layers, custom shortcuts, OLED animations, and visual feedback for the active mode. I also designed the PCB in KiCad and created a custom 3D-printable enclosure.I always watched YouTubers build 3d models and print them but never had the resources or the opportunity to do so so this was quite good
The most challenging part was bringing together multiple engineering disciplines into a single project. I had previously been exposed to PCB design, CAD modeling, embedded programming, firmware development, and 3D printing, but I had never combined all of them into one complete product. Getting the hardware, firmware, OLED interface, rotary encoder, and enclosure design to work together required a lot of iteration and troubleshooting.
What I am most proud of is that CyberPad is a complete hardware product rather than an isolated experiment. It includes a custom PCB, custom enclosure, firmware, user interface, and documentation. Building it gave me confidence that I could take an idea from concept to a working prototype. It also gave me the confidence to publish my work publicly on GitHub. Before this project, many of the tools and technologies were things I had only explored individually. CyberPad showed me that I could combine them into something tangible and share it with others.
To test CyberPad, users will need a Seeed XIAO RP2040, a 128×32 SSD1306 OLED display, an EC11 rotary encoder, nine MX-style switches, and the custom PCB and enclosure files provided in the repository. The firmware is written using CircuitPython and KMK. After installing CircuitPython on the RP2040 and copying the required libraries and firmware files, the device will boot directly into the CyberPad interface. Users can switch between Productivity, Gaming, and Media profiles using the top-row key combination and verify that the OLED display, encoder controls, shortcuts, and profile animations function correctly.