Blueprint

Focuspad

A 4x4 Windows productivity macropad with two knobs

Created by phyroxyn phyroxyn

Hackpad

22 views

0 followers

phyroxyn phyroxyn added to the journal ago

Just realizedI couldn't use low profile switches 😭

Makropad_v1_2026-Jan-03_02-43-52PM-000_CustomizedView12801590204

What happened

Got an email from HCB/Blueprint saying the standard parts are being shipped to me. That means my recent MX → Choc v2 redesign was all for nothing 😭.
(This was de redesigned PCB:
image

So now i need to switched back to the last stable MX version, thankfully I had saved everything on GitHub, so I can restore the original files quickly.

Next steps:

  • Find a good pcb serivce, because in germany jlc-pcb has high import fees
  • Buy the pcb and start 3d printing the parts (when my new hotend arrives)

phyroxyn phyroxyn added to the journal ago

Retroactive project overview

Focuspad — first journal entry (retroactive)

I started this Blueprint Hackpad-clone project a few weeks ago, but I didn’t realize I had to keep a journal. This entry is retroactive, based on my notes and memory. In total, I estimate I’ve spent around 16–20 hours on the Focuspad so far.


Project overview

The Focuspad is my custom macropad.

The design is inspired by Work Louder x Framer Collab , and the Lofree Flow — clean, minimal, and desk-setup friendly.

Originally the board was designed around MX-style switches, but today I updated the whole design so I can use Kailh Choc v2 low-profile switches instead. I want the Focuspad to match a future low-profile full-size keyboard project, so both projects share the same “thin” aesthetic.
Makropad_v1_2025-Dec-28_03-27-13PM-000_CustomizedView38785409704 (1)


Time breakdown (approx. 16–20 hours total)

Schematic (RP2040 + matrix + encoders) — ~2–3 h

  • Designed the matrix for 12 keys (a 4×4 grid with the corners empty for aesthetic reasons) + 2 rotary encoders with push buttons.
  • Used the Seeed Studio XIAO RP2040 as the main MCU.
  • This part went smoothly: mostly careful planning of rows/columns and checking wiring.

PCB & routing in KiCad — ~6–8 h

Most of the time went here.

  • Spent a lot of time dealing with library issues:
    • My KiCad libraries were set up incorrectly, so footprints and 3D models were missing or mismatched.
    • Because of that, I had to assign footprints and 3D models manually, and in some cases I had to do that multiple times after redesigns.
    • For a few parts I also searched online for compatible 3D models and imported them.
  • The Motherboard didn't have enough ports for a 4x4 matrix + 2 rotary enocders, so the left rotary encoder just works as a push button (wired in the 4x4 matrix) and the left one is just rotatable
  • Re-routed the PCB multiple times to keep the footprint compact and thin.
  • The USB‑C port is on the board edge. Right now it points in a less-than-ideal direction for cable management, but it’s an acceptable trade-off to keep the PCB small.

kicad_A9PGFMvIrA

3D design (case system) — ~3–4 h

  • I designed an intentionally modular case system with multiple interlocking parts (visible in an older render from about a week ago).
  • The base connects the PCB and the PCB cover.
  • The outer “shell” slides over a chamfer and has no structural role, so it can be swapped later (for example: different materials like aluminum or wood).
  • Everything sits on an angled base (similar to the Work Louder × Framer collaboration style) to create a more ergonomic viewing angle.
  • After today’s redesign, the functional part of the macropad is around 16 mm thin (without the base).

Fusion360_LV9G0HuPIC

Firmware / coding — ~2–3 h

  • Firmware work went relatively smoothly, with only a few setup issues.
  • Used QMK and iterated using VS Code.
  • I attempted to make it work nicely with an iPad (auto-switching OS behavior / different modifier mapping like Windows vs Command), but I couldn’t get that working yet.

Today’s redesign: MX → Choc v2 — ~1–2 h

Today I did a big update:

  • Swapped all MX switch footprints to Choc v2 low-profile footprints and rerouted all the cables .
  • Adjusted spacing so low-profile keycaps fit and align with the case design.
  • Updated the Case and imported Choc v2 switch models for KiCad so the renders match reality.

Makropad_v1_2026-Jan-02_10-18-21PM-000_CustomizedView11686331428


Fun facts & parts

  • Controller: Seeed Studio XIAO RP2040 (through-hole)
  • Switches: Kailh Choc v2 low profile (replacing the original MX browns)
  • Target thickness: ~17 mm total height including keycaps
  • Layout: 4×4 grid with missing corners + 2 rotary encoders (with push buttons) + a logo in the left corner

Problems & how I solved them

Library & footprint chaos

My KiCad setup was broken, so footprints and 3D models didn’t automatically match. I solved it the brute-force way:

  • Manually assigned each footprint.
  • Looked up and imported 3D models from the internet where needed.

This was slow, but it forced me to understand every part on the PCB.

USB‑C orientation vs. small footprint

I wanted the PCB as small as possible, which led to a compromise:

  • The USB‑C port faces a slightly awkward direction for cable routing.
  • For now I’m accepting it; I might do a V2 later with a rotated connector.

Next steps

  • Update the BOM to reflect the switch change from MX to Choc v2 (and add direct purchase links).
  • Clean up the KiCad libraries so footprints/3D models are easier to manage in future revisions.
  • Continue firmware work (encoder behavior + iPad modifier mapping).
  • Post updated renders and final case screenshots once the Choc v2 version is f

CAN CAN ⚡🚀 approved Focuspad ago

Nice hackpad

phyroxyn phyroxyn submitted Focuspad for review ago

zsharpminor zsharpminor requested changes for Focuspad ago

This is probably the most creative hackpad design I've seen so far (good luck printing that case!!) Only comment I have is that unfortunately your 3d files must be in .step or .stp format.

phyroxyn phyroxyn submitted Focuspad for review ago

phyroxyn phyroxyn started Focuspad ago

1/3/2026 3:14 PM - Retroactive project overview

Focuspad — first journal entry (retroactive)

I started this Blueprint Hackpad-clone project a few weeks ago, but I didn’t realize I had to keep a journal. This entry is retroactive, based on my notes and memory. In total, I estimate I’ve spent around 16–20 hours on the Focuspad so far.


Project overview

The Focuspad is my custom macropad.

The design is inspired by Work Louder x Framer Collab , and the Lofree Flow — clean, minimal, and desk-setup friendly.

Originally the board was designed around MX-style switches, but today I updated the whole design so I can use Kailh Choc v2 low-profile switches instead. I want the Focuspad to match a future low-profile full-size keyboard project, so both projects share the same “thin” aesthetic.
Makropad_v1_2025-Dec-28_03-27-13PM-000_CustomizedView38785409704 (1)


Time breakdown (approx. 16–20 hours total)

Schematic (RP2040 + matrix + encoders) — ~2–3 h

  • Designed the matrix for 12 keys (a 4×4 grid with the corners empty for aesthetic reasons) + 2 rotary encoders with push buttons.
  • Used the Seeed Studio XIAO RP2040 as the main MCU.
  • This part went smoothly: mostly careful planning of rows/columns and checking wiring.

PCB & routing in KiCad — ~6–8 h

Most of the time went here.

  • Spent a lot of time dealing with library issues:
    • My KiCad libraries were set up incorrectly, so footprints and 3D models were missing or mismatched.
    • Because of that, I had to assign footprints and 3D models manually, and in some cases I had to do that multiple times after redesigns.
    • For a few parts I also searched online for compatible 3D models and imported them.
  • The Motherboard didn't have enough ports for a 4x4 matrix + 2 rotary enocders, so the left rotary encoder just works as a push button (wired in the 4x4 matrix) and the left one is just rotatable
  • Re-routed the PCB multiple times to keep the footprint compact and thin.
  • The USB‑C port is on the board edge. Right now it points in a less-than-ideal direction for cable management, but it’s an acceptable trade-off to keep the PCB small.

kicad_A9PGFMvIrA

3D design (case system) — ~3–4 h

  • I designed an intentionally modular case system with multiple interlocking parts (visible in an older render from about a week ago).
  • The base connects the PCB and the PCB cover.
  • The outer “shell” slides over a chamfer and has no structural role, so it can be swapped later (for example: different materials like aluminum or wood).
  • Everything sits on an angled base (similar to the Work Louder × Framer collaboration style) to create a more ergonomic viewing angle.
  • After today’s redesign, the functional part of the macropad is around 16 mm thin (without the base).

Fusion360_LV9G0HuPIC

Firmware / coding — ~2–3 h

  • Firmware work went relatively smoothly, with only a few setup issues.
  • Used QMK and iterated using VS Code.
  • I attempted to make it work nicely with an iPad (auto-switching OS behavior / different modifier mapping like Windows vs Command), but I couldn’t get that working yet.

Today’s redesign: MX → Choc v2 — ~1–2 h

Today I did a big update:

  • Swapped all MX switch footprints to Choc v2 low-profile footprints and rerouted all the cables .
  • Adjusted spacing so low-profile keycaps fit and align with the case design.
  • Updated the Case and imported Choc v2 switch models for KiCad so the renders match reality.

Makropad_v1_2026-Jan-02_10-18-21PM-000_CustomizedView11686331428


Fun facts & parts

  • Controller: Seeed Studio XIAO RP2040 (through-hole)
  • Switches: Kailh Choc v2 low profile (replacing the original MX browns)
  • Target thickness: ~17 mm total height including keycaps
  • Layout: 4×4 grid with missing corners + 2 rotary encoders (with push buttons) + a logo in the left corner

Problems & how I solved them

Library & footprint chaos

My KiCad setup was broken, so footprints and 3D models didn’t automatically match. I solved it the brute-force way:

  • Manually assigned each footprint.
  • Looked up and imported 3D models from the internet where needed.

This was slow, but it forced me to understand every part on the PCB.

USB‑C orientation vs. small footprint

I wanted the PCB as small as possible, which led to a compromise:

  • The USB‑C port faces a slightly awkward direction for cable routing.
  • For now I’m accepting it; I might do a V2 later with a rotated connector.

Next steps

  • Update the BOM to reflect the switch change from MX to Choc v2 (and add direct purchase links).
  • Clean up the KiCad libraries so footprints/3D models are easier to manage in future revisions.
  • Continue firmware work (encoder behavior + iPad modifier mapping).
  • Post updated renders and final case screenshots once the Choc v2 version is f

1/3/2026 3:26 PM - Just realizedI couldn't use low profile switches 😭

Makropad_v1_2026-Jan-03_02-43-52PM-000_CustomizedView12801590204

What happened

Got an email from HCB/Blueprint saying the standard parts are being shipped to me. That means my recent MX → Choc v2 redesign was all for nothing 😭.
(This was de redesigned PCB:
image

So now i need to switched back to the last stable MX version, thankfully I had saved everything on GitHub, so I can restore the original files quickly.

Next steps:

  • Find a good pcb serivce, because in germany jlc-pcb has high import fees
  • Buy the pcb and start 3d printing the parts (when my new hotend arrives)