Custom hardware project
Mechanical Macropad
A compact 12-key macropad with hot-swappable switches, a custom PCB, and flexible firmware for macros, layers, and media control.
Overview
I designed the macropad from the switch layout and schematic through the PCB, case, and firmware. Iterative prototypes helped validate fit, switch feel, and the final typing experience.
Specifications
- 12-key layout with rotary encoder
- USB-C with VBUS power management
- Hot-swappable mechanical switches
- Custom gasket-mounted 3D-printed case
Design challenges
Compact routing
Kept USB and ground planes clean while fitting the full layout into a small board.
Consistent feel
Iterated the case and gasket geometry to achieve even compression across the board.
Stable power
Managed RGB and USB power demands without increasing board thickness.
Flexible firmware
Built keymaps with layers, encoder behavior, macros, and media controls.
Result
The finished macropad combines a serviceable hardware design with a programmable control surface that can grow with new keymaps and workflows.
Project gallery
Add your images to public/projects/Macropad and keep the filenames below. These slots provide a clean, consistent layout for project documentation.
PCB render
Board render with switch matrix, MCU, and encoder placement.
/projects/Macropad/pcb-render.jpg
Case prototype
Early printed case prototype used to validate fit and feel.
/projects/Macropad/case-prototype.jpg
Assembled build
Final assembled macropad with keycaps and enclosure.
/projects/Macropad/assembled-build.jpg
Firmware demo
Programming or keymap demonstration with active layers/macros.
/projects/Macropad/firmware-demo.jpg