Focuspad
A 4x4 Windows productivity macropad with two knobs
Created by
phyroxyn
Hackpad
22 views
0 followers
phyroxyn
added to the journal ago
Just realizedI couldn't use low profile switches 😭

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:

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
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.
.png)
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.

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).

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.

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 ⚡🚀
approved Focuspad ago
Nice hackpad
phyroxyn
submitted Focuspad for review ago
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
submitted Focuspad for review ago
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.
.png)
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.

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).

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.

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 😭

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:

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)