MindFctry
About
Studio Resources Systems Lab
Contact
Lab
Hardware + Firmware

DeskPilot

A 12-key macro pad with a printed enclosure and hot-swappable switches for OBS, shortcuts and quick actions.

Print time ~4h
Cost ~48€
Difficulty Intermediate
Build time 1 weekend
DeskPilot

Overview

DeskPilot is a small mechanical macro pad built around a spare Arduino Pro Micro: 12 hot-swappable switches plus a rotary encoder, wired point-to-point and flashed with a custom keymap to replace a handful of daily keyboard shortcuts with a single press.

What you need

3D printed

  • Two-piece case (top plate + base)
  • 12 keycaps

Electronics

  • Arduino Pro Micro (ATmega32U4)
  • 12x Kailh hot-swap sockets
  • 12x mechanical switches
  • Rotary encoder
  • Diode matrix wiring

Software

  • Custom QMK-style firmware
  • OBS WebSocket companion script

Build log

01

Design the case

Model the case around the exact switch and hot-swap socket footprint in Fusion 360, leaving 0.15mm of clearance so the sockets press-fit cleanly.

02

Print top and base

Print the top plate in a stiffer material for switch stability, and the base plate in plain PLA since it only carries the electronics.

03

Wire the matrix

Solder the diode matrix point-to-point (no PCB), then test every key for continuity before closing the case up for good.

04

Flash the firmware

Flash a custom QMK-style keymap mapping each key to a macro: OBS scenes 1 to 4, mute mic, screenshot, and a couple of text snippets.

05

Wire the encoder and status LED

Wire the rotary encoder to volume control, then add a companion script that listens for OBS WebSocket events to light up an LED whenever the stream goes live.

Result

Scene switching during streams went from five separate keyboard shortcuts to a single press, and the mute key alone has saved more than one awkward moment on calls.

Lessons learned

Hot-swap sockets were worth the extra printing-tolerance pass: two switches failed within the first week and were swapped in seconds instead of a full resolder. The diode-direction mix-up on the first wiring pass was, predictably, the first debugging session.

QMK Arduino OBS WebSocket Hot-swap PLA/ABS
© 2026 MindFactory - All rights reserved
Legal Notice Terms of Sale Sitemap
Follow TikTok Instagram Facebook