
Mechanical Keyboard Prototyping: Designing a Custom Split Layout in Ergogen
Learn how to prototype custom split mechanical keyboards using Ergogen. This guide covers YAML configs, reversible PCBs, costs, and best practices for rapid iteration.
Custom split keyboards solve real ergonomic problems, but many builders still start from someone else’s layout. Ergogen turns a single YAML file into plates, cases, and unrouted PCBs. The practical question is whether the current version supports fast iteration without too much friction.
Why Ergogen Works Well for Split Designs
Ergogen converts declarative parameters into the mechanical parts of a keyboard. Column stagger, splay, thumb cluster position, and outline expansion all live in one source file. Adjust a 10° inward rotation on the halves and the tool regenerates every file in seconds.
The project sits at 1.4k stars on GitHub with a solid set of forks. Recent boards such as Triboard, Goose Keyboard, Kubujuss, Caldera, and Abyss were built with it. Plenty of Corne- and Lily58-style layouts have also been recreated as Ergogen configs even when the final board used a different generator.
Recommended Ergogen v4 Configuration Pattern
Version 4 introduced breaking changes that actually simplify reversible boards. Footprints now live under the pcbs section, rotate became splay, and where filters control placement.
points:
zones:
matrix:
columns:
pinky:
key:
stagger: 0
splay: -10
Place the MCU with reverse: true and enable traces: true for footprints such as nice_nano_pretty. Community libraries from infused-kim and ceoloide already include routed hot-swap Choc and MX footprints.
Reversible Split Best Practices
- Keep one config that produces both halves through mirroring and
adjustparameters. - Route the matrix traces first, then add power planes and LED traces.
- Run horizontal traces on the front and vertical traces on the back when possible.
- Export DXF outlines for plates and bring them into Fusion 360 or KiCad for case work.
These steps produce a single reversible PCB that you can order as left and right mirrors from the same Gerber set.
Component Costs for a Typical 34–38 Key Split
Small-run pricing has dropped enough that most builders now order 5–10 boards at a time.
| Item | Typical Cost (qty 5–10) | Notes |
|---|---|---|
| 2-layer PCB (JLCPCB) | $1.30–$5 total | <100×100 mm, includes shipping |
| Kailh Choc switches | $0.80–$1.20 each | Bulk AliExpress lots |
| Hot-swap sockets | $0.01–$0.05 each | Volume pricing |
| Nice!Nano | $25–$30 | Per half when buying two |
A wireless reversible pair usually lands between $80 and $120 in materials before keycaps and case.
Workflow and Known Limitations
Most successful Ergogen users follow the same sequence: quick visual checks at ergogen.xyz, then the CLI with custom footprint submodules, and finally routing in KiCad. The kicad-kbplacer plugin automates switch placement after import.
flowchart TD
A[ergogen.xyz visual checks] --> B[CLI with custom footprints]
B --> C[Export .kicad_pcb]
C --> D[Route matrix in KiCad]
D --> E[Add planes and verify]
E --> F[Order test panel from JLCPCB]
Large configs can exceed 1,300 lines and become difficult to maintain. Manual routing after export remains tedious, low-profile Choc designs still face limited keycap choices, and negative outline expansion can produce unexpected results. Test changes in small steps.
Once the config stabilizes, builders who have shipped multiple boards report a full design-to-order cycle of one to two weeks.
Practical Next Steps
Clone the Ergogen repository along with the two main community footprint libraries. Start with a minimal 34-key reversible config using the pattern above. Generate the files, open the resulting .kicad_pcb in KiCad, and route just the matrix before adding planes. Order a single test panel from JLCPCB to verify footprint alignment.
Ergogen removes the repetitive geometry work, but you still handle routing and firmware decisions yourself. Builders who accept that split can move from idea to assembled prototype faster than with most other current open-source keyboard tools.