Skip to the content
2 layers353 × 135 mm80--Keyboard, the printed circuit board in 3D

I made this Keyboard for myself, And to learn. This was my first time using Chip on Board tech, so it was quite a challenge for me, but it helped me learn alot.

Size
353 × 135 mm
Copper layers
2
Thickness
1.6 mm
Parts
203
Nets
140
Pads
958
Tracks, vias
1,606, 202
Routed
Yes
KiCad
KiCad 9.0 (file 20241229)
Created
19 Mar 2026
Updated
31 Mar 2026

Overview

80--Keyboard is an open-source printed circuit board by XavierdSeth, from the XavierdSeth/80--Keyboard repository on GitHub. It is a 2-layer board of 353 × 135 mm with 203 parts on 140 nets, routed with 1,606 tracks and 202 vias.

It is built around the RP2040. Its parts include 87 diodes, 68 switches, 13 capacitors, 5 resistors and 2 ICs. It belongs with the keyboards and input boards and the RP2040 boards of this library.

Main components

1

README

README.md

Keyboard

My Keyboard is a standard 80% keyboard with an added Rotary Encoder for volume control.

I made this Keyboard for myself, And to learn. This was my first time using Chip on Board tech, so it was quite a challenge for me, but it helped me learn alot.

Features:

  • 80% Keyboard
  • 87 Keys
  • Rotary Encoder
  • Arrow Keys
  • F Keys
  • Chip On Board

CAD Model:

I designed the Case to fit together with 3 pieces and 8 M2.5 screws. The 3 pieces are the Bottom of the case, The sides of the case (with a cutout for the USB-C) and the Top of the case, which includes the switch plate and the Top Frame. The Bottom and Sides are clearance holes and the screw threads into the top. The screw threads into 1.4mm of the top part and the screws are actually held .5mm higher than the bottom instead of flush.

<img src=assets/cad.png alt="Keyboard" width="500"/>

PCB:

I made my PCB in KiCad. This was my first time using CoB, Chip on Board, where instead of using a microcontroller, The RP2040 chip is directly on the board with all the other necessary components. I ended up reffereing to RP2040 Datasheet alot for this.

Here is the Schematic, I spend alot of time figuring out how to get the whole CoB system working, but I think I did well.

<img src=assets/schematic.png alt="Keyboard" width="500"/>

Here is the PCB, I think I was able to make it pretty Compact with the components, however I am still unsure about the USB-C port.

<img src=assets/pcb.png alt="Keyboard" width="500"/>

Firmware:

I decided on KMK firmware for this keyboard, as it is quite easy to code and implement.

BOM:

NamePurposeQuantityTotal Cost (USD)LinkDistributor
M2.5x12mm ScrewsHold the Case Together1004.29https://www.aliexpress.com/item/1005006149650871.html?spm=a2g0o.productlist.main.7.351a5435pfKSzT&algo_pvid=73726b03-3458-4531-a617-164769dc475a&algo_exp_id=73726b03-3458-4531-a617-164769dc475a-6&pdp_ext_f=%7B%22order%22%3A%22815%22%2C%22spu_best_type%22%3A%22price%22%2C%22eval%22%3A%221%22%2C%22fromPage%22%3A%22search%22%7D&pdp_npi=6%40dis%21AUD%214.29%214.29%21%21%2120.05%2120.05%21%4021033d9d17748774623062062ebf6b%2112000035985037198%21sea%21AU%216079532204%21X%211%210%21n_tag%3A-29919%3Bd%3A8c80d33f%3Bm03_new_user%3A-29895&curPageLogUid=wg6dSTH9tu8G&utparam-url=scene%3Asearch%7Cquery_from%3A%7Cx_object_id%3A1005006149650871%7C_p_origin_prod%3AAliexpress
PCBAPrinted Circuit Board253.90https://cart.jlcpcb.com/shopcart/cartJLCPCB
3x4mm SMD tactile switchBOOT and RESET1003.04https://www.aliexpress.com/item/1005005551946922.html?spm=a2g0o.cart.0.0.6cea38daTwsp4M&mp=1&pdp_npi=6%40dis%21AUD%21AUD%204.43%21AUD%204.43%21%21AUD%204.34%21%21%21%402103274e17748741857928605e241d%2112000033511703865%21ct%21AU%216079532204%21%211%210%21Aliexpress
Hotswap SocketsFor the switches to go into.1106.78https://www.aliexpress.com/item/1005007232040760.html?spm=a2g0o.cart.0.0.691238daXmoF8z&mp=1&pdp_npi=6%40dis%21AUD%21AUD%2021.04%21AUD%209.89%21%21AUD%209.79%21%21%21%402101d6ff17748726457652554ef3f5%2112000039893759777%21ct%21AU%216079532204%21%211%210%21Aliexpress
Rotary EncoderVolume Control22.33https://www.aliexpress.com/item/1005009360298765.html?spm=a2g0o.cart.0.0.691238daXmoF8z&mp=1&pdp_npi=6%40dis%21AUD%21AUD%207.09%21AUD%203.40%21%21AUD%203.37%21%21%21%402101d6ff17748726457652554ef3f5%2112000049239221996%21ct%21AU%216079532204%21%211%210%21Aliexpress
Mechanical SwitchesRegister Keystrokes9011.10https://www.aliexpress.com/item/1005010733013518.html?spm=a2g0o.cart.0.0.691238daXmoF8z&mp=1&pdp_npi=6%40dis%21AUD%21AUD%205.39%21AUD%205.39%21%21AUD%205.39%21%21%21%402101d6ff17748726457652554ef3f5%2112000053347971169%21ct%21AU%216079532204%21%213%210%21Aliexpress
Keycap SetTo press on112.61https://www.aliexpress.com/item/1005009316481772.html?spm=a2g0o.cart.0.0.691238daXmoF8z&mp=1&pdp_npi=6%40dis%21AUD%21AUD%2018.39%21AUD%2018.39%21%21AUD%2018.39%21%21%21%402101d6ff17748723426904626ef3f5%2112000048726412320%21ct%21AU%216079532204%21%211%210%21Aliexpress
StabilizersPrevent Wobbling12.60https://www.aliexpress.com/item/1005007212869086.html?spm=a2g0o.cart.0.0.691238daXmoF8z&mp=1&pdp_npi=6%40dis%21AUD%21AUD%203.79%21AUD%203.79%21%21AUD%203.79%21%21%21%402101d6ff17748723426904626ef3f5%2112000039826435204%21ct%21AU%216079532204%21%211%210%21Aliexpress
1N5819 Diode (SMD)Diodes for Matrix1002.03https://www.aliexpress.com/item/1005010391501956.html?mp=1&pdp_npi=6%40dis%21AUD%21AUD%202.96%21AUD%202.96%21%21AUD%202.87%21%21%21%402101d6ff17748723426904626ef3f5%2112000052256220506%21ct%21AU%216079532204%21%211%210%21Aliexpress

