3d Calcs
CONFIG:
130 W
$0.15/kWh
$20.00/kg spool
Calibration & Motion MODULEMARLIN

Extruder E-Steps Calibration Calculator (Marlin)

Calibrate your Marlin extruder stepper motor steps/mm with exact M92 E and M500 commands to eliminate under-extrusion and over-extrusion.

Find with M503 in terminal
steps/mm
Presets:
mm (120)
mm (100)
mm
RESULTS & BREAKDOWNUnder-Extruding
Calculated New E-Steps
96.88steps/mm
Actual Extruded Distance: 96.00 mm (-4.0%)
1. Set New E-Steps in RAM (M92)
M92 E96.88
2. Save Permanently to EEPROM (M500)
M500
Next step: Send M500 to store values across power cycles.
01 / PROTOCOL

Measurement & Operating Instructions

STEP 01

1. Mark Filament

Measure and mark 120mm from your extruder intake with calipers.

STEP 02

2. Command Extrusion

Preheat nozzle and command 100mm extrusion via printer screen or OctoPrint.

STEP 03

3. Measure Remaining

Measure distance from mark to intake. If 20mm remains, exactly 100mm was extruded.

02 / MATHEMATICS

Extruder Steps Calibration (Marlin Firmware)

Calibrating extruder E-steps ensures that when your slicer requests 100mm of filament, the feeder motor pushes exactly 100mm.

New E-Steps = (Current E-Steps × Requested Extrusion Distance) / Actual Extruded Distance
Real-World Worked Benchmark:

Current E-steps = 93.0. You mark 120mm on your filament, command a 100mm extrusion, and measure 25mm left to the extruder (meaning 95mm was pushed instead of 100mm). New E-Steps = (93.0 × 100) / 95 = 97.89 steps/mm.

HARDWARE CALIBRATION & FIRMWARE GUIDE•8 min read

How to Calibrate Extruder E-Steps: The Definitive 100mm Marlin Guide

Stop chasing mystery under-extrusion and dimensional inaccuracies. Calibrate your extruder motor steps per millimeter with mathematical precision using standard G-code commands.

1. What E-Steps Actually Means (And Why Defaults Lie)

Extruder Steps per Millimeter—universally abbreviated as E-steps—is the fundamental mechanical constant stored in your 3D printer's firmware (such as Marlin, RepRapFirmware, or Klipper) that dictates how many discrete motor micro-steps are required to push exactly one millimeter of raw filament through the extruder drive gear.

Most entry-level Cartesian printers (such as the Creality Ender 3 series) ship from the factory pre-configured with a nominal value of roughly 93 steps/mm. This number is calculated purely on paper assuming a generic brass drive gear with a theoretical effective pitch diameter of ~10.8mm driven by a 1.8° stepper motor (200 full steps per revolution) running at 1/16 microstepping. In practice, physical reality intervenes: drive gear teeth bite into filament at varying depths, gear tooth machining tolerances vary by fractions of a millimeter, and spring tension alters the effective driving circumference. If your E-steps are uncalibrated, your printer is fundamentally guessing how much plastic enters the hotend, rendering all subsequent slicer tuning futile.

💡THE FIRST RULE OF EXTRUSION

Never calibrate E-steps to fix visual over-extrusion or under-extrusion on a finished printed model. E-steps is a purely mechanical measurement of filament transit through the extruder gear, completely independent of nozzle diameter, hotend temperature, or filament type.

2. The Step-by-Step 100mm Calibration Procedure

Calibrating E-steps requires nothing more than a pair of digital vernier calipers, a fine-tip permanent marker or metallic pen, and an interactive G-code terminal (via OctoPrint, Pronterface, or our built-in Web Serial controller).

Follow this rigorous procedure to eliminate measurement error:

1. Prepare the Filament Path: Straighten a section of rigid filament (PLA works best because it resists buckling under drive gear pressure) and feed it into the extruder until it begins entering the PTFE Bowden tube or hotend throat. 2. Mark 120mm from Extruder Entry: Place the jaws of your digital calipers firmly against the extruder intake flange (or runout sensor exit) and make a crisp, distinct line exactly 120.0 mm along the filament away from the extruder. 3. Heat the Hotend (Bypass Cold Extrusion): Marlin firmware includes a safety interlock (`prevent_cold_extrude`, typically set at 170°C). Heat your hotend to your standard filament printing temperature (e.g., 205°C for PLA) to melt plastic freely, or disconnect the Bowden tube from the extruder output to measure free-air feed with zero backpressure. 4. Execute Extrusion via G-Code: Set relative positioning and command 100mm of slow extrusion: `M83` (set extruder to relative mode) `G1 E100 F100` (extrude 100mm at 100 mm/min, or ~1.67 mm/sec) 5. Measure Remaining Filament: Once the motor comes to a complete halt, measure the distance from the extruder intake face to your mark. If exactly 100mm was pulled, the remaining distance will be exactly 20.0 mm. If the remaining distance is 27.0 mm, your extruder only fed 93.0 mm (120 - 27).

The E-Steps Ratio Formula

  • ✓Actual Extruded (mm) = 120 - Remaining Distance to Mark
  • ✓Formula: New E-Steps = Current E-Steps × (100 / Actual Extruded mm)
  • ✓Worked Example: If Current E-Steps = 93.0 and Actual Extruded = 94.2mm, New E-Steps = 93.0 × (100 / 94.2) = 98.73 steps/mm.

3. Direct Firmware Commands: Query, Set, and Save to EEPROM

Once you have calculated your corrected steps per millimeter, committing the value directly to the 3D printer's motherboard EEPROM takes three straightforward serial commands in your terminal:

