Skip to the content
PCBKitNew board
2 layers275.2 × 109.2 mmNavy split, the printed circuit board in 3D

Split Keyboard handwwired with raspberry pi pico as mcu

Size
275.2 × 109.2 mm
Copper layers
2
Thickness
1.6 mm
Parts
108
Nets
59
Pads
810
Tracks, vias
0, 0
Routed
Not yet
KiCad
KiCad 4.2.1 (file 20240108)
Created
6 Feb 2026
Updated
6 Feb 2026

Overview

Navy split is an open-source printed circuit board by Naivedya-sahu, from the Naivedya-sahu/Split-K repository on GitHub. It is a 2-layer board of 275.2 × 109.2 mm with 108 parts on 59 nets.

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

README

README.md

Split-K

A custom handwired split ergonomic keyboard designed using Ergogen for layout generation and 3D-printed enclosures. This project explores ergonomic keyboard layout design, 3D-printable case modeling, and handwired matrix construction with a Raspberry Pi Pico.

Status: Design complete. Handwiring and assembly in progress.

Overview

Split-K is a 6x4 split keyboard with 3 thumb keys per side, using Cherry MX-compatible switches and a Raspberry Pi Pico microcontroller. The key layout and board outline are generated via Ergogen, and the case is fully 3D-printed. The keyboard is handwired — no custom PCB, just direct wiring of the switch matrix to the controller.

Design Highlights

  • Split layout — mirrored halves with adjustable distance
  • 6x4 matrix + 3 thumb keys per side
  • Column stagger tuned for natural finger reach
  • Handwired switch matrix with diodes
  • Cherry MX-compatible switches
  • Raspberry Pi Pico as the controller
  • 3D-printable case — switch plate, bottom plate, and mounting hardware

3D Models

All case parts are designed for FDM 3D printing. Click any STL file below to view an interactive 3D preview.

PartFileDescription
Switch Plateswitch_plate.stlTop plate with MX switch cutouts
Case Bottomcase_bottom.stlBottom enclosure plate
Mounting Platemounting_plate.stlInternal mounting structure
Pico Standoffpico_standoff.stlStandoff mount for Raspberry Pi Pico
Keycapcap+1.35.stlKeycap model
Prototypeprototype.stlEarly prototype plate with snap-fit key slots

Full assembly (multi-part):

PartFile
Assembly - Part 1Assembly 1 - Part 1.stl
Assembly - Part 2Assembly 1 - Part 2.stl

Ergogen Configuration

The keyboard layout is defined declaratively in Ergogen, which generates the board outline, key positions, case models, and a reference PCB.

FileDescription
config.yamlCurrent Ergogen layout configuration
ergogen/config.yamlErgogen workspace config with custom footprints
ergogen/footprints/Custom Ergogen footprint definitions

Generated output from Ergogen:

OutputFile
Board outlinebottom.dxf
Plate cutoutsplate_with_holes.dxf
Reference PCBnavy_split.kicad_pcb
Mounting platemounting_plate.stl
Prototype caseprototype.stl

Board Outlines

DXF outline files from various design iterations, used as templates for case profiles and plate cuts.

FileDescription
bottom.dxfBoard outline
switch_plate.dxfSwitch plate outline
demo.dxfKey position demo overlay

KiCad Files

KiCad project files are included from Ergogen output and early exploration. The PCB design is not started — the actual build is handwired.

FileDescription
Split-K.kicad_schSchematic (work in progress)
Split-K.kicad_pcbPCB layout (not started)
Split-K_L.kicad_pcbLeft half (not started)
Split-K_R.kicad_pcbRight half (not started)

These are kept for potential future PCB revision. To view, open in KiCad 9 or later.


Component Libraries

KiCad component libraries bundled with the project.

LibraryContents
MX1A-11NNCherry MX switch — symbol, footprint, and 3D model (.step)
RASPBERRY_PI_PICORaspberry Pi Pico — symbol, footprint, and 3D model (.step)

Design Iterations

Earlier config iterations are preserved in archive/ for reference, showing the evolution from an Architeuthis Dux-based layout to the final Split-K design.

ConfigBased on
config-architeuthis.yamlArchiteuthis Dux (3x5, Choc switches, aggressive splay)
config-navy.yamlNavy Split v1 (6x4, Choc switches, custom outline)
Split_k.yamlSplit-K early draft (6x4, MX switches, refined stagger)

Project Structure

text
Split-K/
├── *.kicad_*              KiCad project files (for future PCB revision)
├── config.yaml            Ergogen layout configuration
├── ergogen/               Ergogen workspace (custom footprints + generated output)
├── libraries/             KiCad component libraries (MX switch, Pi Pico)
├── 3d-models/             STL files for 3D-printed case parts
├── outlines/              DXF board outlines from design iterations
├── reference/             Reference PCB designs used during development
├── archive/               Previous Ergogen config iterations