Parts

203
QtyValueFootprintReferences
87DDiode_SMD:D_SOD-123D1, D2, D10, D11, D12, D13, D14, D15, D16, D17, D18, D19, D20, D21, D22, D102 +71
7100nFCapacitor_SMD:C_0402_1005Metric_Pad0.74x0.62mm_HandSolderC1, C2, C5, C6, C7, C8, C11
310µFCapacitor_SMD:C_0402_1005Metric_Pad0.74x0.62mm_HandSolderC3, C4, C9
215pFCapacitor_SMD:C_0402_1005Metric_Pad0.74x0.62mm_HandSolderC12, C13
227ΩResistor_SMD:R_0402_1005Metric_Pad0.72x0.64mm_HandSolderR4, R5
25.1kΩResistor_SMD:R_0402_1005Metric_Pad0.72x0.64mm_HandSolderR1, R2
2LOGOLOGOG***, G***
10MX_Hotswap:MX-Hotswap-1USW62
11MX_Hotswap:MX-Hotswap-1USW8
110kΩResistor_SMD:R_0402_1005Metric_Pad0.72x0.64mm_HandSolderR3
11µFCapacitor_SMD:C_0402_1005Metric_Pad0.74x0.62mm_HandSolderC10
12MX_Hotswap:MX-Hotswap-1USW14
13MX_Hotswap:MX-Hotswap-1USW20
14MX_Hotswap:MX-Hotswap-1USW26
15MX_Hotswap:MX-Hotswap-1USW32
16MX_Hotswap:MX-Hotswap-1USW38
17MX_Hotswap:MX-Hotswap-1USW44
18MX_Hotswap:MX-Hotswap-1USW50
19MX_Hotswap:MX-Hotswap-1USW56
1AMX_Hotswap:MX-Hotswap-1USW10
1AltMX_Hotswap:MX-Hotswap-1.25USW18
1ApostropheMX_Hotswap:MX-Hotswap-1USW70
1BMX_Hotswap:MX-Hotswap-1USW35
1B SlashMX_Hotswap:MX-Hotswap-1.5USW81
1BackspaceMX_Hotswap:MX-Hotswap-2USW80
1CMX_Hotswap:MX-Hotswap-1USW23
1CapsLockMX_Hotswap:MX-Hotswap-1.75USW4
1CommaMX_Hotswap:MX-Hotswap-1USW53
1CrystalCrystal:Crystal_SMD_3225-4Pin_3.2x2.5mm_HandSolderingY1
1CtrlMX_Hotswap:MX-Hotswap-1.25USW6
1DMX_Hotswap:MX-Hotswap-1USW22
1DeleteMX_Hotswap:MX-Hotswap-1USW87
1DownMX_Hotswap:MX-Hotswap-1USW96
1EMX_Hotswap:MX-Hotswap-1USW21
1EndMX_Hotswap:MX-Hotswap-1USW93
1EnterMX_Hotswap:MX-Hotswap-2.25USW76
1EscMX_Hotswap:MX-Hotswap-1USW1
1FMX_Hotswap:MX-Hotswap-1USW28
1F SlashMX_Hotswap:MX-Hotswap-1USW65
1F1MX_Hotswap:MX-Hotswap-1USW7
1F10MX_Hotswap:MX-Hotswap-1USW61
1F11MX_Hotswap:MX-Hotswap-1USW67
1F12MX_Hotswap:MX-Hotswap-1USW73
1F2MX_Hotswap:MX-Hotswap-1USW13
1F3MX_Hotswap:MX-Hotswap-1USW19
1F4MX_Hotswap:MX-Hotswap-1USW25
1F5MX_Hotswap:MX-Hotswap-1USW31
1F6MX_Hotswap:MX-Hotswap-1USW37
1F7MX_Hotswap:MX-Hotswap-1USW43
1F8MX_Hotswap:MX-Hotswap-1USW49
1F9MX_Hotswap:MX-Hotswap-1USW55
1FnMX_Hotswap:MX-Hotswap-1.25USW66
1Full StopMX_Hotswap:MX-Hotswap-1USW59
1GMX_Hotswap:MX-Hotswap-1USW34
1HMX_Hotswap:MX-Hotswap-1USW40
1HomeMX_Hotswap:MX-Hotswap-1USW92
1IMX_Hotswap:MX-Hotswap-1USW51
1InsertMX_Hotswap:MX-Hotswap-1USW86
1JMX_Hotswap:MX-Hotswap-1USW46
1KMX_Hotswap:MX-Hotswap-1USW52
1LMX_Hotswap:MX-Hotswap-1USW58
1LeftMX_Hotswap:MX-Hotswap-1USW90
1MMX_Hotswap:MX-Hotswap-1USW47
1MCP1700x-330xxTTPackage_TO_SOT_SMD:SOT-23U3
1Minus -MX_Hotswap:MX-Hotswap-1USW68
1NMX_Hotswap:MX-Hotswap-1USW41
1OMX_Hotswap:MX-Hotswap-1USW57
1PMX_Hotswap:MX-Hotswap-1USW63
1PauseMX_Hotswap:MX-Hotswap-1USW97
1PgDnMX_Hotswap:MX-Hotswap-1USW99
1PgUpMX_Hotswap:MX-Hotswap-1USW98
1Plus +MX_Hotswap:MX-Hotswap-1USW74
1PrtScMX_Hotswap:MX-Hotswap-1USW85
1QMX_Hotswap:MX-Hotswap-1USW9
1RMX_Hotswap:MX-Hotswap-1USW27
1RP2040Package_DFN_QFN:QFN-56-1EP_7x7mm_P0.4mm_EP3.2x3.2mmU2
1R_AltMX_Hotswap:MX-Hotswap-1.25USW54
1R_CtrlMX_Hotswap:MX-Hotswap-1.25USW72
1R_ShiftMX_Hotswap:MX-Hotswap-2.75USW71
1R_WinMX_Hotswap:MX-Hotswap-1.25USW60

