Skip to the content
PCBKitNew board
2 layers146 × 78 mmKiyburd, the printed circuit board in 3D

Spilt 40% ortholinear diode-less mechanical keyboard

Size
146 × 78 mm
Copper layers
2
Thickness
1.6 mm
Parts
24
Nets
40
Pads
246
Tracks, vias
290, 12
Routed
Yes
KiCad
KiCad 8.0 (file 20240108)
Created
7 May 2024
Updated
17 Sep 2026

Overview

Kiyburd is an open-source printed circuit board by DanielJaehaLee, from the DanielJaehaLee/Kiyburd repository on GitHub. It is a 2-layer board of 146 × 78 mm with 24 parts on 40 nets, routed with 290 tracks and 12 vias.

Its parts include 22 switches and 2 ICs. It belongs with the keyboards and input boards and the RP2040 boards of this library.

README

README.md

Kiyburd

Split 40% ortholinear diode-less mechanical keyboard Kiyburd itself

Kiyburd is a split keyboard built around a 44-key ortholinear grid, direct-pin wiring (no diode matrix), and a pair of Raspberry Pi Picos talking over TRRS. The goal is a compact, stabilizer-free board that is easier to wire and firmware-tune than a conventional matrix keyboard, without giving up QMK features.

Kiyburd layout

Form factorSplit 40% · 22 keys per half · 44 keys total
GridOrtholinear 1u keys · no stabilized keys
ScanningDirect GPIO (diode-less / matrix-less)
MCURaspberry Pi Pico (RP2040) × 2
Inter-half linkTRRS (PJ-320A) · full-duplex USART
FirmwareQMK
PCBReversible
StatusPCB designed and ordered · QMK port working · case and Vial still open

Why this layout

Most 40% boards still carry a row/column matrix, diodes, and at least a few 2u keys that need stabilizers. Kiyburd drops those on purpose:

  • Split 40% keeps the hands apart and the keymap small enough that layers do the work of a full-size board.
  • Ortholinear 1u grid removes stagger and every stabilizer. Every switch is the same Cherry MX footprint.
  • Direct wiring maps each switch to its own RP2040 GPIO. No diodes, no shared rows/columns, no ghosting to design around.
  • Reversible PCB means one Gerber set builds both halves.

The default firmware keymap is QWERTY with three extra layers (function keys, numbers/arrows, symbols/nav). The files under keyboard layout/ also document an experimental layered map with Hangul legends.


Repository layout

text
Kiyburd/
├── Firmware/                 QMK keyboard definition
│   ├── config.h              RP2040 bootloader + USART pins
│   ├── info.json             Matrix pins, USB IDs, layout geometry
│   ├── kiyburd.h             LAYOUT() macro
│   ├── rules.mk              RP2040 + split keyboard
│   └── keymaps/default/      QWERTY + Lower / Raise / Raise2
├── PCB/Kiyburd/              KiCad 7/8 project
│   ├── Kiyburd.kicad_sch
│   ├── Kiyburd.kicad_pcb
│   └── production/           BOM, CPL, Gerbers (Kiyburd.zip)
└── keyboard layout/          Keyboard Layout Editor JSON / SVG / PNG

Hardware

Bill of materials (per half)

QtyPartNotes
1Raspberry Pi Pico (RP2040)Socket or solder; USB-C or Micro-USB depending on Pico revision
1PJ-320A TRRS jackInter-half serial + GND
22Cherry MX compatible switches5-pin preferred; footprint is SW_Cherry_MX_1.00u_PCB_reversible
221u keycapsNo 2u / no stabs
1TRRS cableTip-ring-ring-sleeve; not a TRS headphone cable

Build two halves. The PCB is reversible: the Pico and TRRS footprints are placed so the same board works as left or right.

Direct-pin map

Each switch is wired to one GPIO. Left and right halves mirror each other.

Left half

RowCol 0Col 1Col 2Col 3Col 4Col 5
0GP7GP6GP5GP4GP3GP2
1GP13GP12GP11GP10GP9GP8
2GP22GP26GP27GP28GP15GP14
3GP18——GP19GP20GP21

Right half

RowCol 0Col 1Col 2Col 3Col 4Col 5
0GP2GP3GP4GP5GP6GP7
1GP8GP9GP10GP11GP12GP13
2GP14GP15GP28GP27GP26GP22
3GP21GP20GP19——GP18

Split serial is full-duplex USART on the Pico's vendor serial driver:

SignalPin
TXGP1
RXGP0

Handedness defaults to left-as-master. Uncomment #define MASTER_RIGHT in Firmware/config.h if the right half should own USB.

Ordering the PCB

Gerbers and assembly files live in PCB/Kiyburd/production/:

  • Kiyburd.zip — Gerber/drill package
  • bom.csv — bill of materials
  • positions.csv — pick-and-place
  • designators.csv / netlist.ipc

Open PCB/Kiyburd/Kiyburd.kicad_pro in KiCad to edit the board before re-exporting.


Firmware

Firmware is a QMK keyboard named kiyburd. It targets the RP2040 bootloader and enables Bootmagic, extra keys, mouse keys, and NKRO.

Features (info.json)

  • bootmagic, extrakey, mousekey, nkro
  • USB VID 0xFEED / PID 0x0000 / device version 1.0.0 (change these before sharing boards)
  • Double-tap reset on the Pico (RP2040_BOOTLOADER_DOUBLE_TAP_RESET, 1000 ms window)

