How to Calibrate Your Z-Axis on Your 3D Printer – Ender 3 & More


Calibrating the Z-axis on your 3D printer is a good way to ensure you are getting dimensionally accurate 3D printers, as well as creating better quality models. This article will take you through the calibration process for your Z-axis.

To calibrate the Z-axis on your 3D printer, download and 3D print an XYZ calibration cube and measure the Z-axis with a pair of digital calipers. If it doesn’t have the correct measurement, adjust the Z-steps until the measurement is correct. You can also calibrate your Z offset using a BLTouch or by ‘live-leveling’.

There’s more information that you’ll want to know for calibrating your Z-axis, so keep on reading for more.

Note: Before you start calibrating your Z-axis, you have to make sure your printer is in order. Here are a few ways to do this.

How to Calibrate Z Axis Steps on a 3D Printer (Ender 3)

An XYZ Calibration Cube is a model with precise dimensions you can print to know if your printer is correctly calibrated. It helps you see the number of steps your motor takes per mm of filament it prints in all directions.

You can compare the expected dimensions of the cube with its actual measurements to know if there is any dimensional deviation.

You can then calculate the proper Z-steps/mm for your printer with these values. Check out the video below to see how you can calibrate your 3D printer’s stepper motors.

Step 1: Get Your Printer’s Current Z-Steps/mm

  • If you have an Ender 3 or similar printer running the Marlin firmware, you can get it directly via the display on the machine.
  • Navigate to Control> Motion > Z-Steps/mm. Note down the value that is there.
  • If your printer doesn’t have a display interface, you can still get the Z-Steps/mm, but with a more complex method.
  • Using control software like Pronterface, send the G-Code command M503 to your printer – it requires some setup to get started.
  • It will return some lines of code. Look for the line that starts with echo M92.
  • Look for the value starting with Z. This is the Z-steps/mm.

Step 2: Print the Calibration Cube

  • The Calibration Cube’s dimension is 20 x 20 x 20mm. You can download the XYZ Calibration Cube from Thingiverse.
  • When printing the Calibration Cube, don’t use a raft or a brim
  • For the best results, slow down the print speed to around 30mm/s and reduce the layer height to around 0.16mm.
  • When the cube finishes printing, remove it from the bed.

Step 3: Measure the Cube

  • Measure it from top to bottom and note the measured value down.

Step 5: Calculate the New Z Steps/mm.

  • To calculate the new Z-Steps/mm, we use the formula:

(Actual Dimension ÷ Measured Dimension) x Old Z Steps/mm

  • For example, we know that the cube’s Actual Dimension is 20mm. Let’s say the printed cube, when measured turns out to be 20.56mm, and the old Z steps/mm is 400.
  • The new Z-steps/mm will be: (20 ÷ 20.56) x 400 = 389.1

Step 6: Set the Accurate Value as the Printer’s New Z-Steps.

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

Step 7: Save the New Z-Steps Value to the Printer’s Memory.

  • On the 3D printer’s interface, go to Configuration/ 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.

How Do You Calibrate Z Offset or Z Height on a 3D Printer

If you do not have a BLTouch, you can still calibrate your printer’s Z offset with a bit of trial and error. All you have to do is print a test print and make adjustments based on the quality of the print’s infill in the middle.

Here’s how you can do this.

Step 1: Make Sure Your Print Bed is Leveled Correctly and Clean.

Step 2: Prepare the Model for Printing

  • Download the Z Offset Calibration Model by scrolling down to the ‘Model files’ STL section – there is a 50mm, 75mm & 100mm square option
  • You can start with 50mm and decide to move up if you need more time for making adjustments.

How to Calibrate Your Z Axis - Z Offset Calibration Print - 3D Printerly

  • Import it to your chosen slicer and slice the file

How to Calibrate Your Z Axis - Cura Z Offset File Preview - 3D Printerly

  • Save the file to an SD card and load it onto your 3D printer
  • Begin printing the model

Step 3: Evaluate the Model as it Prints

  • Check the infill of the model and how it’s extruding to determine the adjustments that need to be made.
  • The objective of this print is to get the first layer as smooth and level as possible.
  • If the gaps in the infill are significant and there are low spots between them, reduce your Z offset.
  • If the lines in the print are smooshed together and do not retain their shape, increase your Z offset.
  • You can change the Z offset in intervals of 0.2mm until you reach the desired change – do keep in mind that the adjustments to the Z offset can take a few extruded lines to show its effects.

Once the top layer is smooth without any smooshing, gaps, valleys, or ridges, you’ve got the perfect Z offset for your printer.

How To Calibrate Your Z-axis Using a BLTouch Probe

The Z offset is the Z distance from the printer’s home position to the print bed. In a perfect world, this distance should be set to zero.

However, due to inaccuracies in the print setup and the addition of components like a new print surface, you might have to adjust this value. The Z offset helps compensate for the height of these objects.

A BLTouch is an automatic leveling system for your print bed. It can help measure the exact distance from your nozzle to your bed and help compensate for any inaccuracies using the Z offset.

The video below takes you through the process of calibrating your Z offset on an Ender 3 V2 with a BLTouch. V3.1 (Amazon).

Let’s see how you can do this.

Step 1: Heat the Build Plate

  • If your printer runs the Marlin firmware, navigate to Control > Temperature> Bed Temperature.
  • Set the temperature to 65°C.
  • Wait for about 6 minutes for the printer to reach this temperature.

Step 2: Auto-Home Your Printer

  • On your control interface, click Prepare/ Motion > Auto-home.
  • If you’re using G-Code, you can send the command G28 to your printer to auto-home it.
  • The BLTouch will scan the print bed and try and determine where Z = 0

Step 3: Find the Z Offset

  • The BLTouch will be at a distance of about Z = 5mm from the printer’s bed.
  • The Z offset is the distance from where the nozzle is currently to the print bed. To find it, you’ll need a piece of paper (a sticky note should do just fine).
  • Place the piece of paper under the nozzle
  • On your printer’s interface, go to Motion > Move axis > Move Z > Move 0.1mm.
  • On some models, this is under Prepare > Move > Move Z
  • Gradually reduce the Z value by turning the knob counter-clockwise. Turn the Z value down until the nozzle grips the paper.
  • You should be able to pull the paper out from under the nozzle with some resistance. This Z value is the Z offset.
  • Note down the Z value

Step 4: Set the Z Offset

  • After finding the value for the Z offset you may need to input it into the printer. In some cases, it will automatically save.
  • ON newer models, go to Prepare > Z offset and input the value you’ve gotten there.
  • On older models, you can go to the Main screen > Configuration > Probe Z offset and input the value.
  • If you’re using G-Code, you can use the command G92 Z [input the value here].
  • Note: The square brackets in front of the Z offset is very important. Don’t leave it out.

Step 5: Save the Z Offset to the Printer’s Memory

  • It’s important to save the Z offset to avoid resetting the value when you turn off the printer.
  • On older models, go to Main > Configurations > Store Settings.
  • You can also end the G-Code command M500.

Step 6: Re-Level the Bed

  • You want to manually re-level the bed one last time so that all the four corners are at the same height physically

Well, we’ve reached the end of the article! You can use the methods above to configure your 3D printer Z-axis so you can get accurate prints consistently.

Just make sure other parts of your printer, like the extruder’s flow rate, are in proper order before making these adjustments. Good Luck!

Recent Posts

3D Printerly