3D Printer Extruder Calibration Steps per mm

Updated on:

We participate in the Amazon affiliate program and may earn a commission if you make a purchase through links on our site. We also participate in other affiliate programs.

Extruder Calibration could be one of the most important factors for your 3D Printer and the quality of your parts. This is often overlooked especially with pre-assembled printers. There are some key factors to concentrate on when finding your optimal steps/mm settings for your extruder. Once you have found the perfect number, the next step is to dial in your extrusion multiple. This article will cover these steps and guide you through the process.

Extruder Calibration Steps per mm

The first step is to program your steps per mm setting for your extruder. In this example, we’ll be using marlin firmware and pronterface. Pronterface now called printrun is a free 3D printing host software suite which talks to your printer. For this step you will need to connect your computer to your 3D Printer. Alternatively you can also use Octoprint or Astroprint to do this semi-remotely.

Step 1: Find your current steps/mm of your extruder

To do this enter M501 in the command terminal window line.

Extruder current steps

Note the current steps/mm value seen after the EXXX.XX

M501 Settings

In this example our extruder steps/mm value is 104.40 (save your number, we will use this later.)

Step 2: Setup Pronterface or Slicer
Extruder Settings

We will be using PLA Filament and Extruding 100mm for this test. Make sure to test the speed rate that your extruder is pushing out the filament. The filament should be coming out nice and slow. If it extrudes too fast it could skip steps and make the calibration be off target. Do a couple of tests and adjust the Speed mm/min to find a nice and slow extrusion rate.

Step 3: Marking the Filament

Mark two lines from the extruder where the filament enters using a ruler; one line at 100mm length and then another line just above at 120mm. We make the second line 20mm higher in case we over extrude and loose the first line.

Extruder Calibration lines
Extruder Lines Zommed
Okay ready, set, extrude!

Press the extruder button and watch the 3d printer extrude. Once Extruder Calibration is finished, measure the distance to the 100m or 120mm line depending on what’s visible.

Extruder Calibration Length

Note the length that has been extruded. In this example our extrusion length was 95mm.

The Equation…

To calculate the Extruder Calibration steps per mm from the extrusion length you can use this equation;

steps/mm × 100 mm = X then X / extruded distance = new steps/mm value

so in our example 104.40 x 100 = 10440 then 10440 / 95 = 109.89 <- new steps/mm value

Use this handy calculator to enter your data.

Current e step value aka Steps/mm (M501 EXXX.XX):

Measured amount of filament extruded:

Expected amount of filament extruded (if 100mm, don’t change):

New estep value:

You did it! You have your new steps per mm Value.

Firmware and EEPROM Entry

Now you need to enter this new value into the 3D Printers firmware for the Extruder Calibration.

In the pronterface command terminal enter M92 EXXX.XX where X is your new steps/mm value

Now enter M500 to save the new extruder steps setting to the 3D Printers EEPROM.

M500 Setting

Lastly, check your new settings are saved using the M501 command.

EEPROM Extruder Calibration Settings

That’s it you have now calibrated your extruder steps/mm for your 3D Printer.

Calibrating Extrusion Multiplier

Most 3D Printer Slicer software features an extrusion multiplier setting. This setting is an easy way to control the flow rate of extrusion.

Use your favorite calibration cube or download this 25mm cube: Cube25mm.STL

Extruder Calibration Cube

Load the calibration cube into your slicer and we’ll need to adjust a few settings. For this example, we will use Simplify3D.

Layer Settings
Simplify3D Layer Settings
Layer Height: 0.1500
Top Layers: 0
Outline/Perimeter Shells: 1

In the image above it shows we will use a layer height of 0.1500 (150 microns), this is important for the calibration. Top Layers is set to 0 because we want the cube to be open on the top so we can measure. Outer Perimeter Shells is 1 so the extruder lays down a single wall line for us to measure.

Note: Set the infill percentage to 0 as we want the inside to be hollow (like Vase Mode).

Extruder Settings

In this example, we will be using a 0.4mm nozzle size.

Extruder Calibration Settings

Start with the extrusion multiplier set to 1. The goal will be to measure the single walls on the printed cube to match the extrusion width, which in our case is 0.48mm.

Filament Settings

It’s important to measure the actual diameter of your filament. Not all filament is created equal and this should be checked each time you load a new roll into your machine.

Measure Filament Caliper

You will need a Caliper to do this, this is a great tool to have for 3D Printing and you will find you use it often.

Now that we know our true filament diameter, enter this into your software.

Filament S3D Setting

We are now ready to Slice the model and run the print. Here is a preview of the layers that will print that we have just setup in our software.

Cube Slicer Preview

Once the print completes, measure the side walls with the caliper and take the average number. We want the side walls to equal the Extrusion Width set in our slicer.

Box Measured Value

The photo above shows we are extruding over our desired wall thickness. So we need to lower the extrusion multiplier value. Start by reducing it by 0.05mm until you end up with the correct wall thickness.

Calibrated Extrusion Multipler

And you’re all set! You have now Calibrated your 3D Printer’s Extruder and Slicing Profile. We hope this article helped and if you have any comments or questions please leave us a note below!

you might also like:

Best 3D Printing Tools and Hardware Everyone Should Own

Photo of author

Garrett Dunham

A trained Mechanical Engineer and lifelong tinker, Garrett chose to attend Cal Poly San Luis Obispo's engineering proram because they had a 3D printer... back when they were called "rapid prototypers". "The first time I held something I designed and 3D printed, my mind exploded. Just hours earlier my idea was just a thought - and now it's a thing I'm holding." Now, years later, Garrett brings his love of tinkering, inventing, engineering, and 3D printing to the Makershop community.

18 thoughts on “3D Printer Extruder Calibration Steps per mm”

  1. It’s not
    “extruded distance / X = new steps/mm value”
    “X / extruded distance = new steps/mm value”

  2. When i put M501 on the console i dont get nothing of that at all.
    i get this:
    >>> M501
    ok 0
    Info: 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000
    Info:Configuration loaded from EEPROM.

  3. What do you mean by “Start by reducing it by 0.05mm until you end up with the correct wall thickness.”

    do you mean reduce extrusion multiplier by 5%?

  4. i just installed a dual driver extruder and when calibrating im getting 1500. seems a bit high to me.

  5. This is the only place where I was able to understand Steps per Unit and how to calibrate it. I appreciate the layman’s term for us newbies.

  6. Running the extrusion multiplier down until I get to a .48mm wall thickness is fine until I try the cube with 4 walls. None of the walls are even close to sticking together??

  7. You’ve already been told the corrections to your guide, but yet you haven’t updated the guide?
    You should have done that immediately to stop anyone from using the bad info.

    • We updated the blog to X / extruded distance = new steps/mm value in text and on the form calculator based on Ervin’s comment in 2018. Let us know what you think is incorrect and we’ll have a look. Thanks for the comment.

  8. Hi i saw you have a blog post for esteps calibration. I recently made a youtube video that explains how to do it for both direct drive and bowden setups. Is it possible you can put my video on your blog posts to help people that learn better from watching rather than reading? It might help us both this idea. The channel and video is here:


    also a octoprint tutorial video:

Comments are closed.