Tools Used

  • Ergogen — keyboard layout generator
  • KiCad 9 — schematic and reference PCB viewer
  • FreeCAD / slicer software — 3D model preparation and printing

Acknowledgments

This is a learning project. The design is based on the Architeuthis Dux split keyboard and various community Ergogen configurations. Built to learn ergonomic keyboard layout, 3D enclosure modeling, and handwired keyboard construction — not an original design.

License

This project is shared for educational and portfolio purposes.

Parts

108
QtyValueFootprintReferences
54ComboDiodeD1, D2, D10, D11, D12, D13, D14, D15, D16, D17, D18, D19, D20, D21, D22, D23 +38
54—ceoloide:switch_mxS1, S2, S10, S11, S12, S13, S14, S15, S16, S17, S18, S19, S20, S21, S22, S23 +38

Questions

How big is the Navy split PCB?

It measures 275.2 × 109.2 mm and has 2 copper layers, 1.6 mm thick.

What parts does the Navy split use?

108 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 Navy split KiCad files?

From the Naivedya-sahu/Split-K repository on GitHub, at the commit this page was made from: the board is ergogen/output/pcbs/navy_split.kicad_pcb and its schematic Split-K.kicad_sch. PCBKit opens the board in the browser, with nothing to install.

Can I use the Navy split design in my own project?

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

More from Naivedya-sahu/Split-K

4
  • 2 layers275.2 × 109.2 mmNavy split, the printed circuit board in 3D

    Navy split

    Naivedya-sahu/Split-K

    Split Keyboard handwwired with raspberry pi pico as mcu

    108 parts
  • 2 layers275.2 × 109.2 mmSplit K, the printed circuit board in 3D

    Split K

    Naivedya-sahu/Split-K

    Split Keyboard handwwired with raspberry pi pico as mcu

    108 parts
  • 2 layers135.4 × 109.2 mmSplit K L, the printed circuit board in 3D

    Split K L

    Naivedya-sahu/Split-K

    Split Keyboard handwwired with raspberry pi pico as mcu

    54 parts
  • 2 layers129.2 × 96.3 mmArchiteuthis dux, the printed circuit board in 3D

    Architeuthis dux

    Naivedya-sahu/Split-K

    Split Keyboard handwwired with raspberry pi pico as mcu

    20 parts

Similar boards

  • 2 layers89.2 × 82.6 mmDesktop 50 Pin TopConn, the printed circuit board in 3D

    Desktop 50 Pin TopConn

    BlueSCSI/BlueSCSI-v2

    BlueSCSI v2/Ultra - an open source, open hardware, SCSI emulator using the Pi Pico PR2040 and Pico 2 RP2350

    108 parts459GPL-3.0
  • 2 layers312 × 140 mmTsynth2 Rev1.3, the printed circuit board in 3D

    Tsynth2 Rev1.3

    Electrotechnique/TSynth-Teensy4.1

    TSynth for Teensy 4.1

    108 parts182
  • 2 layers99.1 × 90.7 mmBgkeeb, the printed circuit board in 3D

    Bgkeeb

    sadekbaroudi/bgkeeb

    This is a reversible 100mm x 100mm pcb with support for mx or choc switches (no hotswap), per key led, rotary encoders, and exposes the SDA/SCL/GND/VCC lines in the form of the pimoroni trackball pins (meaning you can…

    108 parts108
  • 2 layers165 × 113 mmMask-0.0.0, the printed circuit board in 3D

    Mask-0.0.0

    marcoster/mask

    MArco's Split Keyboard

    108 parts44MPL-2.0
  • 2 layers262 × 113.9 mmQuacken, the printed circuit board in 3D

    Quacken

    Nuclear-Squid/Quacken

    Libre, ergonomic, polymorphic: a single PCB for many possible layouts.

    108 parts38GPL-3.0
  • 2 layers87 × 87 mmCn tester panel, the printed circuit board in 3D

    Cn tester panel

    aroum/cn_tester

    c!n tester is a hardware and software system designed for testing ProMicro-like microcontrollers.

    108 parts37MIT
  • 2 layers161.5 × 106 mmWaccaProtocolTranslator, the printed circuit board in 3D

    WaccaProtocolTranslator

    FizzyApple12/Waccon

    A repository for all of the files in my design for an open-source touch ring controller.

    108 parts33
  • 2 layers258.2 × 96.8 mmNarfkb, the printed circuit board in 3D

    Narfkb

    sebastian-stumpf/narfkb

    rp2040 powered split keyboard with rotary encoders and 6mm tactile buttons

    108 parts29MIT