How to Calibrate Your Extruder (E-Steps) Step-by-Step

Ever look at a finished print and wonder why the top surface has gaps, or why the walls feel frail and crumbly? You might be suffering from under-extrusion. Conversely, if your nozzle is dragging through blobs of plastic, you’re dealing with over-extrusion.
While many slicer settings can tweak flow, they are just band-aids if your machine’s mechanical baseline is wrong. Your printer needs to know exactly how many steps the motor must turn to push 1 millimeter of filament. This setting is called E-Steps (Extruder Steps per mm).
Because every manufactured gear and motor is slightly different, stock settings are rarely perfect. This guide will walk you through calibrating your extruder to ensure that when you ask for 100mm of plastic, you get exactly 100mm.
This process requires sending direct commands to your printer. You will need:
- A Computer connected to your printer via USB.
- Terminal Software: Pronterface, OctoPrint, or a slicer with a terminal (like Cura or Simplify3D).
- Filament: Loaded into the printer (light colors make marking easier).
- Measurement Tool: A reliable ruler, scale, or digital calipers.
- Permanent Marker: To mark the filament.
Note: Your printer must have EEPROM enabled to save these changes permanently. If you turn your printer off and the settings revert, you may need to flash a new firmware version with EEPROM enabled.
Why Calibration Matters
Your extruder is the heart of the delivery system. If the firmware thinks 400 steps equals 100mm of filament, but mechanically it only pushes 95mm, every single line of your print will be 5% starved of material.
- Too Little (Under-Extrusion): Weak parts, gaps between lines, poor layer adhesion.
- Too Much (Over-Extrusion): Blobs, stringing, poor dimensional accuracy, and nozzle dragging.
Calibrating E-steps sets a perfect "mechanical zero" for your slicer to work with.
Step 1: Mark Your Filament
First, we need to create a physical reference point to measure how much filament actually moves.
- Load filament into your printer.
- Use a ruler or tape measure to measure 110mm from the exact point where the filament enters the extruder (the intake hole).
- Mark this spot clearly with your permanent marker.
We are going to ask the printer to move 100mm. We mark 110mm so that if the printer is perfect, we will have exactly 10mm left sticking out. If we marked exactly 100mm and the printer over-extruded, the mark would disappear inside the extruder, and we couldn't measure the difference.