The 178 most common of 203 parts.

Similar boards

  • 2 layers290.1 × 130 mmPro V2, the printed circuit board in 3D

    Pro V2

    kata0510/Lily58

    6×4+4keys column-staggered split keyboard.

    312 parts2.3k
  • 4 layers50 × 30 mmPicodvi, the printed circuit board in 3D

    Picodvi

    Fr4nkFletcher/ESP32-Marauder-Cheap-Yellow-Display

    ESP32Marauder Cheap Yellow Display

    55 parts1.8kMIT
  • 4 layers299 × 127 mmLaunch, the printed circuit board in 3D

    Launch

    system76/launch

    System76 Launch Configurable Keyboard

    385 parts1.4kGPL-3.0
  • 2 layers42 × 67 mmLalboard, the printed circuit board in 3D

    Lalboard

    JesusFreke/lalboard

    A 3D-printed keyboard inspired by the DataHand

    65 parts993
  • 2 layers181 × 97 mmOpenDeck r3.1.2, the printed circuit board in 3D

    OpenDeck r3.1.2

    shanteacontrols/OpenDeck

    A platform for building interactive control and sensing devices using MIDI and OSC built with Zephyr RTOS.

    262 parts960Apache-2.0
  • 4 layers82.6 × 82.5 mmJumperless2, the printed circuit board in 3D

    Jumperless2

    Architeuthis-Flux/Jumperless

    A jumperless breadboard

    208 parts914
  • 4 layers102.9 × 96.7 mmPicoGUS chipdown, the printed circuit board in 3D

    PicoGUS chipdown

    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

    99 parts805
  • 2 layers53.2 × 24.8 mmPicoLink, the printed circuit board in 3D

    PicoLink

    ErichStyger/mcuoneclipse

    McuOnEclipse projects and examples

    46 parts765

Questions

How big is the 80--Keyboard PCB?

It measures 353 × 135 mm and has 2 copper layers, 1.6 mm thick.

What parts does the 80--Keyboard use?

203 parts, built around the RP2040. 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 80--Keyboard KiCad files?

From the XavierdSeth/80--Keyboard repository on GitHub, at the commit this page was made from: the board is PCB/80% Keyboard.kicad_pcb and its schematic PCB/80% Keyboard.kicad_sch. PCBKit opens the board in the browser, with nothing to install.

Can I use the 80--Keyboard design in my own project?

Its repository states no licence, so its author keeps all rights: ask XavierdSeth before reusing the design.