How to Calibrate Your Extruder E-Steps & Flow Rate Perfectly

Learning how to calibrate your flow rate and extruder e-steps is something every 3D printer user should know. It’s essential to getting optimal quality, so I decided to write an article about it to teach other users.

To calibrate your flow rate & e-steps, you’ll have to go through quite a few steps. First, you have to extrude or print a calibration model with the current values and measure the print.

Using the values gotten from the calibration print, you’ll then calculate and set a new optimal value.

This is the simple answer of how to get it done, but keep on reading through this article to get more details on how to get it perfect.

It’s essential to calibrate your E-steps first before you get into calibrating your flow rate, so let’s detail how we can do this.

But first, let’s see why getting these settings right is so important.

What are E-Steps and Flow Rate?

The flow rate and the E-steps per mm are different parameters, but they play considerable roles in how the final 3D print comes out.

Let’s take a good look at them.

E-Steps is short for Extruder Steps. It is a 3D printer firmware setting that controls the number of steps the extruder’s stepper motor takes to extrude 1mm of filament. The E-step setting makes sure the right amount of filament goes into the hotend by counting off the number of steps the stepper motor takes for 1mm of filament.

The value for the E-steps is usually preset in the firmware from the factory. However, while operating the 3D printer, many things can happen to throw off the accuracy of the E-steps.

Thus, calibration is needed to ensure the number of steps the extruder motor is taking and the amount of filament being extruded is in proper harmony.

What is the Flow Rate?

The flow rate, also known as extrusion multiplier, is a slicer setting that determines the amount of plastic a 3D printer will extrude. Using these settings, the 3D printer figures out how fast to run the extruder motors to send enough filament for printing through the hotend.

The default value for the flow rate is usually 100%. However, due to variations between filaments and hotends, this value is generally not optimal for printing.

So, you have to calibrate the flow rate and set it to values like 92% or 109% to compensate for this.

What are the Consequences of Poorly Calibrated E-Steps and Flow rates?

When these values are poorly calibrated, it can cause many issues during printing. These issues stem from the printer sending not enough material or too much material to the hotend.

These problems include:

  • Under-extrusion
  • Over-extrusion
  • Poor first layer adhesion
  • Clogged nozzles
  • Stringing, oozing, etc.

Calibrating these settings properly helps get rid of all these issues. It also results in more dimensionally accurate prints.

To calibrate these settings, you’ll have to figure out the proper values and reset the settings. First, let’s look at how we can calibrate the E-steps and flow rate settings properly.

How Do You Calibrate Extruder E-Steps Per mm?

It’s crucial to note that you have to calibrate the extruder before you can calibrate the flow rate. This is because poorly calibrated extruder E-steps can lead to inaccurate flow rate calibration.

So, let’s look at how to calibrate the E-steps first.

You’ll need the following:

  • A meter rule/tape rule
  • A sharpie or any permanent marker
  • A non-flexible 3D printing filament
  • A computer with a machine control slicer software (OctoPrint, Pronterface, Simplify3D) installed
  • A 3D printer with Marlin firmware

You can calibrate the E-steps using the control interface of some printers like the Ender 3, Ender 3 V2, the Ender 5, and plenty more.

However, you’ll have to use the connected slicer software to send the G-Code to the printer for others.

How to Calibrate Extruder E-Steps

Step 1: Run out any remaining filament in the printer’s hotend.

Step 2: Retrieve the previous E-steps settings from the 3D printer

  • Using the Ender 3’s control interface, go to” Control > Motion > E-steps/mm”. The value there is the “E-steps/mm.”
  • If you can’t access the value using the control interface, don’t worry. Using the slicer software connected to the printer, send an M503 command to the printer.
  • The command will return a block of text. Find the line that starts with “echo: M92”.
  • At the end of the line, there should be a value starting with “E.” This value is the steps/mm.

Step 3: Set the printer to relative mode using the “M83” command.

Step 4: Preheat the printer to the printing temperature of the test filament.

Step 5: Load the test filament into the printer.

Step 6: Using a meter rule, measure a 110mm segment on the filament from where it enters the extruder. Mark the point using a sharpie.

Step 7: Now, extrude 100mm of filament through the printer.

  • To do this on the Marlin firmware, click on “Prepare > Extruder > Move 10mm”.
  • In the menu that pops up, set the value to 100 using the control knob.
  • We can also do this by sending G-Code to the printer via the computer.
  • If the slicer software has an extrude tool, you can type in 100 there. Otherwise, send the G-Code command “G1 E100 F100” to the printer.

After the printer finishes extruding what it defines as 100mm through the hotend, it’s time to remeasure the filament.

