Flow rate and e-steps calibration, with the formulas

· · 5 min read

Quick answer: calibrate in this order: the extruder first, then the slicer's flow, then shrinkage. For the extruder, mark the filament, extrude a set length slowly and measure what went in. In Marlin, new e-steps = old × requested ÷ actual. In Klipper, new rotation_distance = old × actual ÷ requested. Then print the flow test in OrcaSlicer or Bambu Studio and keep the smoothest top surface.

Why the order matters

Each step builds on the one before. The flow ratio corrects small differences between filaments. If the extruder itself pushes the wrong length, every filament profile carries that error. So fix the extruder once per printer, then tune flow once per filament. Shrinkage comes last, because it depends on the material.

E-steps calibration (Marlin)

  1. Heat the hotend to printing temperature.
  2. Send M503 and note the E value on the M92 line. That is the current e-steps.
  3. Mark the filament 120 mm above the extruder entry.
  4. Send M83, then G1 E100 F100. This extrudes 100 mm slowly, over about a minute.
  5. Measure from the extruder to the mark again. If it reads 20 mm, exactly 100 mm went in.
  6. Set the new value with M92 E…, then save it with M500.
new e-steps = old e-steps × 100 ÷ (120 − mark distance after)

For example, the old value is 93 and the mark ends 23 mm away. Then 97 mm went in, and the new e-steps are 93 × 100 ÷ 97 = 95.88. Run it once more to confirm.

Rotation distance calibration (Klipper)

Klipper sets the extruder with rotation_distance, in millimetres per motor turn. It works the other way round to e-steps: a larger value pushes less filament.

  1. Heat the hotend. Mark the filament about 70 mm from the extruder intake, and measure the distance.
  2. Send G91, then G1 E50 F60. The slow move takes about 50 seconds.
  3. Measure the mark again. The actual length is the first measurement minus the second.
  4. Work out the new value, put it in printer.cfg under [extruder], and restart.
new rotation_distance = old × actual length ÷ 50

For example, the old value is 7.700 and 48.6 mm went in: 7.700 × 48.6 ÷ 50 = 7.484. If the actual length is more than about 2 mm off, run it again after the change.

Converting e-steps to rotation distance

rotation_distance = full steps per rotation × microsteps ÷ steps per mm

A 200-step motor at 16 microsteps with 93 e-steps gives 200 × 16 ÷ 93 = 34.409.

Flow rate calibration in OrcaSlicer

Select the filament you want to tune, then open Calibration ‣ Flow ratio.

Save the filament profile after each change. On a Bambu Lab printer, leave the Flow calibration box unticked when you print the test.

Flow rate calibration in Bambu Studio

Bambu Lab says its defaults suit its printers and filaments. Run this when defects persist after Flow Dynamics calibration, or for third-party filament. Connect the printer, choose the nozzle, plate and filament preset, then start the flow rate calibration.

Pick the block with the smoothest top surface, then save it to a filament preset. Automatic results are less reliable with transparent, sparkle or very shiny filament.

The quick way: measure a wall

Without a slicer test, print a hollow cube with one or two walls and measure the wall with calipers.

new flow = current flow × expected wall ÷ measured wall

For example, 100 % flow, an expected 0.90 mm wall and a measured 0.95 mm: 100 × 0.90 ÷ 0.95 = 94.7 %. Measure in several places and average. The slicer tests above are more reliable, because a wall's width also depends on how its lines overlap.

Volumetric flow: how fast can you print?

flow (mm³/s) = line width × layer height × speed

0.42 mm lines at 0.2 mm layers and 200 mm/s ask the hotend for 16.8 mm³/s. If the filament profile's maximum volumetric speed is 12 mm³/s, the fastest speed is 12 ÷ (0.42 × 0.2), about 143 mm/s. Use your slicer's filament profile value as the limit.

Shrinkage: why prints come out the wrong size

Plastic shrinks slightly as it cools: PLA barely, ABS and ASA more, nylon most. Print a part of a known size, measure it, and scale it in the slicer.

scale % = designed size ÷ measured size × 100

For example, designed 100 mm and measured 99.6 mm: 100 ÷ 99.6 × 100 = 100.4 %. Set each axis separately if they differ. For holes and fits, test in the same material.

Free, in your browser

Type the measurements, get the new value

E-steps, rotation distance, flow from a wall, volumetric flow and shrinkage, side by side.

Open the calibration calculators

Frequently asked questions

What is the formula for e-steps calibration?

New e-steps = old e-steps × requested length ÷ actual length. Ask for 100 mm; if 97 mm goes in at 93 steps per mm, the new value is 95.88. Set it with M92 and save it with M500.

How do I calibrate rotation distance in Klipper?

Mark the filament, extrude 50 mm slowly with G1 E50 F60, and measure what went in. New rotation_distance = old × actual ÷ 50. Put it in printer.cfg under [extruder] and restart.

How do I convert e-steps to rotation distance?

rotation_distance = full steps per rotation × microsteps ÷ steps per mm. A 200-step motor at 16 microsteps with 93 e-steps gives 34.409.

Should I calibrate e-steps or flow rate first?

E-steps, or rotation distance in Klipper, first, once per printer. Then the flow ratio, once per filament. Shrinkage last, per material.

Do Bambu Lab printers need e-steps calibration?

No, there is no e-steps setting to change. Use Bambu Studio's flow rate calibration instead, which Bambu Lab says is mainly needed for third-party or unusual filaments.

How do I do flow rate calibration in OrcaSlicer?

Open Calibration ‣ Flow ratio and print the YOLO test. Pick the block with the smoothest top surface and add its modifier to the current flow ratio. Then save the filament profile.

Sources

  1. Klipper documentation, Rotation distance — the measure-and-trim procedure, the formula, and converting steps per mm. Read 9 Nov 2026.
  2. Marlin documentation, M92 — Set Axis Steps-per-unit — saved with M500. Read 9 Nov 2026.
  3. OrcaSlicer wiki, Flow ratio calibration — YOLO and 2-pass methods and their formulas. Read 9 Nov 2026.
  4. Bambu Lab wiki, Flow rate calibration — automatic, coarse and fine modes. Read 9 Nov 2026.

What changed — November 9, 2026: first published.