Bed Z: Marlin Beginner’s Guide

Bed leveling is crucial if you want to obtain high-quality prints. There are various ways to level the build plate, but printers with newer Marlin versions could make things easier. 

Marlin Bed Z is a firmware function that allows you to level the bed via the program’s Mesh Bed Leveling process. This process creates a mesh on the bed surface that records the distance between the nozzle and bed at each point. Bed Z allows you to modify the Z offset of any of the mesh points for more accurate leveling, even when printing.

Read on to learn more about the Marlin Bed Z setting and how to use it to achieve accurate bed leveling. 

What Is Bed Z In Marlin?

Bed Z is a function found in Marlin firmware, which is the firmware used by most 3D printers. It refers to the distance between the print bed and the nozzle when the Z-axis is lowered at its lowest point. 

This value is typically set in the firmware by the printer manufacturer.

When using automatic bed leveling, Marlin uses Bed Z to determine the height of the bed at different points and ensure proper leveling. Bed Z can be found in FDM and resin printers alike, including resin printers with an LCD panel. 

As a user, you generally don’t have to alter or modify anything about the Bed Z. However, firmware updates or conflicts with your slicer can sometimes change the default value. 

When this happens, the printer might not be able to set the initial position of the Z-axis at its maximum height, nor determine the distance the hot end has to travel to reach the bed or the desired layer height. This can result in various printing defects. 

Sometimes, if the firmware sees the Z-axis higher than it actually is, it could also lead to equipment damage – the nozzle might crush into the bed, which could damage the hot end, the bed, or both.

For these reasons, it is important to ensure that the Bed Z value is accurate and properly calibrated. There are, however, instances when Bed Z might not work. Let’s find out why.

Starting out with 3D printing and want to AVOID rookie MISTAKES? New: Filament Printing 101 Course
Starting out with 3D printing and want to AVOID rookie MISTAKES?
  • Our new Filament Printing 101 Course is just for you! Lean how to create perfect professional prints without all the hassle.
  • Don't let common mistakes hold you back, click the link to learn more and get ahead now!

Why Is Bed Z Not Working?

In addition to its default function, Bed Z allows you to adjust the distance between the build plate and nozzle while the machine is printing.

This comes in handy if you want to make quick corrections to some printing parameters, but the function sometimes fails to work. 

See also  3D Printing Layer Height vs. Nozzle Size: How To Choose

Wrong Bed Z Value 

The main reason why Bed Z is not working is linked to an incorrect Bed Z value, which can tell the hot end to travel too high compared to the build plate, or too low, crushing into it.

In most printers, the default Bed Z value (default position of the build plate) is set to 0.00 mm. However, this value can be altered during the printer configuration or when leveling the build plate manually.

You can adjust the Bed Z value through G-code commands.

In 3D printers with a bed leveling probe, you can check and adjust the Bed Z value from the printer’s screen. 

Navigate to Prepare and select Auto Home. This will move the nozzle to its default home position.

Now, go to Bed Leveling and select View Mesh. Your printer will display the Bed Z value for each probed mesh point, and you can adjust the value from here.

Otherwise, you can adjust the Bed Z from a program such as OctoPrint or Repetier Host.

Connect a computer to your printer (via a USB connection) and send the G-Code command M420 V. The printer will return the bed leveling values for each probed point. 

If needed, you can enable bed leveling with the M420 S1 command.

Incorrect Bed Leveling 

If the bed is not leveled correctly, the nozzle may be too far away from or too close to the bed, which can affect the Bed Z value.

To calibrate bed leveling, you must use the G29 command, then save the mesh with M500. For this method to work, you must know the value that is off. 

For instance, if you have to adjust the nozzle by a negative 0.08 mm, you can use the following command

M851 Z-0.08





Then, input M420 S in your starting G-Code in your slicer to enable bed leveling before printing. The same command works with positive values too.

Incorrect Z-axis Movement 

Another reason why Bed Z doesn’t work is linked to the hot end.

If the Z-axis motor is faulty or the lead screws are loose, the machine may not move the arm correctly. This results in incorrect Bed Z values, but the problem is relatively easy to solve.

The first thing to do is to check the Z-axis movement. To do this, you’ll need a caliper: 

  1. Home the Z-axis and use a caliper to measure the distance between the nozzle and the bed.
  2. From your slicer or your printer’s panel, send a G1 Z10 command. This will move the Z-axis by 10 mm.
  3. Measure the distance between the bed and nozzle again. If the difference is lower or higher than 10 mm, you’ll have to adjust the Z-axis movement (the Z-axis steps/mm). 
