How to Calibrate the E-Step Setting for Your 3D Printer

Hotend and Extruder of 3D Printers

There are two parts of a 3D printer that are involved in squeezing 3D printer filament from the nozzle: One is 3D printer hotend which heats and melts the filament, and the other is 3D printer extruder, which pushes filaments into the hotend.

Direct Extruder VS Bowden Extruder

When the extruder sits right on top of the hotend, we call it direct extruder. Kingroon KP3S and Kingroon KP5L 3D printers are using direct extruders. When your extruder connected to the hotend with a long teflon tube in a so-called bowden setup.

What is Extruder Calibration or eStep Calibration?

What we're going to calibrate today is the amount of filament that the extruder is going to be pushing into the hotend. The extruder doesn't know the exact amount of filament that it is pushing. Basically, the printer's controller only tells the motor how many steps it should move forward and, by default, it can't guess how much filament it's feeding with each single step. The value that tells it, is the steps per millimeter figure, which is stored in the controller's firmware. And that's exactly the value that what we're going to figure out.

Why Extruder Calibration is Important? 

Under or over-extrusion have a couple of distinct symptoms on your print results. If you're under-extruding, that is your printer is laying down too little filament, your prints will end up with gaps in the top layers. And your prints would subject to bad adhension, warping, layer separation in the middel of print.  They won't be as mechanically strong as they could be. Also, overhangs won't print well.

middle wrapping print

On the other hand, if you're over-extruding, that is you have too much filament laid down, your prints will end up blobs on the surfaces, stringing issue. and the nozzle will probably clog after too much filament jamming in the hotend.

Extruder calibrating helps you achieve a compromise where the amount of filament laid down is just right.

Checklist before eStep Calibration

You need to check a couple of things before eStep calibration:

  • Frist, you need to make sure that the extruder stepper motor isn't skipping steps.
  • Second, your hotend should not be clogged.
  • The tension on the extruder's idler should be set, so that the hobbed bolt doesn't grind through the filament. If you set it too loose, it will have too little grip, and slide on the filament. If it is too tight, it will shred through the filament and lose its grip.
  • Forth, make sure the filament isn't pulling on the extruder.

Extruder Calibration Process

For the actual calibration, we're going to tell the controller to extrude a certain
length of filament and we're then going to compare that to the length that was actually pushed through the hotend.

First, heat up your hotend to the temperature you normally print at. Mark the filament at a known distance from a fixed point. 100mm for the test extrusion is a good value, but because the extruder might end up pushing too much filament, marking it at 100mm might have the marking disappear into the extruder. So i'm going to mark it at 150mm.

Next, tell the controller to extrude 100mm of filament at a speed that is similar to
what it does when printing. For 3mm filament, 0.5 to 1mm per second (30 to 60 per minute) is a good value to start. For 1.75mm filament uses 1.5 to 3mm/s (which is 90mm to 180mm per minute).

If the host you're using lets you extrude filament, set the speed and length and use that. If not, use the command line and send G1 (go to a position), E100 (extruder, 100mm), F30 (at 30mm per minute) or F90 if you're using 1.75mm filament. But before that you had to sent G92E0 to reset the extruder. estep calibration

After the extruder finished, measure the distance to the mark again and subtract that from the original 150mm. This is the length of filament that your extruder actually pushed through.

In my case, that's 150mm minus 34mm, 116mm. Now, to compensate for that 16mm offset, we're going to adjust the steps per millimeter value for the extruder.

If you don't know the value your printer is using at moment, send it a M503 and it will spit out its current settings.

To get the new steps per mm, multiply the old steps per mm with 100mm and divide all that by the actual length it extruded. That is your new steps per mm value for the extruder.

esteps calibration

To use it, you can either use the M92 command with the E argument and your new step per millimeter figure to temporarily set it. You can then send a M500 to get Marlin to remember the new value you just sent. Or you can update your firmware configuration and re-upload the whole thing.

Now, you can run the extrusion calibration test a second time to check the calibration. However, the goal is not to get the value correct within 0.1 percent, since the extrusion process is fairly tolerant to little errors like these.

However, to get the amount of filament coming out of the nozzle right, there is one more thing that you need to do, and that measuring the diameter of your filament.

Some cheap filament can have pretty large deviations from the start to the end of the roll. What's important about measuring the diameter is that you don't just measure one spot. Get a couple samples along about a meter of filament and also make sure to measure around the filament in case it is oval in any way. Take the average of all those measurements and enter that into your slicer.

So now you've got the basic calibration done and your printer should be really close to extruding the right amount of plastic.

You might need to tweak the extrusion multiplier if you find that your prints are constantly over-stuffed or on the other hand have gaps even in the top surfaces, and there are many layers thick. You can adjust the extrusion multiplier on the slicer software until the top surfaces are just filled and then add 1-2% to make sure your prints are nice and strong.

3d printer extruder calibration

If you find that you have to adjust the multiplier more than about 10%, somthing might have gone wrong during the calibration - just try it one more time.

If you are using the stock firmware, some commands are not supported yet, you might have to adjust them manually.

First, go to the below link, and download the Extruder E-steps calibration tool by MihaiDesigns.

Print it out then use it for the measurement.

Once you do, drag the filament tight and use the tool to hold it, then mark the filament on the two gaps.

Mark the Filament

Then you get two dots on the filament, the length of the top is 100 mm.


Next, let the printer extrude 100mm of filament.

Extrude Fialment


After that, use the tool to measure the visible length.

Measure the Visible Length

So, we got 9mm for the result. Let’s go to the next step.

Click this link and calculate the value. 

Calculate The New E-step value

Enter the default E-Step value for Titan Extruder which is 768mm/s and the visible length. Then we get the new value, which is 691.89189. If you not using the Titan extruder, Google or ask the manufacturer for its default E-Step value.


Then open the “robin_nano_cfg.txt” file, search for “>DEFAULT_E0_STEPS_PER_UNIT” and modify its value to the new one.

Modify the E-Step

 After that, save the file and flash it to your printer, you are all set.

Previous article Screen Control of the KINGROON KP3S Pro V2

Leave a comment

* Required fields