Extruder calibration is essential for producing consistent, high-quality prints. The first step to calibrating your extruder is ensuring the proper filament extrusion by calibrating your e-step steps.
This guide will help you better understand motor steps and how to calibrate e-steps on your 3d printer to get repeatable, highly accurate prints.
What Are E-Steps
E-steps are short for extruder steps. E-steps are the number of steps the extruder stepper motor needs to extrude 1mm of filament.
Calibrating your E-step value ensures that the right amount of filament is fed into the hotend to ensure your 3D printer extrudes the correct amount of filament.
The stepper motors in your printer divide motor rotation into individual “steps.” By dividing the rotation into steps, your 3D printer’s mainboard can better understand and control the movement of the printer.
If the extruder doesn’t supply enough filament, you’ll have under-extrusion issues that can produce print defects like layer separation, warping, and gaps between layers. Too much filament and your printer will have over-extrusion issues like stringing, zits, and blobs.
The value of the E-steps is preset by the manufacturer in the printer’s firmware. However, minor differences in machine components, filaments, and assembly can reduce the E-steps’ accuracy.
Calibrating the E-steps on a new 3D printer ensures the correct amount of filament is supplied to the hotend, resulting in higher print quality and more consistent output.
How to Calibrate E-Steps
Required Materials
- Measuring tool (preferably a digital vernier caliper or a ruler that can measure in millimeters)
- Calculator
- Side Cutters
- Felt tipped pen
- Non-flexible filament (PLA, ABS, and PETG work fine)
Prepare Your Printer
Some 3D printers provide an option to extrude filament from the settings menu. Most 3D printers with Marlin firmware allow you to extrude filament from the printer’s menu. If your printer has this functionality, you can skip the steps below and move on to E-step calibration.
Otherwise, follow the steps below to prepare your printer:
- Connect your computer to your printer using a USB cable or WiFi if you have a WiFi-enabled printer.
- Open your slicing software. We recommend Simplify3D because it allows us to send G-code directly to the printer.
- Set the printer to relative mode using the “M83” command.
E-Step Calibration
- Load non-flexible filament into your 3D printer (e.x. PLA, ABS, or PETG).
- Preheat the nozzle to the normal printing temperature.
- Using your calipers, measure a 120mm filament segment from where it enters the extruder and mark the point using the sharpie.
- Extrude 100mm of filament through the printer. If your printer uses Marlin Firmware, click “Prepare > Extrude > Move 10mm.” Use the knob to set the extrusion to 100mm. If your slicing software has an extrude tool, you can use it to extrude 100mm. Otherwise, send the G-code command “G1 E100 F100” to the printer.
- Once the printer is done extruding, measure how much filament you have left.
- If your printer is calibrated correctly, you should have 20mm remaining to the mark you made earlier. If you have precisely 20mm of filament left, you can move on to calibrating your extrusion flow rate.
- If you have more than 20mm remaining, your printer has a problem with under-extrusion.
- If you have less than 20mm of filament left, your printer has an over-extrusion problem.
- Locate the previous E-step settings from your 3D printer. To find it on the Ender 3, go to “Control > Motion > E-steps/mm.” If you can’t access the e-step value, connect your computer to the printer using a USB or WiFi connection. Using your favorite slicer software, send an M503 code to your printer. Find the line with the code “echo: M92.” You’ll find the current e-step value at the end of the line.
- Now we need to do some calculations to determine the new E-value.
- 120 – [remaining filament from the extruder to your sharpie mark] = [length of extruded filament]
- [E-value found in step 10] x 100 = [steps taken]
- [steps taken] / [length of extruded filament] = [the accurate E-value]
- Set the E-steps value to the number you calculated in step 11.
Congratulations! You’ve now calibrated your extruder e-steps.
Direct Drive Extruder Calibration
The principle will remain the same when using a Direct Drive Extruder, but the steps change slightly because you don’t have a Bowden tube.
- Begin by heating your nozzle and hotend to the regular printing temperature.
- Feed the filament into the hotend of your printer.
- Starting from the extruder bracket, measure 120mm and mark it with a felt-tipped pen.
- Extrude 100mm of filament.
- Measure the filament from the extruder bracket to the marking you made in Step 3, and record the value as your (Remaining Filament).
- Navigate to the e-steps section of your printer’s menu. You’ll find it on printers with Marilin firmware at Home > Control > Motion > steps/mm. Record the value next to the axis you are trying to calibrate as the (Original Steps/mm)
- Plug your variables into the following formulas to obtain your new steps/mm value.
- (120) – (Remaining Filament) = Actual Filament Length
- (Original steps/mm) X 100mm = (Steps Taken)
- (Steps Taken) / (Actual Filament Length) = (New Step/mm Value)
- Now that you have obtained your (New Step/mm Value), go back through your menu and change the original E-step value to the one you calculated in Step 7.
X, Y, Z Step Calibration
3D printers also use stepper motors to control movement along the X, Y, and Z axis. While calibrating your E-steps, it’s a good idea to calibrate the stepper motors that control the X, Y, and Z axis to ensure your prints have the correct dimensional accuracy.
If your axis stepper motors are not calibrated correctly, you may notice one axis being compressed or elongated, resulting in a loss of dimensional accuracy.
It’s a similar process to calibrate these motors; however, instead of measuring the extruded filament, you’ll use a test print for measurement and calibration.
We recommend using the 20mmx20mm calibration cube on Thingiverse because it’s quick to print, accurate, and doesn’t use much material. Additionally, the axis is labeled on the cube making it easier to calibrate the X, Y, and Z axis simultaneously.
Follow the steps below to calibrate your axis steps accurately.
- Print the 20mmx20mm cube
- Use a ruler or the digital Vernier Calipers to measure the axes you are calibrating. This value will be your (Actual Axis Length).
- Navigate to the e-steps section of your printer’s menu. You’ll find it on printers with Marilin firmware, such as the Ender 3 at Home > Control > Motion > steps/mm. Record the value next to the axis you are trying to calibrate as the (Original Steps/mm)
- Plug your variables into the following formulas to obtain your new steps/mm value.
- (Original steps/mm) X 20mm = (Steps Taken)
- (Steps Taken) / (Actual Axis Length) = (New Step/mm Value)
- The number you obtained is your updated E-step value. Go back through your menu and change the original axis step/mm value to the new value (New Step/mm Value).
- Repeat steps 3 to 5 for the X, Y, and Z axis.
That’s it! You’ve successfully calibrated the X, Y, and Z-axis stepper motors.
It’s a good idea to repeat the process after calibrating to ensure that you’re measurements are correct. If your test print has a perfect 20mm length, width, and height, you know you did it right. Otherwise, repeat the steps to re-calibrate the stepper motors.