Skip to the content
PCBKitNew board
2 layers362 × 119.1 mmKeyboard, the printed circuit board in 3D

This is a hot swappable 84-keys keyboard with an OLED screen. It has Raspberry Pi Pico W as its MCU. Its a cool project.

Size
362 × 119.1 mm
Copper layers
2
Thickness
1.6 mm
Parts
179
Nets
117
Pads
1,031
Tracks, vias
563, 30
Pours
2
Routed
Yes
KiCad
KiCad 10.0 (file 20260206)
Created
28 Jul 2026
Updated
4 Sep 2026

Overview

Keyboard is an open-source printed circuit board by hiralsinghal, from the hiralsinghal/Keyboard repository on GitHub, published under the MIT licence. It is a 2-layer board of 362 × 119.1 mm with 179 parts on 117 nets, routed with 563 tracks and 30 vias.

Its parts include 88 switches, 84 diodes and 1 IC. It belongs with the keyboards and input boards and the RP2040 boards of this library.

README

README.md

Keyboard-o!

This is a hot swappable 84-keys keyboard with an OLED screen. It has Raspberry Pi Pico W as its MCU. Its a cool project. Making my own keyboard, I could choose whether I want the switches to be linear, tactile or clicky, what colour do I want them and keycaps to be. I chose linear because they are quiter compared to clicky. For colours, I decided to do black. That's why everything, including the PCB, is black or in shades of black.

Schematic

This is the schematic for the keyboard. It has a 16 x 6 matrix for the switches, a symbol for the OLED and the Raspberry Pi pico W.

schematic

Switches

This is the wiring for the switches. It is arranged in a matrix of 16 x 6 with a diode for each switch to prevent phantom presses.

switches

MCU

Raspberry Pi Pico W felt like the best choice. It has the perfect amount of GPIO pins I needed for my 84 keys keyboard.

raspberry pi pico w

OLED

I had a spare 0.91 inch OLED so I thought why not add it in my custom keyboard.

oled

Stabilizers

Some keys such as backspace, enter, left shift and space requires stabilizers as they are 2u or more to balance and support them.

stabilizers

PCB

This is my PCB for the keyboard. It has GND pour on both layers-top and bottom. It features some silkscreen art too.

The source files can be found in the PCB folder and the gerbers in the Production folder.

pcb

No Art

Below is the image of the PCB with no silkscreen art.

pcb with no silkscreen art

Footprints only

This is the pic of the PCB with only the footprints and the routing.

pcb with only footprints and routing

Case

I have two parts-top and bottom. I plan to join them together using magnets. I have 5mm x 2mm circles cut into the corners of the case to glue the magnets and make the case look seamless. Or I can use the bottom case only.

The source files can be found in the CAD folder.

case

BOM

For the items link, please go to BOM.

ItemDescriptionQuantityUnit Price ($)Total Price ($)
PCBPCB54.9224.6
Akko V3 Cream Black Pro Switch (Pack of 45)Switches212.5125.02
Veekos Gradient Keycaps (Cherry Profile) (135 keys)Keycaps113.5513.55
0.91 inch Blue OLED Display ModuleOLED11.551.55
Raspberry Pi Pico W (wireless)MCU16.786.78
1N4148 1W Zener DiodeDiode840.0131.10
5mm x 2mm Neodymium Magnet DiscMagnet80.161.25
Total73.85

Zine

This was designed in Figma.

zine

Why did I make this?

I have always wanted a compact keyboard for my desk but with most of the functionality. Making a 75% keyboard fulfils that intention. Everything is custom about it. I can change the firmware whenever I want, swap out the switches or keycaps. It was a fun project.

Parts

