Fixing My Mechanical Keyboard's Spacebar

Saturday, Aug 29, 2026 | 2 minute read | Updated at Sunday, Aug 30, 2026

@

The spacebar on my mechanical keyboard started acting up, and while trying to repair it I broke the original keycap. So I modeled and 3D printed a new one from scratch.

The keyboard: Krom Kernel TKL

The keyboard is a Krom Kernel TKL. Krom is a Spanish brand (part of Nox / Tacens) that makes affordable gaming peripherals. This model is a tenkeyless board with hot-swappable switches, which is the feature I like most about it: you can pull a switch and drop in a different one without soldering. It has served me well.

In the future I would like to move to something with a lower profile, but for now this one stays.

The problem

While working on it I damaged the original spacebar keycap beyond repair. At that point the only options were to source a replacement 6.25u keycap or make my own, so I made my own.

Measuring the part

I took the key dimensions off the broken keycap and the switch/stabilizer layout with a caliper: overall length, stem spacing, the width and depth of the cross-shaped (Cherry MX) stems, and the stabilizer stem positions.

Modeling and slicing

Print settings on the Bambu Lab A1 mini:

  • Filament: PETG HF
  • Layer height: 0.2 mm
  • Wall loops: 6
  • Sparse infill: 25 %

Enable “Detect thin wall”

This one is important. The stems and the thin internal ribs of the keycap are narrower than two perimeters, so without Detect thin wall enabled (OrcaSlicer → Process → Strength → Walls) the slicer simply skips them and you get a keycap that won’t clip onto the switch. With it enabled, those features get a single-line path and print correctly.

Iterations

It took three prints to get the fit right — mostly tuning the stem tolerances and the overall height.

Result

The final version clips onto the switch and stabilizers and feels solid. It is a printed textured surface rather than a smooth ABS keycap, but it works.

The nice side effect of all this: I now have a parametric model and a working process, so if any other keycap breaks I can just print a replacement.

Files

Ad placeholder — set params.adsense.postAdSlot in hugo.toml once the ad unit is created
Me

hello i am pablopeza

this is my blog

Based in A Coruña, works at Innogando S.L., and has been quietly stockpiling GitHub repos: a one-hand bottle opener, a 3D printer parts library literally named “Pezas_Printer,” sumo robots, line followers, and enough H-bridge motor drivers to open a shop.

Also part of BricoLabs , an A Coruña hackerspace/makerspace where a bunch of CAD, electronics and 3D-printing enthusiasts meet weekly at the Domus.