Kaypro10Keyboard
jasperhax0r·Kaypro10Keyboard
About the Kaypro10Keyboard PCB
Kaypro10Keyboard is an open source RP2040/RP2350 PCB design by jasperhax0r, published on GitHub under the MIT license. It is a 2-layer board measuring 427.9 × 155 mm, with 163 components from 86 distinct parts.
Its main chip is the Pico, from the RP2040/RP2350 family. By type, the board carries 78 diodes, 76 switches, 3 connectors, 2 capacitors, 2 resistors and 1 IC.
It belongs with the keyboards designs in this gallery.
From the project
Mechanical keyboard that fits the originals board layout, uses pi-pico as the controller.
A modern replacement keyboard for the Kaypro 10 that fits the original case, using Cherry MX-style switches and a Raspberry Pi Pico running MicroPython to emulate the original 300 baud serial keyboard interface.
The original Kaypro 10 keyboard is increasingly difficult to find in working condition. This project provides a drop-in replacement that:
- Fits the original Kaypro 10 keyboard case with no modifications - Uses modern Cherry MX-style mechanical switches - Communicates over the Kaypro's original 300 baud serial keyboard interface - Is driven by a Raspberry Pi Pico running MicroPython…

Main components on the Kaypro10Keyboard
Kaypro10Keyboard bill of materials (BOM)
163 components, 86 distinct parts — part numbers from the project's BOM.
| Qty | Part | Footprint | Refs |
|---|---|---|---|
| 1 | Pico | RPi_Pico_SMD_TH | U1 |
| 1 | CONN_01X06_PIN Conn_01x06_Pin | PinHeader_1x06_P2.54mm_Horizontal | J1 |
| 2 | CONN_01X06 Conn_01x06 | 1x06_P2.54mm | J2, J3 |
| 1 | Buzzer | Buzzer_12x9.5RM7.6 | BZ1 |
| 1 | A_Key | SW_Cherry_MX_1.00u_PCB | SW1 |
| 1 | B_Key | SW_Cherry_MX_1.00u_PCB | SW2 |
| 1 | C_Key | SW_Cherry_MX_1.00u_PCB | SW3 |
| 1 | D_Key | SW_Cherry_MX_1.00u_PCB | SW4 |
| 1 | E_Key | SW_Cherry_MX_1.00u_PCB | SW5 |
| 1 | F_Key | SW_Cherry_MX_1.00u_PCB | SW6 |
| 1 | G_Key | SW_Cherry_MX_1.00u_PCB | SW7 |
| 1 | H_Key | SW_Cherry_MX_1.00u_PCB | SW8 |
| 1 | I_Key | SW_Cherry_MX_1.00u_PCB | SW9 |
| 1 | J_Key | SW_Cherry_MX_1.00u_PCB | SW10 |
| 1 | K_Key | SW_Cherry_MX_1.00u_PCB | SW11 |
| 1 | L_Key | SW_Cherry_MX_1.00u_PCB | SW12 |
| 1 | M_Key | SW_Cherry_MX_1.00u_PCB | SW13 |
| 1 | N_Key | SW_Cherry_MX_1.00u_PCB | SW14 |
| 1 | O_Key | SW_Cherry_MX_1.00u_PCB | SW15 |
| 1 | P_Key | SW_Cherry_MX_1.00u_PCB | SW16 |
Show 66 more
| Qty | Part | Footprint | Refs |
|---|---|---|---|
| 1 | Q_Key | SW_Cherry_MX_1.00u_PCB | SW17 |
| 1 | R_Key | SW_Cherry_MX_1.00u_PCB | SW18 |
| 1 | S_Key | SW_Cherry_MX_1.00u_PCB | SW19 |
| 1 | T_Key | SW_Cherry_MX_1.00u_PCB | SW20 |
| 1 | U_Key | SW_Cherry_MX_1.00u_PCB | SW21 |
| 1 | V_Key | SW_Cherry_MX_1.00u_PCB | SW22 |
| 1 | W_Key | SW_Cherry_MX_1.00u_PCB | SW23 |
| 1 | X_Key | SW_Cherry_MX_1.00u_PCB | SW24 |
| 1 | Y_Key | SW_Cherry_MX_1.00u_PCB | SW25 |
| 1 | Z_Key | SW_Cherry_MX_1.00u_PCB | SW26 |
| 1 | 1_KEY 1_Key | SW_Cherry_MX_1.00u_PCB | SW27 |
| 1 | 2_KEY 2_Key | SW_Cherry_MX_1.00u_PCB | SW28 |
| 1 | 3_KEY 3_Key | SW_Cherry_MX_1.00u_PCB | SW29 |
| 1 | 4_KEY 4_Key | SW_Cherry_MX_1.00u_PCB | SW30 |
| 1 | 5_KEY 5_Key | SW_Cherry_MX_1.00u_PCB | SW31 |
| 1 | 6_KEY 6_Key | SW_Cherry_MX_1.00u_PCB | SW32 |
| 1 | 7_KEY 7_Key | SW_Cherry_MX_1.00u_PCB | SW33 |
| 1 | 8_KEY 8_Key | SW_Cherry_MX_1.00u_PCB | SW34 |
| 1 | 9_KEY 9_Key | SW_Cherry_MX_1.00u_PCB | SW35 |
| 1 | 0_KEY 0_Key | SW_Cherry_MX_1.00u_PCB | SW36 |
| 1 | -_Key | SW_Cherry_MX_1.00u_PCB | SW37 |
| 1 | =_Key | SW_Cherry_MX_1.00u_PCB | SW38 |
| 1 | `_Key | SW_Cherry_MX_1.00u_PCB | SW39 |
| 1 | ;_Key | SW_Cherry_MX_1.00u_PCB | SW40 |
| 1 | '_Key | SW_Cherry_MX_1.00u_PCB | SW41 |
| 1 | \_Key | SW_Cherry_MX_1.00u_PCB | SW42 |
| 1 | ,_Key | SW_Cherry_MX_1.00u_PCB | SW43 |
| 1 | ._Key | SW_Cherry_MX_1.00u_PCB | SW44 |
| 1 | /_Key | SW_Cherry_MX_1.00u_PCB | SW45 |
| 1 | LSHIFT_Key | SW_Cherry_MX_2.00u_PCB | SW46 |
| 1 | RSHIFT_Key | SW_Cherry_MX_2.00u_PCB | SW47 |
| 1 | CTRL_Key | SW_Cherry_MX_1.00u_PCB | SW49 |
| 1 | CAPS_Key | SW_Cherry_MX_1.75u_PCB | SW50 |
| 1 | DEL_Key | SW_Cherry_MX_1.00u_PCB | SW51 |
| 1 | BACKSPACE_Key | SW_Cherry_MX_1.00u_PCB | SW52 |
| 1 | SPACE_Key | SW_Cherry_MX_6.25u_PCB | SW53 |
| 1 | ESC_Key | SW_Cherry_MX_1.00u_PCB | SW54 |
| 1 | TAB_Key | SW_Cherry_MX_1.75u_PCB | SW55 |
| 1 | RETURN_Key | SW_Cherry_MX_1.50u_PCB | SW56 |
| 1 | LINEFEED_Key | SW_Cherry_MX_1.00u_PCB | SW57 |
| 1 | UP_Key | SW_Cherry_MX_1.00u_PCB | SW58 |
| 1 | DOWN_Key | SW_Cherry_MX_1.00u_PCB | SW59 |
| 1 | LEFT_Key | SW_Cherry_MX_1.00u_PCB | SW60 |
| 1 | RIGHT_Key | SW_Cherry_MX_1.00u_PCB | SW61 |
| 1 | NUM0_KEY NUM0_Key | SW_Cherry_MX_2.00u_PCB | SW62 |
| 1 | NUM1_KEY NUM1_Key | SW_Cherry_MX_1.00u_PCB | SW63 |
| 1 | NUM2_KEY NUM2_Key | SW_Cherry_MX_1.00u_PCB | SW64 |
| 1 | NUM3_KEY NUM3_Key | SW_Cherry_MX_1.00u_PCB | SW65 |
| 1 | NUM4_KEY NUM4_Key | SW_Cherry_MX_1.00u_PCB | SW66 |
| 1 | NUM5_KEY NUM5_Key | SW_Cherry_MX_1.00u_PCB | SW67 |
| 1 | NUM6_KEY NUM6_Key | SW_Cherry_MX_1.00u_PCB | SW68 |
| 1 | NUM7_KEY NUM7_Key | SW_Cherry_MX_1.00u_PCB | SW69 |
| 1 | NUM8_KEY NUM8_Key | SW_Cherry_MX_1.00u_PCB | SW70 |
| 1 | NUM9_KEY NUM9_Key | SW_Cherry_MX_1.00u_PCB | SW71 |
| 1 | NUM._Key | SW_Cherry_MX_1.00u_PCB | SW72 |
| 1 | NUMENTER_Key | SW_Cherry_MX_2.00u_Vertical_PCB | SW73 |
| 1 | NUM-_Key | SW_Cherry_MX_1.00u_PCB | SW74 |
| 1 | NUM,_Key | SW_Cherry_MX_1.00u_PCB | SW75 |
| 1 | [_KEY | SW_Cherry_MX_1.00u_PCB | SW76 |
| 1 | ]_KEY | SW_Cherry_MX_1.00u_PCB | SW77 |
| 76 | 1N4148 | D_DO-35_SOD27_P7.62mm_Horizontal | D1, D2, D3, D4, D5, D6, D7, D8 +68 |
| 1 | CAPSLED | LED_D1.8mm_W1.8mm_H2.4mm_Horizontal_O1.27mm_Z4.9mm | D76 |
| 1 | 1N5817 | D_DO-41_SOD81_P10.16mm_Horizontal | D77 |
| 2 | C_Polarized_US | CP_Radial_D6.3mm_P2.50mm | C1, C2 |
| 1 | 4.7K | R_Axial_DIN0204_L3.6mm_D1.6mm_P7.62mm_Horizontal | R1 |
| 1 | 330 | R_Axial_DIN0204_L3.6mm_D1.6mm_P7.62mm_Horizontal | R2 |
Kaypro10Keyboard design files
The KiCad project lives in the jasperhax0r/Kaypro10Keyboard repository on GitHub; these links point at the commit this page was built from.
- LayoutKayproKeyboard.kicad_pcb
- SchematicKayproKeyboard.kicad_sch
- BOMbom.csv
Kaypro10Keyboard: common questions
What microcontroller does the Kaypro10Keyboard use?
The Kaypro10Keyboard is built around the Pico, from the RP2040/RP2350 family.
How big is the Kaypro10Keyboard PCB?
The Kaypro10Keyboard measures 427.9 × 155 mm, has 2 copper layers and is 1.6 mm thick.
How many components are on the Kaypro10Keyboard?
163 components, from 86 distinct parts, with part numbers taken from the project's own BOM. The full bill of materials is listed on this page.
Where can I download the Kaypro10Keyboard design files?
From the jasperhax0r/Kaypro10Keyboard repository on GitHub, which has the KiCad layout, the schematic and the BOM; the links under Design files point to each one.
Can I use the Kaypro10Keyboard design in my own project?
Yes, under the terms of its MIT license, which jasperhax0r chose for the repository.
Can I test firmware for the Kaypro10Keyboard 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