Build

After setting up QMK:

sh
# drop this folder into qmk_firmware/keyboards/kiyburd
make kiyburd:default
make kiyburd:default:flash

Or with the QMK CLI:

sh
qmk compile -kb kiyburd -km default
qmk flash -kb kiyburd -km default

Copy the contents of Firmware/ to qmk_firmware/keyboards/kiyburd/ so the make target matches the documented name.

Enter the bootloader

  1. Bootmagic — hold the matrix (0, 0) key (Tab on the default map) and plug in USB.
  2. Double-tap reset — tap the Pico RESET button twice within one second.
  3. Bootsel — hold BOOTSEL on the Pico, plug in USB, then drop the .uf2 onto the RPI-RP2 drive.

Default keymap

Four layers. Modifiers stay on the home row edges; MO(1) / MO(2) / MO(3) sit on the inner thumb cluster.

text
Layer 0 — QWERTY
,-----------------------------------------.     ,-----------------------------------------.
| Tab  |  Q   |  W   |  E   |  R   |  T   |     |  Y   |  U   |  I   |  O   |  P   | Bksp |
| Ctrl |  A   |  S   |  D   |  F   |  G   |     |  H   |  J   |  K   |  L   |  ;   |  '   |
| Shift|  Z   |  X   |  C   |  V   |  B   |     |  N   |  M   |  ,   |  .   |  /   |  \   |
| Alt  |           | GUI |Lower| Space |     |Raise|Raise2| RAlt |           | Enter|
`-----------------------------------------'     `-----------------------------------------'

Layer 1 — Lower          function keys on the right hand
Layer 2 — Raise          1–0, ` - = [ ], arrows
Layer 3 — Raise2         shifted symbols, Home / Ins / Del / End

Edit Firmware/keymaps/default/keymap.c to change layers. The Keyboard Layout Editor sources in keyboard layout/ are a good place to mock a new map before touching C.


Build notes

  1. Fabricate two PCBs from PCB/Kiyburd/production/Kiyburd.zip.
  2. Solder the Pico and TRRS jack. Because the footprints are reversible, decide handedness before soldering if you are not using sockets.
  3. Solder 22 MX switches per half. There are no diodes.
  4. Flash QMK to both Picos.
  5. Join the halves with a TRRS cable. Plug USB into the master half only.
  6. Confirm every key in a matrix tester, then cap the board.

There is no case in this repo yet. The housing work is still an open milestone (FreeCAD).


Project status

AreaState
KiCad proficiency / PCB designDone
PCB orderedDone
Direct-switch and split-link electrical designDone
QMK portDone
VialNot started
Case / FreeCADNot started

References

Designs that informed the brief:

Docs:


License

Firmware sources carry SPDX-License-Identifier: GPL-2.0-or-later (QMK). Hardware files in PCB/ do not declare a license yet — treat them as all-rights-reserved unless a license is added.

Maintainer: DanielJaehaLee

Parts

24
QtyValueFootprintReferences
22KeyswitchScottoKeebs_MX:SW_Cherry_MX_1.00u_PCB_reversibleS1, S2, S3, S10, S11, S12, S13, S14, S15, S16, S17, S18, S19, S22, S23, S24 +6
1Raspberry_Pi_PicoScottoKeebs_MCU:Raspberry_Pi_Pico_reversibleU1
1TRRSScottoKeebs_Components:PJ-320A_reversibleU2

Questions

How big is the Kiyburd PCB?

It measures 146 × 78 mm and has 2 copper layers, 1.6 mm thick.

What parts does the Kiyburd use?

24 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 Kiyburd KiCad files?

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

Can I use the Kiyburd design in my own project?

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

Similar boards

  • 2 layers56 × 65 mmSeaTalk1, the printed circuit board in 3D

    SeaTalk1

    dotnet/iot

    This repo includes .NET Core implementations for various IoT boards, chips, displays and PCBs.

    24 parts2.4kMIT
  • 2 layers26.2 × 45.5 mmPL18 multiprotocol, the printed circuit board in 3D

    PL18 multiprotocol

    pascallanger/DIY-Multiprotocol-TX-Module

    Multiprotocol TX Module (or MULTI-Module) is a 2.4GHz transmitter module which controls many different receivers and models.

    24 parts1.9kGPL-3.0
  • 2 layers58 × 35.5 mmHat, the printed circuit board in 3D

    Hat

    menloresearch/asimov-1

    v1 of Asimov, an open-source humanoid robot

    24 parts1.4kCERN-OHL-S-2.0
  • 2 layers21.6 × 19.5 mmMicron Logo LED, the printed circuit board in 3D

    Micron Logo LED

    DraftShift/StealthChanger

    Tool changing system for Vorons and other front mount printer motion systems, not just stealthburner.

    24 parts1.2kGPL-3.0
  • 2 layers158 × 11 mmRainbow Matchstick, the printed circuit board in 3D

    Rainbow Matchstick

    VoronDesign/Voron-Hardware

    Cool Hardware designed by the Voron Design group

    24 parts1.1kGPL-3.0
  • 2 layers85.6 × 54 mmTRACED wio1262-carrier, the printed circuit board in 3D

    TRACED wio1262-carrier

    hackclub/OnBoard

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

    24 parts915
  • 2 layers36 × 20 mmCombined, the printed circuit board in 3D

    Combined

    adamb314/ServoProject

    Getting the most out of your hobby servo

    24 parts545