

Keyboard pcb
a fully custom keyboard built from scratch
- Size
- 308 × 126 mm
- Copper layers
- 2
- Thickness
- 1.6 mm
- Parts
- 154
- Nets
- 127
- Pads
- 573
- Tracks, vias
- 474, 3
- Routed
- Yes
- KiCad
- KiCad 9.0 (file 20241229)
- Created
- 27 Jul 2025
- Updated
- 12 Oct 2025
Overview
Keyboard pcb is an open-source printed circuit board by Midaah-r, from the Midaah-r/keyboard repository on GitHub. It is a 2-layer board of 308 × 126 mm with 154 parts on 127 nets, routed with 474 tracks and 3 vias.
Its parts include 67 diodes, 67 switches and 1 IC. It belongs with the keyboards and input boards and the RP2040 boards of this library.
README
README.mdkeyboard

- compact & sleek
- 66x keys!
- Tweaked 65% layout
- 1x EC11 Rotary Encoder - For Volume, Brightness, etc
- powered by rp pico
- KMK firmware
- WOBBLY WIGGLY silkscreen
Description
This is my first project of this scale and it was an amazing experience building this, i got to learn a lot!
I would like to thank hackclub's hackapad tutorial, Joe Scotto and Google, you guys were my saviors.
The keyboard is a tweaked default 65% layout with one key replaced by a RE. The MCU used is Raspberry Pi Pico and the firmware used is kmk.
layout:
PCB
Dimensions: 307mm x 125mm Made inside of Kicad
| Schematic |
|---|
![]() |
| Pcb |
|---|
![]() |
| Assembled - front |
|---|
![]() |
| Assembled - Back |
|---|
![]() |
Case
The case was made in Fusion360.
bottom:

plate:

top:

Assembly:

Port:

