KEYBOARDTOP
bartekp-i·myMechanicalKeyboard·Hardware/KEYBOARDTOP.kicad_pcb
About the KEYBOARDTOP PCB
KEYBOARDTOP is an open source RP2040/RP2350 PCB design by bartekp-i, published on GitHub under the MIT license. It is a 2-layer board measuring 318.5 × 163 mm, with 200 components from 107 distinct parts.
Its main chip is the RP2040, from the RP2040/RP2350 family. By type, the board carries 84 switches, 80 diodes, 19 capacitors, 7 resistors, 2 connectors and 1 IC.
It belongs with the keyboards designs in this gallery.
From the project
This project is a custom 75% mechanical keyboard PCB designed around the Raspberry Pi RP2040 microcontroller.
Main components on the KEYBOARDTOP
KEYBOARDTOP bill of materials (BOM)
200 components, 107 distinct parts.
| Qty | Part | Footprint | Refs |
|---|---|---|---|
| 1 | RP2040 | QFN-56-1EP_7x7mm_P0.4mm_EP3.2x3.2mm | U3 |
| 1 | ABM8-272-T3 | ABM8-272-T3_ABR | X1 |
| 1 | Conn_01x07 | PinHeader_1x07_P2.54mm_Vertical | J2 |
| 1 | Conn_01x03 | PinHeader_1x03_P2.54mm_Vertical | J3 |
| 1 | SKRPABE010 | SW4_SKRPABE010_ALPS | BOOT1 |
| 1 | PRTR5V0U2X_215 | SOT143B_PRTR5V0U2X_215_NEX | ESD1 |
| 1 | W25Q16JVUXIQ | W25Q16JVUXIQ_WIN | QSPI1 |
| 1 | SPX5205M5-L-3-3/TR | SP6201EM5 | REG1 |
| 1 | MX_stab | STAB_MX_P_6.25u | S1 |
| 1 | MX_stab | STAB_MX_P_2u | S2 |
| 2 | MX_stab | STAB_MX_P_2.25u | S3, S4 |
| 1 | ESC | SW_Cherry_MX_PCB_1.00u | SW1 |
| 1 | F1 | SW_Cherry_MX_PCB_1.00u | SW2 |
| 1 | F2 | SW_Cherry_MX_PCB_1.00u | SW3 |
| 1 | F3 | SW_Cherry_MX_PCB_1.00u | SW4 |
| 1 | F4 | SW_Cherry_MX_PCB_1.00u | SW5 |
| 1 | F5 | SW_Cherry_MX_PCB_1.00u | SW6 |
| 1 | F6 | SW_Cherry_MX_PCB_1.00u | SW7 |
| 1 | F7 | SW_Cherry_MX_PCB_1.00u | SW8 |
| 1 | F8 | SW_Cherry_MX_PCB_1.00u | SW9 |
Show 87 more
| Qty | Part | Footprint | Refs |
|---|---|---|---|
| 1 | F9 | SW_Cherry_MX_PCB_1.00u | SW10 |
| 1 | F10 | SW_Cherry_MX_PCB_1.00u | SW11 |
| 1 | F11 | SW_Cherry_MX_PCB_1.00u | SW12 |
| 1 | F12 | SW_Cherry_MX_PCB_1.00u | SW13 |
| 1 | "~`" | SW_Cherry_MX_PCB_1.00u | SW14 |
| 1 | 1 | SW_Cherry_MX_PCB_1.00u | SW15 |
| 1 | 2 | SW_Cherry_MX_PCB_1.00u | SW16 |
| 1 | 3 | SW_Cherry_MX_PCB_1.00u | SW17 |
| 1 | 4 | SW_Cherry_MX_PCB_1.00u | SW18 |
| 1 | 5 | SW_Cherry_MX_PCB_1.00u | SW19 |
| 1 | 6 | SW_Cherry_MX_PCB_1.00u | SW20 |
| 1 | 7 | SW_Cherry_MX_PCB_1.00u | SW21 |
| 1 | 8 | SW_Cherry_MX_PCB_1.00u | SW22 |
| 1 | 9 | SW_Cherry_MX_PCB_1.00u | SW23 |
| 1 | 0 | SW_Cherry_MX_PCB_1.00u | SW24 |
| 1 | - | SW_Cherry_MX_PCB_1.00u | SW25 |
| 1 | + | SW_Cherry_MX_PCB_1.00u | SW26 |
| 1 | backspace | SW_Cherry_MX_PCB_2.00u | SW27 |
| 1 | pg_up | SW_Cherry_MX_PCB_1.00u | SW28 |
| 1 | tab | SW_Cherry_MX_PCB_1.50u | SW29 |
| 1 | q | SW_Cherry_MX_PCB_1.00u | SW30 |
| 1 | w | SW_Cherry_MX_PCB_1.00u | SW31 |
| 1 | e | SW_Cherry_MX_PCB_1.00u | SW32 |
| 1 | r | SW_Cherry_MX_PCB_1.00u | SW33 |
| 1 | t | SW_Cherry_MX_PCB_1.00u | SW34 |
| 1 | y | SW_Cherry_MX_PCB_1.00u | SW35 |
| 1 | u | SW_Cherry_MX_PCB_1.00u | SW36 |
| 1 | i | SW_Cherry_MX_PCB_1.00u | SW37 |
| 1 | o | SW_Cherry_MX_PCB_1.00u | SW38 |
| 1 | p | SW_Cherry_MX_PCB_1.00u | SW39 |
| 1 | [ | SW_Cherry_MX_PCB_1.00u | SW40 |
| 1 | ] | SW_Cherry_MX_PCB_1.00u | SW41 |
| 1 | | | SW_Cherry_MX_PCB_1.50u | SW42 |
| 1 | pg_down | SW_Cherry_MX_PCB_1.00u | SW43 |
| 1 | caps | SW_Cherry_MX_PCB_1.75u | SW44 |
| 1 | a | SW_Cherry_MX_PCB_1.00u | SW45 |
| 1 | s | SW_Cherry_MX_PCB_1.00u | SW46 |
| 1 | d | SW_Cherry_MX_PCB_1.00u | SW47 |
| 1 | f | SW_Cherry_MX_PCB_1.00u | SW48 |
| 1 | g | SW_Cherry_MX_PCB_1.00u | SW49 |
| 1 | h | SW_Cherry_MX_PCB_1.00u | SW50 |
| 1 | j | SW_Cherry_MX_PCB_1.00u | SW51 |
| 1 | k | SW_Cherry_MX_PCB_1.00u | SW52 |
| 1 | l | SW_Cherry_MX_PCB_1.00u | SW53 |
| 1 | : | SW_Cherry_MX_PCB_1.00u | SW54 |
| 1 | " | SW_Cherry_MX_PCB_1.00u | SW55 |
| 1 | enter | SW_Cherry_MX_PCB_2.25u | SW56 |
| 1 | delete | SW_Cherry_MX_PCB_1.00u | SW57 |
| 1 | shift | SW_Cherry_MX_PCB_2.25u | SW58 |
| 1 | z | SW_Cherry_MX_PCB_1.00u | SW59 |
| 1 | x | SW_Cherry_MX_PCB_1.00u | SW60 |
| 1 | c | SW_Cherry_MX_PCB_1.00u | SW61 |
| 1 | v | SW_Cherry_MX_PCB_1.00u | SW62 |
| 1 | b | SW_Cherry_MX_PCB_1.00u | SW63 |
| 1 | n | SW_Cherry_MX_PCB_1.00u | SW64 |
| 1 | m | SW_Cherry_MX_PCB_1.00u | SW65 |
| 1 | < | SW_Cherry_MX_PCB_1.00u | SW66 |
| 1 | > | SW_Cherry_MX_PCB_1.00u | SW67 |
| 1 | ? | SW_Cherry_MX_PCB_1.00u | SW68 |
| 1 | shift_2 | SW_Cherry_MX_PCB_1.75u | SW69 |
| 1 | arrow_up | SW_Cherry_MX_PCB_1.00u | SW70 |
| 1 | ctrl | SW_Cherry_MX_PCB_1.25u | SW71 |
| 1 | windows | SW_Cherry_MX_PCB_1.25u | SW72 |
| 1 | alt | SW_Cherry_MX_PCB_1.25u | SW73 |
| 1 | spacebar | SW_Cherry_MX_PCB_6.25u | SW74 |
| 1 | alt | SW_Cherry_MX_PCB_1.00u | SW75 |
| 1 | fn | SW_Cherry_MX_PCB_1.00u | SW76 |
| 1 | ctrl | SW_Cherry_MX_PCB_1.00u | SW77 |
| 1 | arrow_left | SW_Cherry_MX_PCB_1.00u | SW78 |
| 1 | arrow_down | SW_Cherry_MX_PCB_1.00u | SW79 |
| 1 | arrow_right | SW_Cherry_MX_PCB_1.00u | SW80 |
| 1 | USB_C_Receptacle_USB2.0_16P | USB_C_Receptacle_GCT_USB4105-xx-A_16P_TopMnt_Horizontal | USB1 |
| 80 | D_Small | D_SOD-323_HandSoldering | D1, D2, D3, D4, D5, D6, D7, D8 +72 |
| 1 | 120/100MHZ | R_0603_1608Metric_Pad0.98x0.95mm_HandSolder | FB1 |
| 1 | 10nF | C_0603_1608Metric_Pad1.08x0.95mm_HandSolder | C1 |
| 1 | 0.1uF | C_0603_1608Metric_Pad1.08x0.95mm_HandSolder | C2 |
| 1 | 10uF | C_0805_2012Metric_Pad1.18x1.45mm_HandSolder | C3 |
| 2 | 1uF | C_0603_1608Metric_Pad1.08x0.95mm_HandSolder | C4, C5 |
| 1 | NO-FIT(10u) | C_0805_2012Metric_Pad1.18x1.45mm_HandSolder | C6 |
| 8 | 100n | C_0603_1608Metric_Pad1.08x0.95mm_HandSolder | C7, C8, C9, C10, C11, C12, C13, C21 |
| 2 | 1u | C_0603_1608Metric_Pad1.08x0.95mm_HandSolder | C17, C18 |
| 2 | 15pF | C_0603_1608Metric_Pad1.08x0.95mm_HandSolder | C19, C20 |
| 1 | 2u2 | C_0603_1608Metric_Pad1.08x0.95mm_HandSolder | C22 |
| 2 | 5.1k | R_0603_1608Metric_Pad0.98x0.95mm_HandSolder | R1, R2 |
| 2 | 1K | R_0603_1608Metric_Pad0.98x0.95mm_HandSolder | R3, R7 |
| 2 | 27R | R_0603_1608Metric_Pad0.98x0.95mm_HandSolder | R4, R5 |
| 1 | No-Fit(1k) | R_0603_1608Metric_Pad0.98x0.95mm_HandSolder | R6 |
KEYBOARDTOP design files
The KiCad project lives in the bartekp-i/myMechanicalKeyboard repository on GitHub; these links point at the commit this page was built from.
KEYBOARDTOP: common questions
What microcontroller does the KEYBOARDTOP use?
The KEYBOARDTOP is built around the RP2040, from the RP2040/RP2350 family.
How big is the KEYBOARDTOP PCB?
The KEYBOARDTOP measures 318.5 × 163 mm, has 2 copper layers and is 1.6 mm thick.
How many components are on the KEYBOARDTOP?
200 components, from 107 distinct parts. The full bill of materials is listed on this page.
Where can I download the KEYBOARDTOP design files?
From the bartekp-i/myMechanicalKeyboard repository on GitHub, which has the KiCad layout; the links under Design files point to each one.
Can I use the KEYBOARDTOP design in my own project?
Yes, under the terms of its MIT license, which bartekp-i chose for the repository.
Can I test firmware for the KEYBOARDTOP without the hardware?
Yes. HardLabs builds a simulation of the board from its netlist and BOM, so you can run and debug RP2040/RP2350 firmware against it before you order a PCB.
Similar boards
RP2040/RP2350
Open Book Abridged Edition
joeycastillo
85 × 115 mm29 parts2LCC-BY-SA-4.08.1kRP2040/RP2350
Corne
foostan
277.2 × 107.5 mm164 parts2LCC-BY-4.07.7kRP2040/RP2350
Corne
foostan
277.2 × 107.5 mm164 parts2LCC-BY-4.07.7kRP2040/RP2350
LogicAnalyzer
gusmanb
57 × 55.2 mm6 parts2LGPL-3.05.0kRP2040/RP2350
Jitx design
gusmanb
55.5 × 65 mm26 parts4LGPL-3.05.0kRP2040/RP2350
Pro V2
kata0510
290.1 × 130 mm270 parts2LMIT2.3k