

Focuspad
A six-key USB-C productivity macropad with an encoder and OLED, designed for Hack Club Hackpad.
- Size
- 97 × 68 mm
- Copper layers
- 2
- Thickness
- 1.6 mm
- Parts
- 19
- Nets
- 18
- Pads
- 71
- Tracks, vias
- 121, 2
- Routed
- Yes
- KiCad
- KiCad 10.0 (file 20260206)
- Created
- 14 Oct 2026
- Updated
- 15 Oct 2026
Overview
Focuspad is an open-source printed circuit board by rakazenmun, from the rakazenmun/focuspad repository on GitHub. It is a 2-layer board of 97 × 68 mm with 19 parts on 18 nets, routed with 121 tracks and 2 vias.
Its parts include 7 switches, 6 diodes, 1 IC and 1 connector. It belongs with the keyboards and input and lEDs and displays boards and the RP2040 boards of this library.
README
README.mdFocuspad
Focuspad is a six-key productivity macropad built around the Seeed Studio XIAO RP2040. It combines a 2×3 diode matrix, a pressable rotary encoder, and a 128×32 OLED in a compact 3D-printed enclosure.
I wanted a small desktop controller that keeps the shortcuts I use most within one hand. The default KMK layout provides Copy, Paste, Undo, Reopen Closed Tab, Find, and Enter. Turning the encoder changes volume; pressing it mutes.

PCB
The two-layer PCB is 97×68 mm. Six 1N4148 diodes prevent ghosting in the 2×3 matrix. The OLED uses D4/D5 for I²C, and the encoder uses D7–D9. All footprints are embedded in the KiCad board file.


KiCad 10 error-level DRC result: 0 violations and 0 unconnected pads.
KiCad 10 error-level ERC result: 0 violations. Reports are included in the
PCB directory. The design has not yet been manufactured or hardware-tested.
Case
The case is a two-part PLA print with a 1.5 mm MX switch plate, four M3 heat-set
bosses, a USB-C opening, and 0.25 mm clearance around the PCB. The complete
assembly is in CAD/Focuspad_Assembly.step; printable STEP and STL parts are in
production/.
Firmware
Firmware/main.py is original KMK firmware for CircuitPython. Installation and
library requirements are documented in Firmware/README.md. A production copy
is available at production/main.py.
Repository structure
CAD/— complete STEP assemblyPCB/— KiCad project, schematic, PCB, DRC, and ERC reportsFirmware/— KMK source and installation notesproduction/— Gerbers, printable case parts, and firmwareassets/— README rendersBOM.csv— bill of materials with links
Bill of materials
| Qty | Part |
|---|---|
| 1 | Seeed Studio XIAO RP2040 |
| 6 | MX-compatible switches |
| 6 | 1U keycaps |
| 6 | 1N4148 DO-35 diodes |
| 1 | EC11 rotary encoder with push switch |
| 1 | 0.91-inch 128×32 SSD1306 OLED |
| 4 | M3×16 socket-head screws |
| 4 | M3×5×4 heat-set inserts |
| 1 | Two-layer PCB |
| 1 | Two-part PLA case |
See BOM.csv for source links and notes.
Parts
19| Qty | Value | Footprint | References |
|---|---|---|---|
| 6 | 1N4148 | Diode_THT:D_DO-35_SOD27_P7.62mm_Horizontal | D1, D2, D3, D4, D5, D6 |
| 6 | MX Switch | MX_Solderable:MX-Solderable-1U | SW1, SW2, SW3, SW4, SW5, SW6 |
| 4 | M3 Mounting Hole | MountingHole:MountingHole_3.2mm_M3 | H1, H2, H3, H4 |
| 1 | EC11 Rotary Encoder | Rotary_Encoder:RotaryEncoder_Alps_EC11E-Switch_Vertical_H20mm | SW7 |
| 1 | OLED 128x32 GND-VCC-SCL-SDA | Connector_PinHeader_2.54mm:PinHeader_1x04_P2.54mm_Vertical | J1 |
| 1 | Seeed Studio XIAO RP2040 | Seeed Studio XIAO Series Library:XIAO-Generic-Hybrid-14P-2.54-21X17.8MM | U1 |
Questions
How big is the Focuspad PCB?
It measures 97 × 68 mm and has 2 copper layers, 1.6 mm thick.
What parts does the Focuspad use?
19 parts. The full list of its parts is on this page, with links to each part's symbol and footprint where PCBKit's library has them.
Where can I download the Focuspad KiCad files?
From the rakazenmun/focuspad repository on GitHub, at the commit this page was made from: the board is PCB/focuspad.kicad_pcb and its schematic PCB/focuspad.kicad_sch. PCBKit opens the board in the browser, with nothing to install.
Can I use the Focuspad design in my own project?
Its repository states no licence, so its author keeps all rights: ask rakazenmun before reusing the design.
Similar boards
- 2 layers43.9 × 27.7 mm

- 2 layers50 × 60 mm

Debate Device
hackclub/OnBoard
💡 Join 1,000 teenagers and make your first PCB with a $100 grant!
19 parts915 - 2 layers102.9 × 96.7 mm

ISA adapter
polpo/picogus
Emulation of ISA sound cards and CD-ROM on Raspberry Pi Pico (GUS, SB/Adlib, MPU-401, Tandy, CMS, Panasonic CD-ROM) with USB mouse/joystick support
19 parts805 - 2 layers60 × 39 mm

- 2 layers70.1 × 43.2 mm

Iaq device
nkitanov/iaq_board
IAQ Board is a DIY (Do-It-Yourself) device for measuring internal air quality
19 parts396 - 2 layers80 × 80 mm

- 2 layers25.4 × 25.4 mm

Ina169
Ardumower/ardumower
Develop an open source robotic lawn mower (HW+SW reference platform)
19 parts282 - 2 layers58.4 × 28.6 mm

New rele
zmaker/arduino_cookbook
gli sketch del nuovo progetto Arduino Cookbook e dei video di YouTube
19 parts269