BOM
| Name | Qty | Final Price - INR (USD) | Link |
|---|---|---|---|
| Gateron EF Grayish | 80 | 1560 ($17.79) | here |
| Cherry Profile PBT Keycaps | 1 | 1299 ($14.81) | here |
| Durock Smokey Screw-In Stabilizers V2 (4+1 w/ 6.25u spacebar) | 1 | 1595 ($18.18) | here |
| Diode 1N4148 Through - Hole | 80 | 176 ($2.01) | here |
| EC11 Rotary Encoder | 2 | 178 ($2.03) | here |
| M3 x 16mm Allen Bolt | 25 | 170 ($1.94) | here |
| M3 x 8mm Allen Bolt | 15 | 150 ($1.71) | here |
| M3 x 6mm Heatset Insert | 12 | 100 ($1.14) | here |
| Raspberry Pi Pico | 1 | 384 ($4.38) | here |
| Micro usb to type A cable | 2 | 580 ($6.62) | here |
| 4 in 1 USB hub | 1 | 200 ($2.28) | here |
| Lube (silicon dielectric grease) | 1 | 270 ($3.1) | here |
| PCB (White) | 5 | 4136.45 ($47.2) | from jlcpcb |
| Middle plate - 1 (White "production/MIDDLE.step") | 1 | 1276 ($14.56) | from 3ding.in |
| Bottom Case - 1 (White "production/BOTTOM.step") | 1 | Print Legion | |
| Top Case - 1 (White "production/TOP.step") | 1 | Print Legion | |
| Rotary Encoder Knob | 1 | Print Legion | |
| Shipping (for diodes, MCU and Amazon) | - | 260.06 ($3) |
Grand Total
The total sum of the parts comes to approximately inr 12335 ($141.5).
I have chosen air registered mail as the shipping option for jlcpcb as it's less likely to incurr customs thus actually being cheaper than other shipping providers.
PS: i have also included an additional USB hub and 2 microusb to type A cables because of the macropad and keyboard i wont have any space to plug the gadgets into my laptop
Note: TOP and BOTTOM case parts in white, MIDDLE in black; PCB must be white.
Some componenets were ordered in packs due to unavailability (bolts, heatset inserts, etc), their prices may vary due to sales.
The final quote is subject to dollar-market trends
Parts
154| Qty | Value | Footprint | References |
|---|---|---|---|
| 67 | Diode | ScottoKeebs_Components:Diode_DO-35 | D1, D2, D10, D11, D12, D13, D14, D15, D16, D17, D18, D19, D20, D21, D22, D23 +51 |
| 53 | Keyswitch | ScottoKeebs_MX:MX_PCB_1.00u | S1, S2, S10, S11, S12, S13, S16, S17, S18, S19, S20, S21, S22, S23, S24, S25 +37 |
| 10 | LOGO | 1_Keeb_Silkscreen:nyancat | G***, G***, G***, G***, G***, G***, G***, G***, G***, G*** |
| 7 | LOGO | 1_Keeb_Silkscreen:cats | G***, G***, G***, G***, G***, G***, G*** |
| 5 | Keyswitch | ScottoKeebs_MX:MX_PCB_1.25u | S58, S59, S60, S62, S63 |
| 2 | Keyswitch | ScottoKeebs_MX:MX_PCB_1.50u | S15, S28 |
| 2 | Keyswitch | ScottoKeebs_MX:MX_PCB_1.75u | S30, S55 |
| 2 | Keyswitch | Button_Switch_Keyboard:SW_Cherry_MX_2.25u_PCB | S42, S44 |
| 1 | Keyswitch | Button_Switch_Keyboard:SW_Cherry_MX_2.00u_PCB | S14 |
| 1 | Keyswitch | Button_Switch_Keyboard:SW_Cherry_MX_6.25u_PCB | S61 |
| 1 | LOGO | 1_Keeb_Silkscreen:samurai2 | G*** |
| 1 | LOGO | 1_Keeb_Silkscreen:creeper | G*** |
| 1 | Raspberry_Pi_Pico | ScottoKeebs_MCU:Raspberry_Pi_Pico | U1 |
| 1 | RotaryEncoder_Switch | Rotary_Encoder:RotaryEncoder_Alps_EC11E-Switch_Vertical_H20mm | SW1 |
Questions
How big is the Keyboard pcb PCB?
It measures 308 × 126 mm and has 2 copper layers, 1.6 mm thick.
What parts does the Keyboard pcb use?
154 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 Keyboard pcb KiCad files?
From the Midaah-r/keyboard repository on GitHub, at the commit this page was made from: the board is PCB/keyboard_pcb.kicad_pcb and its schematic PCB/keyboard_pcb.kicad_sch. PCBKit opens the board in the browser, with nothing to install.
Can I use the Keyboard pcb design in my own project?
Its repository states no licence, so its author keeps all rights: ask Midaah-r before reusing the design.
Similar boards
- 2 layers101.5 × 83 mm

- 2 layers44.5 × 43 mm

Vik universal
sadekbaroudi/vik
This is a VIK module designed to mount a PER56 scroll ring, with a 35mm Cirque Trackpad and optional WS2812B LEDs.
154 parts220CERN-OHL-P-2.0 - 2 layers303.6 × 96.1 mm

- 2 layers

Hexagonal test
cnlohr/cnhardware
My dumping grounds for all my kicad projects and random hardware bringup.
154 parts114 - 2 layers131.7 × 109.5 mm

Chiindii
thebiguno/microcontroller-projects
A home for a bunch of microcontroller projects which don't warrant their own repos.
154 parts75 - 2 layers329.7 × 104.6 mm

Jiran ble lite
Ladniy/jiran-ble-lite
Wireless ergo-split keyboard, based on nRF52840 module.
154 parts54CERN-OHL-P-2.0 - 2 layers185.4 × 73.7 mm

FullInterlockingPlantCAN
RobertPHeller/RPi-RRCircuits
A collection of circuit designs for various MCUs, not just Raspberry Pis relating to Model Railroading
154 parts24 - 2 layers158 × 85 mm