Step 2: Get Your Current E-Steps
Connect your printer to your computer and open your terminal software (e.g., Pronterface).
- Connect to the printer (ensure the correct COM port and Baud rate, usually 115200 or 250000).
- Type
M503and hit Send. - Look through the output log for a line starting with
M92. It will look something like this:echo: M92 X80.00 Y80.00 Z400.00 E93.00 - Write down the number after the E. In this example, it is 93.00. This is your Current E-Step Value.
Some stock simplified firmware hides the output of M503. If nothing returns, you may need to check your printer's LCD menu under Control > Motion > E-steps/mm to find the current value.
Step 3: The Extrusion Test
Now we need to push plastic.
Most firmware prevents "cold extrusion" to protect the motor. You MUST heat the nozzle before the extruder motor will move.
-
Preheat: Send
M109 S200(for PLA) or use your printer’s preheat menu. Wait for it to reach temperature. -
Set Relative Mode: Send command
M83.
Why? This tells the printer "move 100mm from right here" rather than "move to the 100mm coordinate." If you skip this, the extruder might wind backwards or do nothing. -
Extrude: Send command
G1 E100 F100.Command BreakdownG1: Move Extruder
E100: Extrude 100mm
F100: Feed rate (speed) of 100mm/min. Slow is better for accuracy. - Wait: The gears will turn slowly. Wait for the motion to stop completely.
Step 4: Measure and Calculate
Once the motor stops, measure the distance from the extruder intake to the mark you made in Step 1.
- Ideal Scenario: You measure exactly 10mm. (110mm start - 100mm extruded = 10mm left).
- Real World: You will likely measure something else, like 12mm (under-extrusion) or 8mm (over-extrusion).
The Formula
We need to calculate how much filament was actually extruded, and use that to find the new steps.
-
Calculate Actual Extrusion:
110mm (Start) - [Your Measurement] = Actual Extruded Length
Example: If you measured 12mm left:110 - 12 = 98mmactually extruded. -
Calculate New E-Steps:
(Current E-Steps × 100) / Actual Extruded Length = New E-Steps
Example:
- Current E-Steps: 93
- Requested: 100mm
- Actual: 98mm
(93 × 100) / 98 = 94.90- New E-Step Value: 95
Not a fan of manual math? You can plug your numbers into our simple calculator below.
E-Step Calculator
Step 5: Update Your Printer
Now that you have the magical number, you need to tell the printer.
- In your terminal, type
M92 E[New Value]
Example:M92 E95 -
Critical Step: Type
M500and hit Send.
You should see a message likeSettings Stored. If you forget M500, the printer will forget your calibration as soon as you turn it off!
If your measurements are wildly inconsistent (e.g., one time it extrudes 90mm, the next time 50mm), do not calibrate via software yet. This is a hardware issue. Check your extruder tension arm (is it cracked?), ensure the gear teeth aren't clogged with plastic, and make sure the spring tension is tight enough to grip the filament.
Verify Your Results
It is good practice to repeat the test once with the new values.
- Mark the filament at 110mm again.
- Run the extrusion test again.
- Measure the remaining filament.
- If it is within roughly 9.8mm to 10.2mm, you are calibrated!
- Accuracy is Key: E-steps determine the volume of plastic for the entire print. If this is wrong, every other setting is a guess.
-
Save Your Settings: Always send
M500after making changes, or they will be lost on power cycle. - Hardware First: If the extruder is clicking, grinding, or slipping, fix the hardware before changing E-steps. Software cannot fix a broken tension arm.
- Flow Rate is Different: E-steps calibrate the machine. "Flow Rate" in your slicer is for calibrating the filament (since some plastics flow differently). Calibrate E-steps first, then tune Flow Rate in the slicer.
Do I need to do this for every roll of filament?
No. E-steps are a mechanical calibration of the gears and motor. It should stay the same regardless of filament. Variations between filament rolls (like PLA vs PETG) should be handled by the "Flow Rate" or "Extrusion Multiplier" setting in your slicer, not the firmware E-steps.
Can I calibrate without a computer?
Yes, if your printer's LCD menu allows you to set E-steps. You can do the marking and measuring manually, do the math on your phone, and then enter the new value directly into the printer's menu (usually under Configuration > Advanced > Steps/mm). Don't forget to select "Store Settings" on the LCD afterwards!
Why is my new measurement still inconsistent?
If you get different results every time you measure, your extruder gear is likely slipping, or your nozzle is partially clogged, creating variable back-pressure. Try cleaning the nozzle or increasing the tension on the extruder idler arm.
Should I remove the Bowden tube to do this?
Technically, yes, that is the most accurate method ("free air" calibration) because it removes the variable of nozzle pressure. However, calibrating through the hotend (as described in this guide) is generally "close enough" for most users and much easier to perform. If you want absolute perfection, disconnect the Bowden tube and extrude into the air.
5 comments
While calibrating E-Steps which way is correct? I’ve seen people feed the filament into free air (disconnect bowden tube in many cases) and I have also seen people feed the filament through the hot end to get the E-step value. Which way is the correct way? The free air people say you then calibrate with flow to get correct correct calibration. Thanks for your help.
Nolan
“If you find your measurements are inconsistent, your extruder may be slipping and adjustment might be necessary.” Do you have recommendations for this?
Maybe I dont understand this enough, but why in the world would your E-step value be in the 400s?? I thought it should be around 100, give or take. Can you please explain so I know what I’m doing? Thank you.
Can you cover the printers with dual extruder like Creality CR-X?
How do I set the extruder # for a Creality CR-X Pro?