A 62-key split columnar ergonomic keyboard
| Version | Description | Firmware | Layout |
|---|---|---|---|
| v3 | 62-keys. Symmetrical enclosures. Non-traditional placement of backspace and backslash keys. | tags/splinter-v3.0 | ![]() |
| v2 | 62-keys. Symmetrical enclosures. Non-traditional placement of backspace and backslash keys. | tags/splinter-v2.0 | ![]() |
| v1 | 61-keys. Asymetrical enclosures. Traditional layout. | tags/splinter-v1.0 | ![]() |
# Include submodules when cloning
git clone --recursive git@github.com:andornaut/splinter-keyboard.git
cd splinter-keyboard
# Install dependencies, including Ergogen
nvm use
npm install
# Install KiCad
sudo add-apt-repository ppa:kicad/kicad-8.0-releases
sudo apt install kicad
# Install KiKit
# Must use the same Python interpreter as KiCad (will not work in a venv)
sudo pip install kikit --break-system-packages
# Update submodules
git submodule update --recursive --remoteAlternatively, you can install OrcaSlicer and Kicad using these Ansible tasks.
Set the VERSION environment variable in .env to one of v1, v2, or v3
Step 2. Keyboard Layout Editor
- Prototype a keyboard layout using Keyboard Layout Editor
- Export the layout configuration to
keyboard-layout-editor/keyboard-layout-editor.json, so that you can import it and iterate on it in the future - Use the prototype as inspiration for creating a production-ready design using Ergogen
Step 3. Ergogen
- Convert the prototype to a production-ready design using Ergogen, and then save it to
ergogen/config.yaml- If prototyping using this online Ergogen editor, then click the gear icon, then add the sod-123w footprint
- Run
npm run buildto generate and save outlines and pcbs to../dist/v3/ergogen/thennpm run copy-pcbs-to-kicad- Alternatively, run
npm run watchornpm run watch-and-copy-pcbs-to-kicad
- Alternatively, run
Steps 4. KiCad
- Design the PCBs using KiCad
- Run
npm run copy-pcbs-to-kicadto copy the../dist/v3/ergogen/pcbs/*.kicad_pcbfiles generated by Ergogen tokicad/ - Run
xdg-open ./v3/kicad/left.kicad_pcb - Route the PCBs in
kicad/, and then save them tokicad/routed/- Once you're happy with the routing, run
npm run copy-pcbs-to-routedto copy the PCBs tokicad/routed/ - If you've generated new PCB files using Ergogen, then you can run
npm run copy-traces-from-routedto copy traces from the PCBs inkicad/routed/back to those of the same name inkicad/. Select File > Revert > Yes to refresh the PCB in Kicad.
- Once you're happy with the routing, run
- Run
npm run copy-pcbs-to-routed && npm run fab-jlcpcbto generate and save gerber and drill files to../dist/v3/kicad/jlcpcb/*.zip - Print the PCBs using JLCPCB (or OSH Park or PCBWay)
- Submit the
../dist/v3/kicad/jlcpcb/*.zipfiles to JLCPCB
- Submit the
- Navigate to File > Board Setup... > Design Rules > Net Classes
- Update the "Default" netclass
- Click the "+" button to add a "VCC" net class
- Configure a pattern to match nets with the text "VCC" to the VCC net class
| Configuration | Description |
|---|---|
| Default | Clearance: 0.20mm, Track width: 0.20mm |
| VCC | Clearance: 0.25mm, Track width: 0.25mm |
Step 5. OnShape
- Model the case using OnShape
- Create a new document
- Start a new sketch
- Select "Insert a DXF or DWG file" > "Import ..." (at the bottom of the dialog) > Select
../dist/v3/ergogen/outlines/full.dxf - Design a keyboard case
- Export
*.stepfiles toonshape/
Step 6. OrcaSlicer
- Print the case using OrcaSlicer
- Open or create an OrcaSlicer project file
- Import
*.stepfiles fromonshape/ - Print the keyboard case
Step 7. QMK Firmware
- Install the custom QMK firmware






