

My lefty hackpad
My first attempt at making hardware
- Size
- 66 × 67.5 mm
- Copper layers
- 2
- Thickness
- 1.6 mm
- Parts
- 9
- Nets
- 14
- Pads
- 43
- Tracks, vias
- 140, 0
- Routed
- Yes
- KiCad
- KiCad 10.0 (file 20260206)
- Created
- 22 Jun 2026
- Updated
- 12 Aug 2026
Overview
My lefty hackpad is an open-source printed circuit board by shaxa484, from the shaxa484/CodePad repository on GitHub, published under the MIT licence. It is a 2-layer board of 66 × 67.5 mm with 9 parts on 14 nets, routed with 140 tracks and 0 vias.
Its parts include 7 switches, 1 IC and 1 connector. It belongs with the keyboards and input boards of this library.
README
README.mdCodePad
CodePad is a 6 key macropad with a rotary encoder, and an OLED Display made for helping me while coding. It uses QMK firmware.
Features:
- Dual layer plastic case.
- 128x32 OLED Display
- EC11 Rotary encoder for whatever you want(volume control, scrolling)
- 6 Keys
CAD Model:
Everything fits together using 4 M3 Bolts and heatset inserts. 4 for the each corner of the case.
It has 2 separate printed pieces. The base where the PCB sits, and the top cover.
<img src=assets/cad.jpg alt="Schematic" width="500"/>
Made in Fusion360.
PCB
Here's my PCB! It was made in KiCad.
Schematic <img src=assets/schematic.jpg alt="Schematic" width="300"/>
PCB <img src=assets/pcb.jpg alt="Schematic" width="300"/>
I opted for direct GPIO connections rather than a switch matrix. Given the small number of keys (6), this simplified the PCB routing and firmware configuration without sacrificing functionality.
Firmware Overview
This hackpad uses QMK firmware for everything.
- the rotary encoder changes volume. press to mute
- The 6 keys currently as copy, paste, shift select, pause and play, keyboard brightness up and down I'm planning to change it later.
- The OLED is would have a clock but I'm searching for more creative ideas for it
BOM:
Here is everything needed to make this hackpad
- 6x Cherry MX Switches
- 6x DSA Keycaps
- 4x M3x5x4 Heatset inserts
- 4x M3x16mm SHCS Bolts
- 1x 0.91" 128x32 OLED Display
- 1x EC11 Rotary Encoder
- 1x XIAO RP2040
- 1x Case (2 printed parts)
Extra stuff
Fun fact: I completed the entire end-to-end design (3D CAD, PCB schematics, and firmware programming) a day before my 19th birthday
Parts
9| Qty | Value | Footprint | References |
|---|---|---|---|
| 6 | SW_Push | Button_Switch_Keyboard:SW_Cherry_MX_1.00u_Plate | SW1, SW2, SW3, SW4, SW5, SW7 |
| 1 | Conn_01x04_Pin | Connector_PinHeader_2.54mm:PinHeader_1x04_P2.54mm_Vertical | J1 |
| 1 | MOUDLE-SEEEDUINO-XIAO | hacklub:XIAO-Generic-Hybrid-14P-2.54-21X17.8MM | U1 |
| 1 | RotaryEncoder_Switch | Rotary_Encoder:RotaryEncoder_Alps_EC11E-Switch_Vertical_H20mm | SW6 |
Questions
How big is the My lefty hackpad PCB?
It measures 66 × 67.5 mm and has 2 copper layers, 1.6 mm thick.
What parts does the My lefty hackpad use?
9 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 My lefty hackpad KiCad files?
From the shaxa484/CodePad repository on GitHub, at the commit this page was made from: the board is pcb/my-lefty-hackpad.kicad_pcb and its schematic pcb/my-lefty-hackpad.kicad_sch. PCBKit opens the board in the browser, with nothing to install.
Can I use the My lefty hackpad design in my own project?
Its repository publishes it under the MIT licence: you may reuse it on that licence's terms (keep the author's notice, and for a copyleft licence share your changes alike).
Similar boards
- 2 layers103 × 30.5 mm

- 2 layers31.8 × 47.6 mm

- 2 layers24 × 27.3 mm

Expansion Card Retrofit
FrameworkComputer/ExpansionCards
Reference designs and documentation to create Expansion Cards for the Framework Laptop
9 parts1.1kCC-BY-4.0 - 2 layers15.6 × 17.3 mm

SKR Mini TFT Thermistor Board
VoronDesign/Voron-Hardware
Cool Hardware designed by the Voron Design group
9 parts1.1kGPL-3.0 - 2 layers39.1 × 49.5 mm

Learnoliver
hackclub/OnBoard
💡 Join 1,000 teenagers and make your first PCB with a $100 grant!
9 parts915 - 2 layers17.4 × 16.9 mm

- 2 layers9.8 × 108 mm

- 2 layers

Keyboard after
adamws/kicad-kbplacer
KiCad plugin for automatic keyboard's key placement and routing
9 parts547GPL-3.0