

Mzizzi split62
My take on a low profile split keyboard.
- Size
- 140.7 × 104.1 mm
- Copper layers
- 2
- Thickness
- 1.6 mm
- Parts
- 69
- Nets
- 53
- Pads
- 623
- Tracks, vias
- 804, 31
- Routed
- Yes
- KiCad
- KiCad 8.0 (file 20240108)
- Created
- 25 Aug 2024
- Updated
- 24 Nov 2024
Overview
Mzizzi split62 is an open-source printed circuit board by mzizzi, from the mzizzi/mzizzi-split62 repository on GitHub. It is a 2-layer board of 140.7 × 104.1 mm with 69 parts on 53 nets, routed with 804 tracks and 31 vias.
Its parts include 31 diodes and 31 switches.
README
README.mdsplit62
My take on a low profile split keyboard.
- Low profile choc 1350 switches
- Hot swappable
- Split layout
- Ortholinear
- Column staggered
This was a really rewarding project and I learned a bunch along the way! I hope that this repo and documentation help you build your own. That said...
Disclaimer: While the keyboard is working while I type out this readme, there may be errors and/or poorly designed componetents throughout this repository. Use these files at your own risk. Please also read through the TODO section before deciding to use anything in this repository.

Firmware
This keyboard's firmware is built using QMK.
Set up QMK locally and copy qmk/keyboards/mzizzi
from this repository into your local qmk keyboards directory.
Connect one half of the keyboard and put the elite-pi into bootloader mode. keeb.io has excellent documentation on flashing firmware to the elite-pi: https://docs.keeb.io/elite-pi-guide#flashing
Enter bootloader mode (use one of the following methods):
- For a new Elite-Pi out of the packaging, it will already start in bootloader mode when plugged into the computer
- Hold the Boot button (the left button) down, while pluging in the USB-C cable
- Wait for OS to detect the Elite-Pi. It will show up as a USB mass-storage device named RPI-RP2.
After the initial flash of the board you can simply hold down top innermost key (5 or 6 depending on the hand) while plugging in the elite-pi to make it connect in bootloader mode.
Each half of the keyboard must be flashed separately with qmk handedness flags specifying which side is being flashed. Both halves must be flashed:
qmk flash -kb mzizzi/split62 -km via -bl uf2-split-left
or
qmk flash -kb mzizzi/split62 -km via -bl uf2-split-rightConfiguration with via
This keyboard's firmware is compiled with support for VIA which will allow for the keymap to be modified on the fly. The via documentation covers everything needed to get via working with the split62.
- Flash the keyboard via the instructions in this readme.
- Open https://usevia.app/ in your web browser
- Enable design mode in via settings
- Upload
qmk/keyboards/mzizzi/split62/via.jsonin the design tab - Authorize via access to the device
- Start customizing! |
PCB
The PCB for this board was designed with ergogen. I highly recommend reading the flatfootfox ergogen introducution if you're looking to modify this board or make your own.
The PCB for this keyboard is reversible to cut down on cost of having it manufactured. Most board manufacturers have a minimum order quantity per design (5 boards for jlcpcb). This makes for an interesting footprint for the elite-pi. The board is marked on either side to try and make it harder to accidentally install the controller socket on the wrong side.
All of the gerber files that I used to order these boards are included in the gerbers directory.
Please read the TODO section below before deciding whether or not to use these
files as-is.
Case
The case for the split62 is 3d printed. The outter shell of the case also serves as a key-plate to lock the choc switches into position. Ergogen is not used to generate the stls for the case. Instead ergogen is used to generate dxfs for a "keyplate" outline. I imported that outline into another CAD program and used it as a starting point to model the case. I printed the case on a bambulab x1c with 0.2mm layer height using Overture matte black PLA
Bill of Materials
I built this keyboard for around $200 but also have a bunch of spare parts left over. keeb.io links because they're awesome and did same day order+pickup for components that weren't even listed on their site!
TODO
- Put the trrs jack closer to the side of the board. I had to cut away a few millimeters of the board with a rotary tool so that the trrs connector had clearance to be fully inserted.
- Double check the trace size for 3v3 power and ground over the trrs cable. I used whatever the default was without looking into how much power the rp2040 consumes. Google says that the rp2040 draws 20mA peak.
- More mounting holes on the PCB. A few more wouldn't hurt and would help with any warping of the 3d printed case.
- Pull the sides of the PCB in a few mm. I didn't account for the case adding another 1-2mm.
- A better way to attach the MCU cover. This was an afterthought in v1 and attached with double sided foam tape.
- Optional tenting mounts for the base of the case.
- Aluminum case
Helpful Resources
Links to pages that helped me along the way:
- An excellent guide on using ergogen: https://flatfootfox.com/ergogen-introduction/
- qmk's documentation on a keyboard matrix and how it works:
https://docs.qmk.fm/how_a_matrix_works
- This article is what really made it stick for me: https://www.dribin.org/dave/keyboard/one_html/
- The qmk hand wiring guide is a good introduction what you will later design a pcb for: https://docs.qmk.fm/hand_wire
- Matrix configuration: https://docs.qmk.fm/porting_your_keyboard_to_qmk#matrix-configuration
- Split keyboard layout marco: https://docs.qmk.fm/features/split_keyboard#layout-macro
- via: https://www.caniusevia.com/docs/specification
More pictures