179
QtyValueFootprintReferences
841N4148Diode_THT:D_DO-35_SOD27_P7.62mm_HorizontalD1, D2, D10, D11, D12, D13, D14, D15, D16, D17, D18, D19, D20, D21, D22, D23 +68
74SW_PushSwitches:SW_Hotswap_Kailh_MX_Plated_1.00u_With_SwitchSW1, SW2, SW10, SW11, SW12, SW13, SW14, SW15, SW16, SW17, SW18, SW19, SW20, SW21, SW22, SW23 +58
5LOGOLOGOG***, G***, G***, G***, G***
2MX_stabPCM_marbastlib-mx:STAB_MX_2.25uS2, S3
1BackspaceSwitches:SW_Hotswap_Kailh_MX_Plated_2.00u_With_SwitchSW29
1CapsLockSwitches:SW_Hotswap_Kailh_MX_Plated_1.75u_With_SwitchSW46
1ER_OLEDM0.91_1x-I2COLED:SSD1306-0.91-OLED-4pin-128x32U1
1EnterSwitches:SW_Hotswap_Kailh_MX_Plated_2.25u_With_SwitchSW58
1LCtrlSwitches:SW_Hotswap_Kailh_MX_Plated_1.25u_With_SwitchSW74
1LShiftSwitches:SW_Hotswap_Kailh_MX_Plated_2.25u_With_SwitchSW60
1MX_stabPCM_marbastlib-mx:STAB_MX_2uS1
1MX_stabPCM_marbastlib-mx:STAB_MX_6.25uS4
1RCtrlSwitches:SW_Hotswap_Kailh_MX_Plated_1.50u_With_SwitchSW80
1RShiftSwitches:SW_Hotswap_Kailh_MX_Plated_1.75u_With_SwitchSW71
1RaspberryPi_Pico_WModule:RaspberryPi_Pico_W_SMD_HandSolderA1
1SpaceSwitches:SW_Hotswap_Kailh_MX_Plated_6.25u_With_SwitchSW78
1TabSwitches:SW_Hotswap_Kailh_MX_Plated_1.50u_With_SwitchSW31
1\|Switches:SW_Hotswap_Kailh_MX_Plated_1.50u_With_SwitchSW44

Questions

How big is the Keyboard PCB?

It measures 362 × 119.1 mm and has 2 copper layers, 1.6 mm thick.

What parts does the Keyboard use?

179 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 KiCad files?

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

Can I use the Keyboard 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 layers100 × 100 mmHydromisc, the printed circuit board in 3D

    Hydromisc

    hydromisc/hydromisc

    Open hardware to measure EC and pH, drive pumps, and otherwise manage a mid-size hydroponic grow over Wi-Fi.

    179 parts526
  • 2 layers95 × 95 mmXY LED, the printed circuit board in 3D

    XY LED

    intechstudio/grid-hardware

    179 parts59GPL-3.0
  • 2 layers80.9 × 108.2 mmVca, the printed circuit board in 3D

    Vca

    spielhuus/elektrophon

    Modular analog electro acoustic noise machine.

    179 parts32
  • 2 layers150 × 50 mmEsp32-led smps, the printed circuit board in 3D

    Esp32-led smps

    lucysrausch/esp32-led-smps

    230V main LED smps. 2x30W Constant Current.

    179 parts30
  • 2 layers178.2 × 110.9 mmLegRobotBoardTeensy, the printed circuit board in 3D

    LegRobotBoardTeensy

    01binary/str1ker

    A human-scale mech integrated with Robot Operating System

    179 parts20
  • 2 layers100 × 100 mmAfm, the printed circuit board in 3D

    Afm

    cubitel/afm

    DIY Atomic Force Microscope

    179 parts16GPL-3.0
  • 2 layers303.8 × 94.2 mmChilineko pcb, the printed circuit board in 3D

    Chilineko pcb

    Cipulot/Chilineko

    Hot-swappable version of the Bakeneko 65 with extra layouts support.

    179 parts12MIT
  • 2 layers66.7 × 61.7 mmVday, the printed circuit board in 3D

    Vday

    niteshkadyan/Hearty-LED-Necklace-Badge

    Kicad project files and Android app for the Hearty LED wearable necklace cum badge

    179 parts10MIT