Two different calibrations that get confused with each other
There are two separate corrections in an extrusion system and they are routinely done in the wrong order or done twice.
The first asks whether the extruder moves the filament the distance it was told to. It is a mechanical question about steps, gear ratios and grip, it is measured with a caliper on a length of filament, and it should be the same for every material you print. In Marlin-derived firmware the value is steps per millimetre; in Klipper it is rotation distance, which is the millimetres of filament per revolution of the drive.
The second asks whether the amount of plastic arriving at the part matches what the slicer intended. It depends on filament diameter, on how much the bead spreads, on melt behaviour, and it changes between materials and even between spools. It is the flow percentage, sometimes called extrusion multiplier, and it is measured on a printed wall rather than on filament.
Do them in that order. If the extruder is under-delivering by four percent and you correct that with flow, the number works for one material and is wrong for the next, and the mechanical fault is still there.
The arithmetic
Steps per millimetre scales inversely with delivered length. If you commanded 100 mm and got 95, you need more steps to cover the same distance, so new steps per mm = old value times commanded divided by actual. From 93, that is 93 times 100 over 95, which is 97.89.
Rotation distance is the mirror image, because it is a distance rather than a step count. If the extruder delivered 95 mm where it thought it was delivering 100, the true distance per revolution is smaller, so new rotation distance = old value times actual divided by commanded. This inversion catches people who move between firmwares and apply the formula they know.
Flow uses the printed result: new flow percent = old flow percent times nominal wall divided by measured wall. At 100 percent flow with a two-wall test slicing to 0.84 mm nominal, a measured 0.90 mm gives 100 times 0.84 over 0.90, which is 93.3 percent.
Running the extrusion test without fooling yourself
The standard test is to mark the filament a known distance above the extruder inlet, command a fixed extrusion, and measure how far the mark travelled. The reason it is done with a mark rather than by measuring the extruded strand is that the strand swells, curls and stretches as it comes out, and a caliper on it measures something other than what went in.
Several things quietly corrupt this test. Extruding at a high feedrate makes the drive gear slip against the filament and reads as under-delivery. A partly blocked nozzle raises back pressure until the gear skips, with the same result. The hotend must be at printing temperature, because cold extrusion is refused or forced. Any drag in the filament path — a tight spool, a sharp bend in a Bowden tube, a desiccant box that grips — pulls the reading down. And measuring a marked point with a ruler rather than a caliper introduces an error comparable in size to the answer.
Filament diameter tolerance is the floor on how good this test can be. A spool held to plus or minus 0.02 mm on a 1.75 mm nominal varies by more than 2 percent in cross-sectional area. That variation moves the amount of plastic delivered per millimetre of filament, so any correction under about one percent is measuring the spool, not the extruder.
Reading the size of the correction
| Correction size | What it usually is | What to do |
|---|---|---|
| Under 1% | Measurement noise, filament tolerance | Leave it alone |
| 1 - 5% | Genuine calibration drift, a real correction | Apply it and save to firmware |
| 5 - 10% | Worn drive gear, grip pressure too low, wrong gear ratio entered | Apply it, then investigate anyway |
| Over 10% | Mechanical fault or a wrong firmware constant | Find the fault. Do not correct around it. |
The last row is the important one. Extruders do not drift by fifteen percent. If the number says they did, something is slipping, clogged or misconfigured, and writing a new steps-per-mm value will hide the symptom until the fault gets worse. Dual-gear extruders in particular can grip well enough to pass a slow test and slip badly under real printing pressure, so a test that comes out clean at 2 mm/s does not guarantee a clean print at 15.
Once the extruder is honest, the flow number that remains is a property of the filament and the geometry, and a two or three percent flow trim per material is completely normal. What is not normal is needing a different flow number every time you load a spool of the same product; that points back upstream. When the numbers are settled, check the dimensional side with the shrinkage compensation calculator, since a correctly calibrated printer can still produce undersized holes.
Questions people ask
Should I calibrate e-steps or just adjust flow?
Calibrate the extruder first, then use flow for the remainder. They are not interchangeable. Steps per millimetre is a property of your hardware — the gear ratio, the stepper, the microstepping — and it is the same whatever you print. Flow is a property of the filament and the geometry and legitimately differs between materials. If you fold a mechanical error into a flow number, you get one material that prints correctly and every other one wrong by the same amount, and you will chase that around your profiles for months. The order costs you one extra ten-minute test, once.
Why did my measured extrusion come out short even though nothing is wrong?
Most often because the test was run too fast. At high feedrates the drive gear cannot maintain grip against melt-zone back pressure and slips, which measures as under-delivery that does not exist at printing speeds. Run the test at two to five millimetres per second. The other frequent causes are a nozzle that is partly blocked, a spool that is binding, or excessive drag in a long Bowden path. Fix the drag before you trust the number, because the calibration will encode it.
What nominal wall thickness should I use for flow calibration?
Whatever your slicer actually planned, which is the wall count multiplied by the wall line width — not the nozzle diameter. Two walls at a 0.42 mm line width is 0.84 mm nominal. Many calibration cubes are designed to print with a specific wall configuration and the instructions state the intended thickness; use that. A single-wall vase-mode cube is the more sensitive test because there is only one bead to measure and no ambiguity about how many perimeters merged, but it is also more sensitive to the first-layer squish, so measure well above the base.
How do I convert between steps per mm and rotation distance?
Rotation distance equals full steps per revolution times microsteps, divided by steps per millimetre. For a common 200-step motor at 16 microsteps, that is 3200 divided by the steps-per-mm value. At 93 steps per mm the rotation distance is 34.41 mm. The relationship is inverse, which is why the correction formulas point in opposite directions: when the extruder under-delivers you need more steps per millimetre and less rotation distance. This calculator handles each mode with its own formula, so pick the one matching your firmware rather than converting by hand.
How often should I recheck this?
After anything that changes the extruder mechanically: a new extruder or hotend, a new drive gear, a change to grip tension, or a firmware update that might have reset a constant. Otherwise there is no schedule, because there is nothing in a healthy extruder that drifts on its own. If your prints start showing signs of flow error — gaps between top surface lines, walls measuring wrong, or the opposite, blobbing and rough tops — check it then. A calibration that has to be redone monthly is not calibration, it is a fault being repeatedly compensated for.