Parts
69| Qty | Value | Footprint | References |
|---|---|---|---|
| 31 | ComboDiode | D1, D2, D10, D11, D12, D13, D14, D15, D16, D17, D18, D19, D20, D21, D22, D23 +15 | |
| 31 | PG1350 | S1, S2, S10, S11, S12, S13, S14, S15, S16, S17, S18, S19, S20, S21, S22, S23 +15 | |
| 4 | MountingHole_2.2mm_M2_Pad_Via | _1, _2, _3, _4 | |
| 2 | ElitePi | MCU1, MCU2 | |
| 1 | TRRS-PJ-320A-dual | TRRS-PJ-320A-dual | TRRS1 |
Questions
How big is the Mzizzi split62 PCB?
It measures 140.7 × 104.1 mm and has 2 copper layers, 1.6 mm thick.
What parts does the Mzizzi split62 use?
69 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 Mzizzi split62 KiCad files?
From the mzizzi/mzizzi-split62 repository on GitHub, at the commit this page was made from: the board is kicad/mzizzi-split62.kicad_pcb. PCBKit opens the board in the browser, with nothing to install.
Can I use the Mzizzi split62 design in my own project?
Its repository states no licence, so its author keeps all rights: ask mzizzi before reusing the design.
Similar boards
- 2 layers117.3 × 54.5 mm

- 2 layers100 × 96 mm

Backlight
jackw01/scanlight
A better light source for scanning color negative film
69 parts397CERN-OHL-W-2.0 - 2 layers135.9 × 102.2 mm

Ergo42
Biacco42/Ergo42
7x4 ortho linear split keyboard - The Answer to the Ultimate Question of Life, the Universe, and at least Keyboards
69 parts218 - 2 layers104.1 × 71.1 mm

Minifp
eigenco/frankenpi
This is an experimental project to connect Raspberry Pi with the help of cheap Cyclone IV FPGA board to 8-bit ISA bus to act as multiple different devices.
69 parts139 - 2 layers90 × 140 mm

Drumkid
mattybrad/drumkid
Version 4 was the first successful working design, with full code, schematics, Gerbers, etc available on GitHub.
69 parts137 - 2 layers120 × 60 mm

Overglade Badges
KaiPereira/Overglade-Badges
NFC hackathon badges for the Overglade game jam in Singapore!
69 parts126 - 2 layers142 × 20 mm

DeskController
BerkeleyHCI/PolymorphicBlocks
A Python-based hardware description language for PCBs for higher-level (block-diagram / system-architecture level) PCB design through libraries of directly reusable subcircuit generators.
69 parts94BSD-3-Clause - 2 layers163.1 × 111.9 mm
