Hack Club Built for a Hack Club

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.

0
Keys per side
$0
Total budget
0
RP2040 MCUs
0
Hot‑swap sockets
Rough layout for the PCB
Early PCB layout, drafted in KiCadfig. 01
Overview

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.

Motivation

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.

Skills gained

What I learned

PCB design using KiCad
Mechanical keyboard architecture
KMK scripting
Fusion 360 CAD work
Sourcing parts on a budget
PCB design using KiCad
Mechanical keyboard architecture
KMK scripting
Fusion 360 CAD work
Sourcing parts on a budget
Capabilities

Features

Everything the board does, from layout to firmware.

01
18×18 split layout

Two independent halves, eighteen keys per side.

02
TRRS halves

Connected with a standard 3.5mm TRRS‑to‑TRRS cable.

03
Dual RP2040 control

RP2040‑Zero on the left, RP2040‑Tiny on the right.

04
Reversible PCB

One board design serves both halves, cutting PCB waste.

05
Wired connection

No wireless link — stable, low‑latency, always on.

06
Ergonomic first

Column stagger and split geometry built around hand shape.

07
QMK firmware

Full QMK support, remappable through VIA.

08
Hot‑swap sockets

Every single key socket is hot‑swappable.

09
Low profile

Slim Kailh Choc switches keep the whole board thin.

10
Custom 3D‑printed case

Case and top plate both designed and printed in‑house.

Parts list

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
Setup

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.
Build log

Building process

Full write‑up in Journal.md

Hardware

Final PCB

Both sides of the reversible board.

Front side view ▲ Left Side
Back side view ▲ Right Side
Fusion 360

Final render

render 1 render 2 render 3
Cost breakdown

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 board5$1.54$7.70JLC PCB
RP2040‑ZeroMicrocontroller, left side1$4.43$4.43Robu
RP2040‑TinyMicrocontroller, right side1$6.26$6.26Robu
Kailh Choc v2 SwitchesLow profile, to press40$0.63$25.00Neomacro
Kailh Choc PG1350 SocketsHot‑swap for switches40$0.18$7.00Neomacro
CFX MX KeycapsLow profile keycap set1$26.30$26.30Neomacro
1N4148 SOD‑123 DiodePer‑key diode on PCB40$0.03$1.00Stackskb
PJ‑320A TRRS JackWire connection between halves2$0.50$1.00Stackskb
M2×3 Threaded InsertsFixing the case20$0.02$0.40Self sourced
M2×5 Countersunk ScrewsFixing the case20$0.03$0.60Self sourced
3.5mm TRRS CableKeyboard‑to‑keyboard connection1$4.80$4.80Amazon
Type‑C to Type‑C CablePowers the microcontroller1$2.00$2.00Amazon
3D PrintCase and top plate1$0.00$0.00#printing-legion
ShippingIncl. 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.