Skip to the content
PCBKitNew board
2 layers148.6 × 136.1 mmLeft board, the printed circuit board in 3D

The Repo for IEEE-CPP's keyboard project

Size
148.6 × 136.1 mm
Copper layers
2
Thickness
1.6 mm
Parts
71
Nets
52
Pads
445
Tracks, vias
502, 1
Routed
Yes
KiCad
KiCad 9.0 (file 20241229)
Created
12 Mar 2026
Updated
29 Mar 2026

Overview

Left board is an open-source printed circuit board by IEEE-CPP, from the IEEE-CPP/keyboardProject repository on GitHub, published under the GPL-3.0 licence. It is a 2-layer board of 148.6 × 136.1 mm with 71 parts on 52 nets, routed with 502 tracks and 1 via.

Its parts include 32 diodes and 30 switches. It belongs with the keyboards and input boards of this library.

README

README.md

Split Keyboard

A custom split ergonomic keyboard designed with Ergogen and KiCad.

Keyboard Layout

  • 5-column layout: outer, pinky, ring, middle, index, inner
  • 5 rows: mod, bottom, home, top, num
  • 3-thumb keys: layer, space, extra
  • Column-based wiring with row diodes

Features

  • Choc hotswap sockets (Kailh Choc low-profile switches)
  • Pro Micro microcontroller (ATmega32U4)
  • OLED displays (SSD1306, I2C)
  • TRRS jack for inter-board communication
  • ESD protection on TRRS data lines
  • Reset button
  • 3D printable case files (STL)

Files

text
splitKeyboard/
├── ergogen/
│   ├── config.yaml    # Ergogen configuration (layout, PCB definitions)
│   ├── footprints/    # Custom footprint definitions
│   └── output/
│       ├── cases/    # 3D printable case files (STL)
│       └── outlines/ # DXF files for CNC cutting
└── kicad/
    ├── left_board.kicad_pcb   # Left half PCB design
    └── right_board.kicad_pcb  # Right half PCB design

Development Setup

Manual (recommended)

Install ergogen from https://ergogen.xyz/install/, then generate PCBs:

bash
ergogen splitKeyboard/ergogen/ --output build/

Nix (optional)

For users with Nix installed:

bash
nix develop    # provides kicad + ergogen
generate       # runs ergogen (PCB + cases) and organizes output

Design Details

  • Microcontroller: Pro Micro (5V, 16MHz)
  • Key switches: Kailh Choc (low-profile)
  • Diodes: 1N4148 (or similar)
  • OLED: SSD1306 128x32 I2C
  • Interconnect: TRRS cable (4-pole)
  • ESD Protection: TVS diodes (PRTR5V0U2X or similar)

Pin Mapping

ColumnPin
outerP21
pinkyP20
ringP19
middleP18
indexP15
innerP14
thumbP16
spaceP10
extraP9
RowPin
modP8
bottomP7
homeP6
topP5
numP4

OLED

  • SDA: P2
  • SCL: P3

Building

  1. Generate PCB files (see Development Setup above)

  2. Open splitKeyboard/kicad/ in KiCad to generate Gerbers

  3. Order PCBs from your preferred manufacturer

  4. Solder components:

    • Diodes (observe polarity)
    • Hotswap sockets
    • TRRS jack
    • Reset button
    • OLED display
    • Pro Micro header pins (or socket)
  5. Flash firmware using QMK or ZMK

Firmware

This repository only contains the hardware design. For firmware, use:

License

GNU General Public License v3. See LICENSE for details.

Credits

  • Ergogen - Keyboard layout generator
  • KiCad - PCB design software

Parts

71
QtyValueFootprintReferences
32ComboDiodeD1, D2, D10, D11, D12, D13, D14, D15, D16, D17, D18, D19, D20, D21, D22, D23 +16
30PG1350S1, S2, S10, S11, S12, S13, S14, S15, S16, S17, S18, S19, S20, S21, S22, S23 +14
5ceoloide:mounting_hole_npthMH1, MH2, MH3, MH4, MH5
1E73:SW_TACT_ALPS_SKQGABE010B1
1ProMicroMCU1
1OLEDlib:OLED_headersOLED1
1TRRS-PJ-320A-dualTRRS-PJ-320A-dualTRRS1

Questions

How big is the Left board PCB?

It measures 148.6 × 136.1 mm and has 2 copper layers, 1.6 mm thick.

What parts does the Left board use?

71 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 Left board KiCad files?

From the IEEE-CPP/keyboardProject repository on GitHub, at the commit this page was made from: the board is splitKeyboard/kicad/left_board.kicad_pcb. PCBKit opens the board in the browser, with nothing to install.

Can I use the Left board design in my own project?

Its repository publishes it under the GPL-3.0 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 layers105 × 105 mmNeopixel, the printed circuit board in 3D

    Neopixel

    hackclub/OnBoard

    💡 Join 1,000 teenagers and make your first PCB with a $100 grant!

    71 parts915
  • 2 layers71 × 25 mmUSG, the printed circuit board in 3D

    USG

    robertfisk/USG

    The USG is Good, not Bad

    71 parts407
  • 2 layers60 × 37 mmHydraBus, the printed circuit board in 3D

    HydraBus

    hydrabus/hydrabus

    HydraBus open source multi-tool for anyone interested in learning/developping/debugging/hacking/Penetration Testing for basic or advanced embedded hardware

    71 parts359
  • 2 layers142.5 × 106.3 mmAllium58, the printed circuit board in 3D

    Allium58

    beekeeb/Allium58

    The Allium58 is created based on the Lily58 Pro, designed to enhance wireless capabilities and provide compatibility with GLP (Gateron Low Profile) hotswap sockets.

    71 parts246
  • 2 layers164.7 × 58.4 mmDISAppointment, the printed circuit board in 3D

    DISAppointment

    rasteri/dISAppointment

    Adding ISA slots to modern motherboards

    71 parts241CC-BY-SA-4.0
  • 2 layers152.4 × 81.3 mmSurfgen, the printed circuit board in 3D

    Surfgen

    nickajeglin/Eurorack-pcbs

    A collection of easy to solder DIY eurorack PCB's

    71 parts208
  • 2 layers140 × 88 mmErgoSNM Keyboard Left Prototype 1, the printed circuit board in 3D

    ErgoSNM Keyboard Left Prototype 1

    siderakb/ergo-snm-keyboard

    ErgoSNM is a split ergonomic keyboard integrated with trackball, wireless is in beta

    71 parts172CERN-OHL-P-2.0
  • 2 layers53 × 73.5 mmCh32v305-radioset, the printed circuit board in 3D

    Ch32v305-radioset

    cnlohr/cnhardware

    My dumping grounds for all my kicad projects and random hardware bringup.

    71 parts114