E-steps calculator: new extruder steps per mm from a 100 mm test

New e-steps are your current value times the length you asked for, divided by the length that actually went in. Enter your 100 mm test result to get the new value and the M92 and M500 commands that save it.

What do you want to do
Current value

Send M503 and read the E number on the M92 line. A printer's stock value only applies if nobody has changed it.

steps/mm
Test extrusion

Heat the nozzle to printing temperature, send M83 then G1 E100 F60, and measure what went in.

mm
mm
mm

New e-steps

–

Extrusion error

–

Actually extruded

–

Marlin commands

–

What is the e-steps formula?

New e-steps equal the current e-steps times the length you asked for, divided by the length that actually went in. Ask for 100 mm at 93 steps/mm, measure 96 mm, and the new value is 93 × 100 / 96 = 96.88 steps/mm. Under-extrusion raises the number. Over-extrusion lowers it.

new e-steps = current e-steps × requested length / actual length
actual length = mark distance before − mark distance after
error = (actual length − requested length) / requested length

Without a test, you can estimate e-steps from the parts. One motor turn is its full steps times the driver’s microsteps. The gears turn the drive gear, and one drive-gear turn pushes π times its effective diameter of filament:

e-steps = full steps per turn × microsteps × gear ratio / (π × effective drive gear diameter)

A 1.8° motor has 200 full steps per turn and a 0.9° motor has 400, according to Klipper’s documentation. Most drivers run 16 microsteps. The gear ratio is driven teeth over motor teeth. Bondtech gives the BMG’s as 50:17, which Klipper’s docs note is often sold as 3:1.

Worked example: a Bondtech BMG from its parts

Voron Design’s configs give Bondtech 5 mm drive gears a rotation distance of 22.68 mm per gear turn. That is an effective diameter of 22.68 / π = 7.22 mm.

  1. Steps per motor turn: 200 × 16 = 3,200.
  2. With the 50:17 gearing: 3,200 × 50 / 17 = 9,412 steps per drive-gear turn.
  3. E-steps: 9,412 / (π × 7.22) = 415 steps/mm, which matches the 415 Bondtech publishes.

Treat a hardware estimate as a starting point. Klipper’s documentation notes that the drive gear’s grip varies between printers and even between spools. Set the estimate, then run the test below.

How do you calculate e-steps?

Read the current value with M503, mark the filament 120 mm above the extruder, and extrude 100 mm slowly. Measure the mark again; the difference is what went in. Multiply the current value by 100, divide by that length, then send M92 E with the result and M500 to save it.

  1. Heat the nozzle to the printing temperature of the loaded filament.
  2. Send M503. Find the line that starts with M92. The number after E is your current e-steps.
  3. Mark the filament 120 mm above the extruder’s intake and measure the distance with calipers.
  4. Send M83, which puts the extruder in relative mode, then G1 E100 F60. F60 is 1 mm/s, so the move takes 100 seconds. Klipper’s guide uses a slow rate because fast extrusion builds pressure and skews the result.
  5. Measure from the intake to the mark again.
  6. Enter both distances. The calculator gives the new value and the commands.
  7. Send M92 E<new value>, then M500. M92 changes the running value. M500 writes it to EEPROM, the board’s settings memory, so it survives a restart.

If the extruded length is more than about 2 mm off, Klipper’s guide says to run the test again. Use the new value as the current one for the second run.

Worked example: an Ender-3 that under-extrudes

These are the calculator’s defaults.

  1. Current value from M503: 93 steps/mm.
  2. Mark before: 120 mm. Mark after: 24 mm. Actually extruded: 120 − 24 = 96 mm.
  3. Error: (96 − 100) / 100 = −4.0%, so the extruder under-extrudes by 4 mm.
  4. New e-steps: 93 × 100 / 96 = 96.88 steps/mm.
  5. Commands: M92 E96.88, then M500.

The 4 mm miss is over 2 mm, so run the test once more at 96.88.

Actually extruded (of 100 mm, at 93) Error New e-steps
90 mm −10.0% 103.33
95 mm −5.0% 97.89
96 mm −4.0% 96.88
98 mm −2.0% 94.9
100 mm 0.0% 93
102 mm +2.0% 91.18
105 mm +5.0% 88.57

You can also measure the extruded length directly instead of using a mark. Pick “The extruded length itself” and type that length.

What should e-steps be on an Ender 3?

93 steps/mm. Creality’s own Marlin firmware for the Ender-3 sets DEFAULT_AXIS_STEPS_PER_UNIT { 80.00, 80.00, 400.00, 93.00 }, and the fourth number is the extruder. Treat 93 as the factory starting point for the stock extruder, not a guarantee. A 100 mm test shows what your machine needs.

The same Creality configuration enables EEPROM_SETTINGS, so M500 saves a new value on the stock firmware. If you have fitted a geared extruder, 93 no longer applies. Use the hardware mode and the maker’s value instead.

Stock values from each printer’s firmware source:

Printer Stock e-steps Firmware source
Creality Ender-3 93 Creality Ender-3 Marlin Configuration.h
Creality Ender-3 Pro 93 Marlin example configuration for the Ender-3 Pro
Creality Ender-3 V2 93 Creality Ender-3 V2 Marlin Configuration.h
Creality Ender-3 S1 424.9 Creality Ender-3 S1 Marlin Configuration.h
Prusa i3 MK3S 280 Prusa-Firmware MK3S.h, with the extruder at 32 microsteps

E-steps for geared extruders

Makers publish e-steps for a 1.8° motor at 16 microsteps. Bondtech notes that the value doubles if you double the microsteps, and also doubles on a 0.9° motor. The calculator applies both rules when you change the motor or driver.

Extruder 1.8° motor, 16 microsteps 1.8° motor, 32 microsteps 0.9° motor, 16 microsteps
Bondtech BMG 415 830 830
LDO Orbiter v2.0 690 1,380 1,380
Sherpa Mini or Voron Clockwork 2 (50:10, Bondtech drive gears) 705.5 1,411 1,411

Bondtech and the Orbiter v2.0 project page publish their figures directly. The 50:10 row is calculated: Annex Engineering gives the Sherpa Mini 50:10 gearing, and Voron Design pairs 50:10 with Bondtech drive gears at 22.68 mm per turn. That gives 3,200 × 5 / 22.68 = 705.5 steps/mm.

E-steps on Klipper

Klipper sets the extruder in its config file as rotation_distance, the millimeters of filament per motor turn: full steps times microsteps, divided by steps per mm. 93 steps/mm at 200 steps and 16 microsteps is a rotation distance of 34.409 mm. Use the rotation distance calculator for the same 100 mm test on Klipper.

E-steps set how much filament the extruder pushes. The slicer’s flow setting then trims how much plastic each line gets, and the flow rate calculator covers that step.

Published · Figures last checked