How to calibrate a 3D Printer

How to Calibrate a 3D Printer

Your 3d printer is delivering bad and off-scale printings? If the answer is yes, this is exaclty what you need, you will learn how to Calibrate a 3d Printer like a ninja!

Why i need to Calibrate a 3d Printer?

When working with 3DPrinters, we no longer talk about meters or centimeters, the most used units now are millimeters and microns. as more precise things get, more the environment affects the result (and the plastic dilatation / diameter), and mostly the natural  stretching of the belts. that’s why we will need to regularly calibrate a 3d Printer.



-A working and leveled 3DPrinter

-A caliper with 0.01mm or better precision (must be in millimeters)

-EEPROM enabled on the 3DPrinter

-Repetier host (click here to download)

-Repetier or Marlin firmware

-STEP/MM calculator and XYZ Calibration file (click here to download)

What is and how to use an caliper?

The caliper is a device to measure length, like a ruler, but the precision is better. If you have never used a caliper before i would like to suggest you to buy a digital caliper, they are a bit more expensive but the price pays off. You will need a caliper with at least 0.01mm precision (or 0.0005″).  If you need to buy one, I’ve selected two great options, both delivery the needed precision regardless of the price


Before everything, make an BACKUP!

It’s always good to reinforce, make a backup before any configuration changes, doesnt matters if you are doing something on your computer, smartphone or 3DPrinter, bad things can happen, and they will if you are not ready.

To perform a backup of the configurations on the 3DPrinter you will need the software Repetier Host,
You will need to connect the 3DPrinter to the USB port, press Control + P to open the configuration panel,

Calibrate a 3d PrinterSelect  the port (or leave it on AUTO) and the proper baud rate (usually 115200 or 250000). Press “ok”

on the main screen again, click on connect, and then on Config > Firmware EEPROM Configuration

Calibrate a 3d Printer

Now on the EEPROM Settings menu, click on “Export EEPROM Data”,  its also a good idea to take a print-screen of all the parameters here, just in case you need to access a single value.

After the firmware backup, we will start messing around on the 3DPrinter.

Calibrating the Extrusion STEP/MM

The first step to calibrate a 3d Printer is to calibrate the Extrusion step/mm you will need to preheat the nozzle to liberate the extruder. set the temperature on the nozzle to 170ºC. If you are not familiar with Repetier Host, the following image will help you

Calibrate a 3d Printer

After preheating the nozzle you need to disassemble the extruder,  this is easier if you have a bowden system, but if you have a direct-drive system, you will need to remove the hotend block (with dissipator) so the plastic can move freely.

Preparing the calibration

It’s a good idea to check the extruder tensioner, if loose, it wont pull the plastic correctly

Calibrate a 3d Printer

Now you will need to remove the bowden tube from the snapfit locker. to do this, press the blue/black plastic part down, and pull the bowden tube up

Calibrate a 3d Printer

After removing the PFTE tube, you will need to cut the excess filament, this must be done carefully and precisely, try to keep it as close to the tube as possible. Be careful, this can easily cut your hand.

Measuring the current calibration

Now go back to the Repetier host, and click on “Extrude 100mm”, be careful to click only once!

Once you have sent the extrusion command, wait until the plastic stops coming out of the PFTE tube.

you will now place the caliper as the picture below, with the left “ear” touching the PFTE tube, and the right “ear” exactly where the plastic ends.

In this image, the measured value is 99,45 milimeters (the digital should display the  value right away, saving you the time from reading, and reducing the parallax error). Write this value down.!


Now you must go back into the EEPROM Firmware setting, (pressing ALT+E)  and find the “E-Steps” value and write that down too, do not close the firmware screen yet!

We need to calculate the corrected steps, it’s a simple equation. (or if you want to, there is an excel table for calculating this, link on “Requirements” section).

The formula is:    New_steps = old_steps * ( expected length / real length )

On this case:   New_steps = 157.16 * ( 100 / 99,45)    >>> New_steps = 158,0291

Write the new value on the firmware screen, and press “ok”

Finishing the calibration

After saving this value on the 3DPrinter, you should measure the result again, there will probably be a small error, Follow the previous instructions until you get the exactly 100,00mm. After fine-tuning the extruder step/mm you need to reassemble the bowden tube.

Now your Extruder is calibrated! you should not have issues with overextrusion or underextrusion again!

Remember to set the “Extrusion multiplier” to 100% on your favorite slicer, otherwise it will override the calibration!

Calibrating the X, Y and Z Step-mm

Calibrating the XYZ is easier than calibrating the extruder, although the process is similar, it disassembling anything.

To begin, you will need the calibration piece, there are thousands of models available, but i have made one aiming for speed and filament saving. you can download it here

This tool is designed with an 100mm arm for X and Y axis, and 50mm arm for the Z axis, Print one part with the following settings:

-Layer height: 0,1mm

-Shells – 3

-Lower and upper layers – 3

-Infill:   between 20-40%  (not more!)

-nozzle:  smaller is better (0,4 is just fine)

Calibrating the XYZ steps

After the printing finish, open the firmware configuration (steps are described on the previous guide) and find the X, Y and Z steps/mm, put they on the calculator and measure the printing with the caliper, try to measure the part without the deformation on the beginning, like the image below

Use the step/mm calculator provided to calculate the corrected value and replace it on the firmware. Remember to save everything and make a backup of the new values.

Now, to be sure that everything worked as it should, print this part again, it all the measurements are within 0.05 of the expected value, you are good to go! Congratulations


Final notes and considerations

Please note!
This guide is not intended to fix bed leveling issues or bad quality filaments! those are requirements for this calibration to work. You might want to take a look in this guide for bed leveling if you are having issues

If you have any questions, suggestions, or know another good method to calibrate a 3d Printer calibration, please comment below! I’d love to hear more


Take a look on our other posts for improving your 3DPrinter

The ultimate 3D Printer bed leveling guide

3D Printer Cooler – 5 Reasons to start using it

3D Printer G-CODES – The newbie guide!

Comments 2

    • That’s complicated. I have readed some other guides that condemn this too, and i’m not saying its right or wrong, simply that it works. When calculating the steps/mm (i’ll use my example – using 1.8º motor + 20teeth pully ) i will get exactly 80mm. But when i print an part with (for example) 100x100x100mm, i get less or more than 100mm. In a perfect system, using really rigid 3dprinter and high quality pulley/belt/stepper, maybe this could work, but that is not the case for most of the 3dprinters on the market (specially the DIY style).

      Thats why i use this method, and all my printing are within 0,1 mm for the nomimal value (including interior measurements, i’ve corrected them using the horizontal compensation, but that is for another post).

Leave a Reply