Calibration Calculators
E-step Calculator
Use a measured 100 mm extrusion test to calculate new Marlin E-steps (steps/mm) for extruder calibration, with M92 and M500 guidance.
Quick answer
To calibrate Marlin E-steps, multiply your current steps/mm by the commanded extrusion divided by the actual extrusion. For example, 93 × 100 ÷ 95 ≈ 97.9 steps/mm. Mark the filament, command a slow 100 mm extrusion, measure what really moved, then save the new value with M92 and M500.
Results update below from browser-local calculations.
Breakdown
| New E-steps | 0 |
|---|
How to Use This Calculator
- Heat the hotend to printing temperature, then enter your current E-steps/mm value from M503 or your firmware configuration.
- Command a slow 100 mm extrusion (for example M83 then G1 E100 F100), measure how much filament actually moved, and enter the commanded and measured values.
- Send the new E-steps value with M92 E<value>, then run M500 to save it to EEPROM before printing a calibration test.
Inputs and Assumptions
| Current E-steps | Enter this value in steps/mm. |
|---|---|
| Commanded extrusion | Enter this value in mm. |
| Actual extrusion | Enter this value in mm. |
Marlin E-steps calibration example
If your current E-steps are 93 steps/mm, you command 100 mm, and only 95 mm actually extrudes, the corrected value is about 97.9 steps/mm. Under-extrusion raises E-steps; over-extrusion lowers them.
How to Measure 100 mm of Extrusion
- Heat the hotend to the normal printing temperature for the loaded filament so it extrudes freely.
- Use relative extrusion (M83) and command a slow move such as G1 E100 F100 to avoid skipped steps.
- Mark the filament at a fixed reference, for example 120 mm above the extruder inlet, before extruding.
- After the move, measure the remaining distance and subtract to get the actual extruded length.
The E-steps Formula
New E-steps = current E-steps x commanded extrusion / actual extrusion. The relationship is direct: if the printer extrudes less than commanded, steps per millimeter must increase so the motor turns further for the same request.
This is the inverse of Klipper rotation_distance, where under-extrusion lowers the value. If you are migrating firmware, calibrate the value that matches your firmware instead of copying the other one.
Saving E-steps in Marlin
Apply the value at runtime with M92 E<new value>, then run a short test extrusion to confirm the correction. When you are satisfied, run M500 to store it in EEPROM so it survives a reboot.
If you reflash or reset EEPROM with M502, you will need to send M92 and M500 again or update the value in firmware.
M92 E97.9
M500 What to Calibrate After E-steps
E-steps set the correct amount of filament. Once that is accurate, calibrate flow rate (extrusion multiplier) from a single-wall print, then tune pressure advance or linear advance for sharp corners.
Calibrating flow before E-steps hides the real error, because flow compensation will try to mask an incorrect steps-per-millimeter value.
Formula
New E-steps = current E-steps × commanded extrusion / actual extrusion.
Limits of This Calculator
- This estimates E-steps for Marlin-style firmware. Klipper users should calibrate rotation_distance instead.
- Measurement error, filament slip, and a cold or partly clogged nozzle change the result, so repeat the test after large corrections.
- E-steps fix the volume of filament pushed; they do not replace flow rate or pressure advance tuning.
FAQ
Is this for Marlin firmware?
Yes. Klipper users usually adjust rotation distance instead.
Should I calibrate flow after E-steps?
Often yes. E-steps and flow solve different calibration problems.
How do I measure my actual extrusion?
Heat the hotend, mark the filament at a fixed point above the extruder, command a slow 100 mm move with M83 then G1 E100 F100, and measure how far the filament actually moved. Enter the commanded and measured lengths to get the corrected E-steps.
My new E-steps value changed a lot. Is that normal?
A small correction is normal. A very large change usually means filament slip, a partly clogged nozzle, or a measurement error, so clear the issue and repeat the test before saving the value.
Do E-steps calibration fix stringing or blobs?
No. E-steps only set the correct amount of filament pushed. Stringing and blobs are tuned with retraction, temperature, and pressure or linear advance after extrusion is accurate.