#3d-printing #keyboards #keycaps #ergonomics
[Overview](#overview) · [Resources](#resources) · [Design](#design) · [TODO](#todo) · [References](#references)
## Overview
Survey of open source, 3D-printable ergonomic keycap projects on GitHub, starting from [KLP Lamé](https://github.com/braindefender/KLP-Lame-Keycaps) (braindefender, 2.2k ★) — sculpted and curved caps for Kailh Choc and MX switches, CC-BY-SA-4.0, Fusion 360 sources plus STEP/STL and pre-combined "Production" bundles for JLC3DP/PCBWay.
Two distinct categories emerged:
- **Fixed model sets** — download STL/STEP, print or send out. KLP Lamé, CLP, printable-keycaps, KEA.
- **Parametric generators** — OpenSCAD libraries that emit caps to spec. KeyV2, PseudoMakeMeKeyCapProfiles.
Lineage worth noting: Pseudoku's DES / Chicago Stenographer profiles inspired KLP Lamé, which in turn inspired CLP. Same design language propagating through three repos.
## Resources
| Repo | Stars | Switch / Stem | Source Format | Notes |
| --- | --- | --- | --- | --- |
| [braindefender/KLP-Lame-Keycaps](https://github.com/braindefender/KLP-Lame-Keycaps) | 2.2k | Choc + MX (mix & match stem/size) | Fusion 360, STEP, STL | Baseline. 7 × 1U variants, 5 × 1.5U. 90° rotated Choc stem variants. SLA recommended, FDM viable since v1.1 |
| [vvhg1/clp-keycaps](https://github.com/vvhg1/clp-keycaps) | 518 | MX | Fusion 360, STL | 19 models — saddle, dished, homing, 7°/14° tilted, slanted, double-slanted, thumb, 1.5U. GPL-3.0 |
| [pseudoku/PseudoMakeMeKeyCapProfiles](https://github.com/pseudoku/PseudoMakeMeKeyCapProfiles) | — | MX + Choc | OpenSCAD + Makefile | DES (Distorted Ellipsoidal Saddle), Chicago Stenographer, Philadelphia Minimalist. `make clean all` batch-generates all rows |
| [pink10000/printable-keycaps](https://github.com/pink10000/printable-keycaps) | — | Choc V1 + MX | STEP, OBJ | Tolerances validated on SLS and MJF. Sprued sets to clear per-part minimums |
| [klouderone/KEA-choc-keycaps](https://github.com/klouderone/KEA-choc-keycaps) | — | Choc V1 | — | Purpose-built for FDM: backside top/bottom chamfers remove overhangs, prints standing up |
| [rsheldiii/KeyV2](https://github.com/rsheldiii/KeyV2) | 1.7k | MX (+ Choc via LPxMX) | OpenSCAD | Full parametric keyset library — standard profiles, legends, arbitrary stems. GPL-3.0 |
| [namnlos-io/choc_keycaps](https://github.com/namnlos-io/choc_keycaps) | — | Choc | STL | Curated archive of publicly available Choc caps, licenses attached per collection |
| [wolfwood/printed-keycap-mods](https://github.com/wolfwood/printed-keycap-mods) | — | MX + Choc | OpenSCAD | Cuts trackpoint clearance notches into existing caps. Built on KeyV2's LPxMX profile |
## Design
Print method notes gathered from the repo READMEs:
**Outsourced (SLA / SLS / MJF)**
- All the fixed-model repos ship pre-combined assemblies specifically because JLC/PCBWay charge a minimum price *per model* — combining is a cost strategy, not a convenience.
- pink10000 reports `.obj` yields higher fidelity than `.stp` at JLC, since JLC's STEP→mesh conversion is lossy.
- Expect the automated file checker to flag 0.8 mm walls. Reported as a false positive with no effect on print quality.
- JLC SLS Nylon confirmed working for CLP; MJF untested there but confirmed on printable-keycaps.
**In-house FDM**
- Print orientation is the whole game. Position vertically (45–80°) so layer lines run along the finger contact surface rather than across it. 70° is the reported sweet spot; 80° gives better surface but rougher overhangs.
- 0.2 mm nozzle strongly preferred over 0.4 mm — better stem dimensional accuracy and surface feel. 0.4 mm requires trimming the stem interior.
- Mark the stem interior as no-supports in the slicer. Support the top edge so the underside doesn't sag into the switch.
- Print in batches for adequate layer cooling; single caps need cooling boosted.
- Plain PLA reported to give the best finish — matte reads rough, silk reads slippery.
- ==Resin via [[Elegoo Saturn 4 Ultra]] is the likely path here — worth a test batch of KLP Lamé Saddle Tilted before committing to a full set.==
## TODO
- ==Decide: buy a set from JLC3DP vs. print in-house on resin. Cost crossover point unknown at ~36–42 cap quantity.==
- ==Determine which stem/size combination applies — depends on which board this is for. Not yet decided.==
- ==Verify current star counts for the repos left blank in the Resources table.==
- Test print: KLP Lamé Saddle Tilted, single cap, resin, before ordering anything
- Evaluate whether KeyV2 is worth learning for custom thumb cluster caps vs. just remixing the STEP files in Fusion
## References
- KLP Lamé license is CC-BY-SA-4.0 — commercial production and sale permitted with attribution to braindefender
- CLP and KeyV2 are both GPL-3.0
- Boards referenced in the KLP Lamé README as known-good pairings: Corne-like 36-key, [Cantor Remix](https://github.com/nilokr/cantor-remix), and the author's own [Lapka](https://github.com/braindefender/lapka)
- Recommended 36-key allocation from the KLP Lamé author: 20 × Saddle Tilted (top/bottom rows) + 16 × Saddle (home row + thumbs)
## Build Log
### 2026-08-19
Initial research pass. Collected the eight repos above, traced the DES → KLP Lamé → CLP design lineage, and pulled print-method guidance out of the READMEs. No hardware decisions made yet.