Ramblings of an aging IT geek
← Ramblings of an aging IT geek
hardware

klipper turned my slow printer into a fast one

Moving an ageing 3D printer from stock Marlin to Klipper running on a spare Pi, and watching print speeds roughly double without buying new hardware.

A 3D printer mid-print on a workbench

My printer is not a young machine, and its 8-bit board has been the bottleneck for years. The mainboard simply can't compute the motion fast enough to push the steppers at the speeds the mechanics could actually manage. So it crawls, and I'd made my peace with crawling. Then I tried Klipper, and I'm slightly cross I waited this long.

what Klipper actually changes

The idea is a clean split. The printer's own microcontroller stops doing the hard maths and becomes a dumb, very fast step generator. All the real work, the path planning, the kinematics, the lookahead, moves onto a proper computer, in my case a Raspberry Pi gathering dust in a drawer. The Pi computes exactly when every step pulse should fire and ships a timed schedule to the board, which just executes it.

The result is that the ancient 8-bit board is no longer the limit. The Pi has more than enough headroom, so suddenly the mechanical limits of the machine are what matters again, the way it always should have been.

A Raspberry Pi and printer wiring on a workshop bench

the config is a single file, and that's wonderful

The other thing I didn't expect to love: the entire configuration lives in one printer.cfg text file. No reflashing firmware to change a setting. You edit the file, restart Klipper, done. Want to tweak your acceleration? It's right there:

[printer]
kinematics: cartesian
max_velocity: 300
max_accel: 3000
max_z_velocity: 5

Coming from Marlin, where changing some things meant recompiling and reflashing, this alone felt like a generation's progress. I iterated on settings in an evening that would have taken me a week of flash-test-reflash before.

pressure advance, the bit that surprised me

The feature I didn't know I needed is pressure advance. At speed, molten plastic in the nozzle behaves like it's under pressure, so it oozes a touch after a corner and lags a touch entering one. You get blobs on outer corners and gaps on inner ones. Pressure advance models that pressure and compensates the extrusion ahead of time. Tune one number and the corners go crisp.

[extruder]
pressure_advance: 0.045

what I actually got

Roughly double the print speed on the prints I care about, with no loss of quality once I'd tuned things, and on the exact same hardware I already owned. The only cost was a Pi I wasn't using and an evening of fiddling. I went in expecting a marginal improvement and a lot of yak-shaving. I got a meaningful improvement and rather enjoyed the yak-shaving. If you've an older printer gathering resentment in the corner, this is the upgrade that costs almost nothing and gives back the most.