A split keyboard
built around your hands.
Twin Key is an 18×18 reversible split mechanical keyboard — column‑staggered, dual‑MCU, hot‑swappable for every key, and designed from scratch on a $100 budget.
What I built
This split keyboard is basically built to fix everything annoying about standard typing. It takes the logic of an ortholinear grid, where every key sits in a predictable straight column, and mashes it together with a column stagger that actually matches how long your fingers are.
For long stretches of typing, that combination is exactly the kind of form factor that keeps hands relaxed instead of cramped — which is the whole point of this build.
Why this project
Behind choosing this project is basically that I love split keyboards and the way they fold up and stay compact. It's easy to carry, and it's good for writing over long hours — so I wanted to make one for myself, not buy one, and make it fully customisable. That's the reason I chose this project.
Buying a split keyboard off the shelf gets you someone else's decisions baked into the PCB. Designing one from scratch means every trace, footprint, and firmware layer answers to how this person actually types — and gets to be rebuilt the moment that changes.
What I learned
Features
Everything the board does, from layout to firmware.
Two independent halves, eighteen keys per side.
Connected with a standard 3.5mm TRRS‑to‑TRRS cable.
RP2040‑Zero on the left, RP2040‑Tiny on the right.
One board design serves both halves, cutting PCB waste.
No wireless link — stable, low‑latency, always on.
Column stagger and split geometry built around hand shape.
Full QMK support, remappable through VIA.
Every single key socket is hot‑swappable.
Slim Kailh Choc switches keep the whole board thin.
Case and top plate both designed and printed in‑house.
Components used
| Item |
|---|
| Custom PCB |
| RP2040‑Zero (left side) |
| RP2040‑Tiny (right side) |
| Kailh Choc v2 Low Profile Switches |
| Kailh Choc PG1350 Hot Swap Sockets |
| CFX MX Low Profile Keycaps |
| 1N4148 SOD‑123 SMD Diode |
| PJ‑320A TRRS Jack |
| M2×3 heat‑set threaded inserts |
| M2×5 countersunk screws |
| 3.5mm TRRS to TRRS cable |
| Type‑C to Type‑C cable |
Firmware
Precompiled, VIA‑enabled
Flash twin_key_sadrita.uf2 from the Firmware folder onto both RP2040 MCUs to get the board running.
Then load via.json under the Design tab in VIA to remap keys live, no recompiling required.
Full QMK source lives at firmware/QMK/keyboards/Twin‑Key for anyone who wants to go deeper than the config file.
- Step 1 — Flash twin_key_sadrita.uf2 to the RP2040‑Zero and RP2040‑Tiny.
- Step 2 — Open usevia.app, go to Design, and import via.json.
- Step 3 — Remap layers directly in VIA — changes apply instantly.
9 of 23 build photos, rotating automatically — see the rest in Journal.md.
Final PCB
Both sides of the reversible board.
Final render
Bill of materials
~$100 total budget, with sourcing links for every self‑sourced part.
Links are included for every part that's self‑sourced, so anyone recreating this build can track down the exact same components. The same data is also kept up to date in bom.csv in the repository.
| Component | Purpose | Qty | Unit | Total | Source |
|---|---|---|---|---|---|
| PCB (MOQ 5) | The main board | 5 | $1.54 | $7.70 | JLC PCB |
| RP2040‑Zero | Microcontroller, left side | 1 | $4.43 | $4.43 | Robu |
| RP2040‑Tiny | Microcontroller, right side | 1 | $6.26 | $6.26 | Robu |
| Kailh Choc v2 Switches | Low profile, to press | 40 | $0.63 | $25.00 | Neomacro |
| Kailh Choc PG1350 Sockets | Hot‑swap for switches | 40 | $0.18 | $7.00 | Neomacro |
| CFX MX Keycaps | Low profile keycap set | 1 | $26.30 | $26.30 | Neomacro |
| 1N4148 SOD‑123 Diode | Per‑key diode on PCB | 40 | $0.03 | $1.00 | Stackskb |
| PJ‑320A TRRS Jack | Wire connection between halves | 2 | $0.50 | $1.00 | Stackskb |
| M2×3 Threaded Inserts | Fixing the case | 20 | $0.02 | $0.40 | Self sourced |
| M2×5 Countersunk Screws | Fixing the case | 20 | $0.03 | $0.60 | Self sourced |
| 3.5mm TRRS Cable | Keyboard‑to‑keyboard connection | 1 | $4.80 | $4.80 | Amazon |
| Type‑C to Type‑C Cable | Powers the microcontroller | 1 | $2.00 | $2.00 | Amazon |
| 3D Print | Case and top plate | 1 | $0.00 | $0.00 | #printing-legion |
| Shipping | Incl. PCB shipping | — | — | $13.40 | — |
| Total | $99.89 | ||||
| Round Off Budget | $100 | ||||
Want to build your own Twin Key?
The full KiCad source, firmware, CAD files, and journal are open on GitHub.