Step 9: Measure the filament from the entrance of the extruder to the 110m point marked earlier.

  • If the measurement is 10mm precisely (110-100), then the printer is calibrated correctly.
  • If the measurement is over or under 10mm, then the printer is respectively under-extruding or over-extruding.
  • To solve under-extrusion, we’ll need to increase the E-steps, while to solve over-extrusion, we’ll need to reduce the E-steps.

Let’s look at how to get the new value for the steps/mm.

Step 10: Find the new accurate value for the E-steps.

  • Find the actual length extruded:

Actual length extruded = 110mm – (Length from the extruder to mark after extruding)

  • Use this formula to get the new accurate steps per mm:

Accurate steps/mm = (Old steps/mm × 100)  Actual length extruded

  • Viola, you have the accurate steps/mm value for your printer.

Step 11: Set the accurate value as the printer’s new E-steps.

  • Using the printer’s control interface go to Control > Motion > E-steps/mm”. Click on “E-steps/mm” and input the new value there.
  • Using the computer interface, send this G-Code command “M92 E [Insert accurate E-steps/mm value here]”.

Step 12: Save the new value to the printer’s memory.

  • On the 3D printer’s interface, go to “Control > Store memory/settings.” Then, click on “Store memory/settings” and save the new value to the computer memory.
  • Using G-Code, send the “M500” command to the printer. Using this, the new value saves to the printer’s memory.

Congratulations, you’ve calibrated your printer’s E-steps successfully.

Switch the printer on and off before you start using it again. Repeat step 2 to be sure the values have been properly saved. You can also go through steps 6 – 9 to verify the accuracy of your new E-steps value.

Now that you’ve calibrated the E-steps, you can now calibrate the flow rate. Let’s look at how to do that in the next section.

How Do You Calibrate Your Flow Rate in Cura

As I mentioned earlier, the flow rate is a slicer setting, so I will perform the calibration using Cura. So, let’s get down to it.

You’ll need the following:

  • A PC with slicer software (Cura) installed.
  • A test STL file
  • A digital caliper for accurate measurement.

Step 1: Download the test file from Thingiverse and import it into Cura.

Step 2: Slice the file.

Step 3: Open the custom print settings and make the following adjustments.

  • Set the layer height to 0.2mm.
  • Set the Line Width- wall thickness to 0.4mm
  • Set the wall line count to 1
  • Set the infill density to 0%
  • Set the top layers to 0 to make the cube hollow
  • Slice the file and preview it

Note: If some settings aren’t showing, go to the toolbar, click “Preferences > Settings,” and check the “Show all” box in settings visibility.

Step 4: Print out the file.

Step 5: Using the digital caliper, measure the four sides of the print. Note down the values of the measurements.

Step 6: Find the average of the values on the four sides.

Step 7: Calculate the new flow rate using this formula:

New flow rate (%) = (0.4 ÷ average wall width) × 100

For example, if you measured 0.44, 0.47, 0.49, and 0.46, you would add that up to equal 1.86. Divide 1.86 by 4 to get the average, which is 0.465.

Now you do (0.4 ÷ 0.465) × 100 =  86.02

With an average value so high compared to the original (0.4 to 0.465), it’s likely that your over extruding by quite a lot. This is where you might want to recalibrate your extruder steps to ensure it is working as expected.

Step 8: Update the slicer’s settings with the new flow rate value.

  • Under the custom settings, go to “Material > Flow” and put the new value there.

If you want to know how to adjust flow rate, you can simply search for “Flow” and scroll down if you don’t see the option. You can then right-click and select “keep this setting visible” so it shows up with your current visibility settings.

How to Calibrate Flow Rate - Cura Flow Rate Adjust - 3D Printerly

Step 9: Slice and save the new profile.

You can repeat Step 4 – Step 9 to get values closer to the wall width of 0.4mm for better accuracy.

You can also increase the wall line count to 2 or 3 to get more accurate values, as these are the line values you’ll be using during printing.

So, there you have it. This is how you can configure and calibrate your E-steps and Flow rate in a few simple steps. Remember to calibrate your E-steps every time you change extruders and your flow rate every time you change filaments.

If recalibrating these settings doesn’t solve your under-extrusion and over-extrusion problems, you might want to consider other troubleshooting methods.

There is a great flow rate calculator that you can use – Polygno Flow Rate Calculator to determine the limits of your hotend and extruder combination, though this is  on a more technical basis than most people need.

According to Polygno, most 40W heater-based hotends see a flow rate of 10-17(mm)3/s, while Volcano-type hotends have around a 20-30(mm)3/s flow, and claims of 110(mm)3/s for the Super Volcano.

How Do You Calculate Steps Per mm Lead Screw

To calculate steps per mm with your specific lead screw, you can use Prusa’s calculator and input the relevant values to get an accurate result. You’ll need to know your motor step angle, driver microstepping, leadscrew pitch, pitch presets, and the gear ratio.


Good luck and happy printing!

Recent Posts

3D Printerly