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.

Custom PCBATmega32U4QMK / VIA3D-printed case

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

Back to projects