Custom split keyboard inspired by Christian Selig’s Caldera.
Two halves, column-staggered layout, nice!nano + ZMK firmware.
All images are in /images.
This project is heavily inspired by Christian Selig’s Caldera build.
Original video: https://www.youtube.com/watch?v=7UXsD7nSfDY
Here is a look at the key placement and layout generated with Ergogen.
The Ergogen config used for this project is included in this repo.
The PCB is generated from the Ergogen config and then cleaned up in KiCad.
It includes the key matrix, diodes, nice!nano footprint, battery connector,
power switch, and reset switch.
The case is a low-profile shell that holds the PCB, plate, and standoffs.
Designed from the Ergogen outlines and exported to CAD for 3D printing.
Main parts used in this build.
- 2× nice!nano v2
- 6×10 Choc switches
- 6×10 Keycaps for each Choc switch
- 6×10 Diodes – one per switch
- 2× LiPo battery (per side)
- 1×2 battery Jack
- Kailh Hotswap Sockets
- Power switch and reset switches
Total Price: €127,09
All materials from https://typeractive.xyz except the lithium ion battery aliexpress link
- Open the Ergogen config file in this repo.
- Adjust key spacing, stagger, and outline.
- Generate switch positions and board outline.
- Export DXF files for PCB and CAD usage.
- Create a KiCad PCB project.
- Import the Ergogen DXF outline into Edge.Cuts.
- Place footprints for:
- Choc switches / hotswap sockets
- Diodes
- nice!nano
- Battery connector
- Power and reset switches
- Define row and column nets.
- Route switch → diode → row.
- Route column lines to the controller.
- Add mounting holes and silkscreen.
- Run DRC until no errors remain.
- Export Gerber files from KiCad.
- Upload to a PCB manufacturer.
- Order the required number of boards.
Recommended solder order:
- Diodes
- Hotswap sockets or switches
- JST battery connector
- Power and reset switches
- nice!nano headers or sockets
Verify continuity and check for shorts.
ZMK configuration is included in zmk-config-caldera.
named:
- left.uf2
- right.uf2
With gerber files included.
Build commands:
west build -s zmk/app -d build_left -b nice_nano -- \
-DSHIELD=caldera_left \
-DZMK_CONFIG=$PWD/zmk-config-caldera/config
west build -s zmk/app -d build_right -b nice_nano -- \
-DSHIELD=caldera_right \
-DZMK_CONFIG=$PWD/zmk-config-caldera/config