See also  Top 14 Best Shoe Design Software: Free & Paid Options (2023)

You can adjust the Z-axis movement from the firmware’s configuration file. 

Open Configuration.h and look for the line that sets the Z-axis. The line is something like: #define DEFAULT_AXIS_STEPS_PER_UNIT {80, 80, 4000, 500}. 

Adjust the third number in the bracket to match your measured movement, then save the file and upload it to rewrite the printer’s firmware.

If the movement is still incorrect, look for #define Z_PROBE_OFFSET_FROM_EXTRUDER in the configuration file. This line includes a default value that you can change with any negative or positive value to correct movement issues.

Software Issues

Bed Z is a firmware function, so your slicer shouldn’t affect it, right? Well, wrong. While it is true that Bed Z is linked to Marlin, printing instructions received from your software can affect it. 

For instance, if the height of the first layer is too low or too high, you might have to alter the Bed Z value to compensate – otherwise, you’ll have to change the layer height and slice the model again to prevent defects. 

Some commands from the slicer can also override the Bed Z. Most conflicts happen between the Z-offset and Bed Z.

When the slicer specifies a Z-offset value, this value overrides the Bed Z. Typically, this is useful for fine-tuning, but bugs may mean that the firmware doesn’t reset the Bed Z to default after printing, affecting subsequent prints.

These issues are easy to correct from your slicer or by adjusting the Bed Z through the commands mentioned above.

Mechanical Issues

Sometimes, Bed Z might not work due to problems with your printer. A loose belt or misaligned Z-axis are two common issues, both of which can cause the nozzle to print at the wrong height. 

If you’ve tried everything above and nothing works, it might be worth investigating any mechanical problems the printer might have.

Bed Z vs. Z Offset

Bed Z and Z offset are both related to the distance between the hot end and the print bed, but they serve different purposes and are used in different ways.

1. Purpose

Bed Z is the distance between the nozzle and the print bed when the Z-axis is at its lowest point.

It is used during the bed leveling process to determine the height of the bed at different points and to ensure that the nozzle is at the correct distance from the bed through the entire print.

Z offset is a variable adjustment made during the print to fine-tune the distance between the nozzle and the bed to achieve optimal adhesion and print quality.

2. Calibration/Adjustment

Bed Z is a fixed value that is set in the firmware configuration and remains constant unless manually adjusted. 

See also  3D Printing Overhangs 101: Tips & Tricks

The Z offset is a variable adjustment that can be set during slicing or adjusted during the print. You can set or adjust the Z offset from the slicer, the printer’s software, or through a G-Code command from the firmware.

3. Effect

Bed Z is a function developed to maintain the overall print quality, by ensuring a correct distance between the bed and nozzle. However, it has no impact on quality at the layer level. 

This is where the Z offset steps in, ensuring layer-level quality. By fine-tuning the distance between the nozzle and the bed, you can obtain optimal adhesion and prevent issues like warping, delamination, stringing, or gaps in your prints.

Related Questions

What is a good Z offset?

The ideal Z offset can vary depending on the printer, the filament, and other factors. However, a good starting point for most prints and filaments is about 0.1 mm to 0.2 mm.

In Cura, for instance, the default Z offset is 0.2 mm.

What happens if the nozzle is too close to bed?

If the nozzle is too close to the bed, the first layer of the print can be squished, resulting in under-extrusion, poor adhesion, or a rough surface finish. 

The excess pressure can also cause the filament to be pushed back up into the nozzle, leading to clogging or other issues. This can also cause the printer to create a flattened first layer, which can result in elephant foot and other first layer defects.

For some materials, such as ABS and PETG, an incorrect distance between nozzle and bed can also result in over-adhesion, making the material particularly difficult to remove from the build plate.

This is why it is crucial to calibrate the height of the Z-axis and level the bed before each print. You can do this using the Bed Z in Marlin or by calibrating the Z offset. 


Bed Z is a Marlin function that can assist with automatic bed leveling. You can also alter it while printing to make up for bed leveling errors, or use it together with Z offset to fine-tune the printing parameters. While this function allows you to maintain a good print quality, conflicts with the slicer could lead to problems.

Hopefully, this guide can help you identify and fix any Bed Z issues so that you can achieve perfect prints.

Recent Posts