Focuspad
A 4x4 Windows productivity macropad with two knobs
Created by
phyroxyn
Hackpad
31 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 ship 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 ship 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)