Skip to the content
PCBKitNew board
2 layers393.2 × 141.1 mmKetchuboard, the printed circuit board in 3D

A keyboard with custom PBC and case

Size
393.2 × 141.1 mm
Copper layers
2
Thickness
1.6 mm
Parts
166
Nets
113
Pads
615
Tracks, vias
612, 57
Pours
1
Routed
Yes
KiCad
KiCad 10.0 (file 20260206)
Created
25 Jul 2026
Updated
25 Aug 2026

Overview

Ketchuboard is an open-source printed circuit board by Ketchupism, from the Ketchupism/ketchuboard repository on GitHub. It is a 2-layer board of 393.2 × 141.1 mm with 166 parts on 113 nets, routed with 612 tracks and 57 vias.

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

README

README.md

ketchuboard

A custom mechanical keyboard designed purely by myself. Divides into the schematics, PCB, CAD, and some additional work. This project's primarily for the learning experience of Kicad and Fusion360. This project was so I could also have a functioning use that will help me with everyday stuff. image

Features

  • 78 keys, 1 rotary encoder
  • 1 rotary encoder switch
  • 1 0.91 inch OLED
  • 5 degree tilt forward
  • 5 pieces of 3d printed the keyboard

Schematics

Schematics was the first thing I started with on this project. Overall, it was mainly just a time-consuming process of making the huge matrix, and tracing together the rotary encoder + switches + OLED to the microcontroller. Some challenges with the schematics are just learning how to attach the OLED to the microcontroller, fixing a small mistake with the rotary encoder, and fixing a small mistake with the tracing that messed up my PCB routing. Overall the schematics was pretty decent and wasn't too annoying to figure out the issues.

image image

PCB

Designing the PCB was next, after I assigned the footprints. When assigning footprints, I made some mistakes that later I would need to fix. First, I previously assigned random switches u sizes that I needed, but I needed to find the correct switches based off the position because of tracing for the PCB. Second, I was stuck understanding why there were no stabilizers below 2u. It took me a few searches and questions in Slack to figure out that anything below 2u do not need stabilizers, and anything 2u or more needed stabilizers. Assigning footprints was not a big thing but it was just something necessary for the PCB.

image image

Next was sorting out and organizing the tracing everything. It was pretty simple and easy, only that it took a while to route everything together. In the end, it was really clean and I really liked the outcome of the PCB. The only big problem that I can't fix is the size. I made the edge.cuts on the left way to large and now that there is a lot of empty space. It made the PCB cost in JLCPCB higher and the print for the case. If I would do this again, I would pay attention to the amount of space I am using.

image

After finishing with the PCB, all I did next was add in the 3D models. A mistake that costed me time was that the models for matlib library were wrong, so I had to manually fix ~80 models which took a lot of time. I should've just adjusted one switch model, save it as a footprint, then apply the footprint to all the switches. After done with the 3d viewer, I just exported it into gbr files and into a .step file for cadding.

image image

CAD

Designing the CAD for the case was basically the last thing I did for this project. It wasn't too difficult as I just designed a top and bottom case, then made some visual art on the left empty side of the case. I then added rubber feet again and added some more details. This was the longest part of making the keyboad however as I took time to add in keycaps, a top case holder, a new case for the rotary encoder, and an angle tilt for my keyboard.

image image image

Extra stuff

The rest of the time I've spent on this keyboard was on researching items for the bom.csv, logging in through the journal, and writing this README.md

image

Parts

166
QtyValueFootprintReferences
791N4148Diode_THT:D_DO-35_SOD27_P7.62mm_HorizontalD1, D2, D10, D11, D12, D13, D14, D15, D16, D17, D18, D19, D20, D21, D22, D23 +63
71SW_Push_45degPCM_marbastlib-mx:SW_MX_1uSW1, SW2, SW10, SW11, SW12, SW13, SW14, SW15, SW16, SW17, SW18, SW19, SW20, SW21, SW22, SW23 +55
3SW_Push_45degPCM_marbastlib-mx:SW_MX_1.25uSW69, SW70, SW71
2LOGOLOGOG***, G***
2MX_stabPCM_marbastlib-mx:STAB_MX_2.25uS2, S3
2SW_Push_45degPCM_marbastlib-mx:SW_MX_1.75uSW42, SW67
2SW_Push_45degPCM_marbastlib-mx:SW_MX_1.5uSW27, SW40
1ER_OLEDM0.91_1x-I2CDisplay:ER_OLEDM0.91_1x-I2CU1
1MX_stabPCM_marbastlib-mx:STAB_MX_6.25uS1
1MX_stabPCM_marbastlib-mx:STAB_MX_2uS5
1RaspberryPi_PicoModule:RaspberryPi_Pico_Common_THTA1
1RotaryEncoder_SwitchPCM_marbastlib-various:ROT_Alps_EC11E-SwitchSW79

Questions

How big is the Ketchuboard PCB?

It measures 393.2 × 141.1 mm and has 2 copper layers, 1.6 mm thick.

What parts does the Ketchuboard use?

166 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 Ketchuboard KiCad files?

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

Can I use the Ketchuboard design in my own project?

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

Similar boards

  • 2 layers99.5 × 83.1 mmFrank, the printed circuit board in 3D

    Frank

    rh1tech/frank

    RP2350 Based Hardware Emulation Platform

    166 parts66GPL-3.0
  • 2 layers320.5 × 127.5 mmFernet, the printed circuit board in 3D

    Fernet

    cfbender/keyboards

    A collection of all of my keyboard projects

    166 parts64MPL-2.0
  • 2 layers200 × 100 mmQROMatch, the printed circuit board in 3D

    QROMatch

    profdc9/ModularTuner

    A Modular Antenna Tuner for a Phased Array Antenna System

    166 parts59
  • 2 layers136.8 × 199.1 mmSt225 20527, the printed circuit board in 3D

    St225 20527

    schlae/HardDriveInfo

    Repair info and schematics for mostly older MFM hard drives

    166 parts38
  • 2 layers100.8 × 108.6 mmCVMod8 V2 Main, the printed circuit board in 3D

    CVMod8 V2 Main

    Thorinair/Avalon-Harmonics

    A collection of Avalon Harmonics branded synthesizer modules.

    166 parts26CC-BY-SA-4.0
  • 2 layers296.5 × 124 mm5AhG3-18S, the printed circuit board in 3D

    5AhG3-18S

    doppelhub/Honda_Insight_LiBCM

    Replacement BCM for G1 Honda Insight Lithium Conversion

    166 parts25CC-BY-SA-4.0
  • 2 layers100 × 99.8 mmPre Ignition, the printed circuit board in 3D

    Pre Ignition

    OpenLogicEFI/Hardware

    Hardware is based off an open source project called Speeduino by Josh Stewart.

    166 parts19
  • 2 layers55.4 × 66 mmOwmBoard, the printed circuit board in 3D

    OwmBoard

    kanengomibako/EffectsPedals

    166 parts14Unlicense