You slice a 20mm calibration cube, print it, and measure 19.4mm on one axis. Your first instinct is to adjust the X-axis steps/mm. That’s wrong 90% of the time. Mechanical motion axes (X, Y, Z) are determined by belt pitch, pulley tooth count, and leadscrew pitch — hard physical constants that don’t drift. The extruder, however, pushes filament through a soft, deformable medium against varying back-pressure. E-steps are the setting that actually needs calibration, and getting them right fixes under-extrusion at the source.
What E-Steps Actually Control (And What They Don’t)
E-steps (extruder steps per millimeter) tell the firmware how many stepper motor microsteps are required to push exactly 1mm of filament through the extruder. The value is a function of:
– Stepper motor step angle (1.8° = 200 full steps per revolution, 0.9° = 400)
– Microstepping setting (typically 16x, so 200 × 16 = 3200 microsteps per revolution on a 1.8° motor)
– Extruder gear effective diameter (the radius at which the gear teeth bite into the filament)
The first two are constants. The third — the effective diameter — varies slightly between extruder designs due to gear tooth profile, filament hardness, and spring tension. That’s why you calibrate.
E-steps do NOT account for:
– Filament diameter variation (corrected with flow rate/extrusion multiplier)
– Die swell (the filament expanding after leaving the nozzle, corrected with flow rate)
– Material-specific shrinkage (corrected with horizontal expansion or scale factors)
Step 1: Prepare for Calibration
You need:
– Digital calipers (no, a ruler won’t work — you need 0.1mm precision)
– The filament you typically print with (e-steps don’t change between materials, but testing with your primary filament avoids extrusion inconsistency during the measurement)
– A marker or piece of tape
– USB connection or SD card to send G-code commands
Heat the hotend to your typical printing temperature (200°C for PLA, 230°C for PETG). E-steps calibrate the extruder’s mechanical output, but back-pressure from the hotend affects the measurement slightly, so calibrate at printing temperature.
Step 2: The Measurement Procedure
- Load filament normally and ensure it’s flowing smoothly from the nozzle.
- Using calipers, measure 120mm of filament from where it enters the extruder (for a direct drive) or the extruder entry point (for a Bowden setup). Mark the filament with a fine marker at that 120mm point.
- Send the G-code command to extrude 100mm:
G91 ; Relative positioning
G1 E100 F100 ; Extrude 100mm at 100mm/min
The slow feed rate (F100 = 100mm/min = 1.67mm/s) is deliberate — fast extrusion can cause the extruder gear to slip slightly and give a falsely high under-extrusion reading. - When the extrusion finishes, measure the remaining distance from the extruder entry to your 120mm mark. If the extruder pushed exactly 100mm, the remaining distance is 20mm.
- If the remaining distance is something other than 20mm (say, 24mm), the extruder only pushed 96mm instead of 100mm. The actual extrusion = 120 − remaining.
Step 3: Calculate and Apply the New E-Steps
The formula:
New E-steps = Current E-steps × 100 ÷ Actual Extruded Length
Example: Current E-steps = 93.0, actual extruded = 96mm (120 − 24 remaining):
New E-steps = 93.0 × 100 ÷ 96 = 96.875
Apply via the printer’s control interface or by sending:
M92 E96.875 ; Set new E-steps
M500 ; Save to EEPROM
Always save to EEPROM. If you power cycle without saving, the calibration is lost.
Step 4: Verify with a Second Measurement
Run the test again with the new E-steps value. The remaining distance should be 20mm ± 0.5mm. If it’s still off by more than 1mm, re-measure. A properly calibrated extruder should repeatedly hit 100mm ± 0.5mm on the first measurement after calibration.
Step 5: Flow Rate Tuning (The Follow-Up Step Most Guides Skip)
E-steps ensure the extruder pushes the correct amount of filament. Flow rate (extrusion multiplier in PrusaSlicer, Flow in Cura) accounts for everything that happens after the filament melts — die swell, viscosity differences between filaments, and the gap between the theoretical and actual extrusion width.
Print a single-wall cube or a vase-mode cube (spiralize outer contour enabled). Measure the wall thickness at 4-8 points around the perimeter. If you sliced for a 0.4mm wall and measure 0.44mm, your flow rate is ~10% high:
New Flow Rate = Current Flow Rate × (Expected Wall Width ÷ Measured Wall Width)
New Flow Rate = 100% × (0.40 ÷ 0.44) = 90.9%
Apply in your slicer, not in firmware. Flow rate is filament-specific and belongs in the filament profile, not in the printer’s EEPROM.
E-Step vs Flow Rate: When to Adjust Which
| Problem | Adjust This | Where |
|---|---|---|
| All prints consistently under/over-extruded regardless of filament | E-steps | Firmware (M92 + M500) |
| One specific filament under/over-extruded while others are fine | Flow Rate | Slicer filament profile |
| Dimensional inaccuracy (20mm cube measures 19.8mm) | Flow Rate then Horizontal Expansion | Slicer |
| Top/bottom surfaces have gaps between lines | Flow Rate (increase) | Slicer |
| Top/bottom surfaces have ridges/overlap | Flow Rate (decrease) | Slicer |
| First layer too thin/thick but rest of print is fine | Z-offset, not e-steps or flow | Firmware or slicer start G-code |
Common Mistakes & What Most Makers Get Wrong
Mistake 1: Calibrating e-steps with the Bowden tube disconnected (free-air extrusion). Free-air calibration gives a reading that’s 3-5% higher than the actual extrusion against hotend back-pressure. Calibrate through the hotend at printing temperature. The back-pressure reduces the extruder’s effective output slightly, and you want your calibration to account for that.
Mistake 2: Applying flow rate adjustments to firmware e-steps instead of the slicer. If you increase firmware e-steps to compensate for one filament’s under-extrusion, every other filament is now over-extruding. E-steps are a machine constant. Flow rate is a filament variable. Keep them separate.
Mistake 3: Measuring the filament mark with calipers against a rough surface. The extruder entry point on many printers is a chamfered hole in plastic or metal. The exact point of entry isn’t a clean edge — measure from the top surface of the extruder body or the top of the PTFE fitting to your mark. Use the same reference point before and after extrusion. A 0.5mm measurement error translates to a 0.5% e-step error.
Mistake 4: Running the extrusion too fast during calibration. At F100 (100mm/min), most direct drive extruders track accurately. At F300 or higher, the extruder motor may skip microsteps, particularly if you’re using a pancake stepper with low torque. The false under-extrusion reading leads to e-steps that are too high, which causes over-extrusion when printing at normal speeds.
Mistake 5: Assuming e-step calibration fixes all dimensional problems. If your X and Y dimensions are off by the same percentage, it’s flow rate, not e-steps. If only one axis is off, check belt tension and V-roller play — e-steps don’t cause axis-selective dimensional errors. If your 20mm cube measures 19.9mm in X but 20.0mm in Y, you have a mechanical issue, not a calibration issue.
⚠️ Safety Notice: E-step calibration involves sending G-code commands that move the extruder. The hotend must be at printing temperature during calibration — extruding through a cold hotend will strip the filament and potentially damage the extruder gear or stepper driver. Always heat the hotend first and ensure the nozzle is clear before extruding the test length.
E-step calibration fixes the extruder’s mechanical accuracy. The next step is dialing in the flow rate per filament, which depends on how the rest of your printer is set up — our 3D printer over-extrusion and flow rate guide covers wall thickness measurement and the extrusion multiplier math. If your printer uses Klipper firmware, the rotation_distance parameter serves the same purpose as e-steps; our Klipper vs Marlin comparison explains the differences in calibration workflow.
For printers that benefit most from precise e-step calibration — especially direct drive setups printing flexible filaments for drone parts — the E3D Hemera direct drive extruder has dual-drive gears that grip filament evenly on both sides, eliminating the slight gear slippage that makes single-gear extruders drift in calibration over time. If you’re printing TPU antenna mounts or camera cages where dimensional accuracy matters for fit, dual-drive grip is worth the upgrade.