1. Query Current Settings (`M503`): Send `M503` in your terminal to report active firmware parameters. Look for the line starting with `echo: M92 X... Y... Z... E...`. The number following `E` is your active E-steps value (e.g., `E93.00`).

2. Set New Steps Per Millimeter (`M92`): Input your freshly calculated value using `M92 E[value]`. For example: `M92 E98.73`. The controller updates its volatile memory immediately.

3. Permanently Save to EEPROM (`M500`): Crucial step: if you reboot or power-cycle the printer without saving, the firmware will discard your adjustment. Send `M500`. The printer will respond with `echo:Settings Stored (EEPROM)`. Verify by sending `M501` (reload from EEPROM) followed by `M503` to confirm your new E-steps persist across reboots.

💡SD-CARD EEPROM EMULATION WARNING

Many budget 32-bit Creality boards (e.g., Ender 3 v2 with 4.2.2/4.2.7 boards) do not have genuine onboard EEPROM chips; they emulate EEPROM by writing an 'EEPROM.DAT' file to your microSD card. Always leave an SD card inserted when issuing M500, or your settings may vanish upon restarting.

4. Bowden vs Direct Drive vs Geared Dual-Drive Extruders

Different extruder architectures demand vastly divergent E-step ranges due to physical gear reduction ratios and drive wheel diameters:

- Standard Single-Gear Bowden (Ender 3, CR-10): Uses a single drive gear pressed onto an un-geared NEMA 17 motor shaft pushing against an idler bearing. Typical range: 93 to 105 steps/mm. Highly susceptible to filament slipping when nozzle backpressure increases. - Geared Dual-Drive Extruders (Bondtech BMG, Titan, Voron Clockwork 2, Orbiter): Features a mechanical reduction gear ratio (typically 3:1 to 3.5:1 on BMG, 5:1 on Sherpa Mini, and 7.5:1 on Orbiter v2) with opposing hobbed gears that grip both sides of the filament. Because of the gear reduction, the stepper motor must rotate multiple times per millimeter extruded, yielding typical E-steps around 415 to 425 steps/mm (BMG) or 690 steps/mm (Orbiter v2). - Direct Drive Pancake Steppers: Modern lightweight direct-drive toolheads use high-torque pancake stepper motors paired with fine gear teeth. They eliminate Bowden hysteresis and flexible filament buckling, but require precise current (`run_current`) and E-step tuning to prevent motor overheating.

Typical Baseline E-Steps by Extruder Type (1/16 Microstepping)

  • ✓Creality Stock Single-Gear (1.8° motor): ~93.0 steps/mm
  • ✓Creality Dual-Gear Upgrade: ~139.0 to 145.0 steps/mm
  • ✓E3D Titan (3:1 Reduction): ~418.5 steps/mm
  • ✓Bondtech BMG / Clone (3:1 Dual-Drive): ~415.0 steps/mm
  • ✓Voron Clockwork 2 (50:10 gear ratio): ~450.0 steps/mm
  • ✓LDO Orbiter v2.0 (7.5:1 gear ratio): ~690.0 steps/mm
  • ✓Micro-Swiss Dual Gear Direct Drive: ~130.0 steps/mm

5. E-Steps vs Slicer Flow Rate: The Critical Distinction

A common pitfall among 3D printer operators is conflating E-steps with Slicer Flow Rate (known as Extrusion Multiplier in PrusaSlicer/OrcaSlicer/SuperSlicer).

Here is how professional print technicians maintain separation of concerns:

- E-Steps is a Hardware Physical Constant: It represents the exact mechanical circumference and tooth mesh of the extruder drive gear. Once calibrated accurately for your extruder assembly, E-steps should NEVER change unless you physically replace the stepper motor, alter microstepping jumpers, swap drive gears, or alter gear reduction ratios. - Flow Rate is a Polymer Rheology Adjustment: Different materials (and even different colors of the same polymer) exhibit unique physical properties. Flexible TPU compresses under drive gear teeth, reducing effective diameter; brittle PLA does not compress; and foaming filaments (LW-PLA) expand inside the melt zone. Slicer Flow Rate accounts for these polymer-specific variations on a per-filament-profile basis without touching the hardware calibration.

💡THE TWO-STAGE TUNING WORKFLOW

Calibrate your E-steps ONCE with the Bowden tube detached or with standard rigid PLA. Afterward, dial in individual spools using a 2-wall calibration cube or OrcaSlicer flow rate pass. Mixing the two calibration layers causes endless diagnostic headaches.

Frequently Asked Questions

What is the default E-steps value for Creality Ender 3?
Stock Creality Ender 3 printers with single-gear brass extruders use 93.0 steps/mm. If upgraded to a dual-gear extruder (like a BMG clone or Sprite), the value typically jumps to ~415 to 425 steps/mm.
Should I calibrate E-steps with or without the nozzle attached?
For pure mechanical calibration, extrude without the hotend or through a detached Bowden tube to eliminate backpressure and temperature variables. Once mechanical steps are locked in, calibrate flow rate with the nozzle installed.
How do I save calibrated E-steps to printer EEPROM?
Send the command M92 E[new_steps] followed by M500 to commit the values to persistent EEPROM storage. Verify the saved value by sending M503.
Why is my printer under-extruding even after E-steps calibration?
Common culprits include partial nozzle clogs, loose extruder idler tension, worn drive gear teeth, cracked plastic tensioner arms (common on Ender 3), or hotend temperature set too low for the print speed.
Do I need to recalibrate E-steps when changing filament types?
No. E-steps measures the mechanical rotation of your extruder gear to feed 100mm of raw filament. Filament-specific variances (hardness, grip bite, thermal expansion) should be compensated using Slicer Flow Rate / Extrusion Multiplier, not E-steps.
CALCULATOR SUITE

Related Calculators

View all 22 tools →→