A correctly leveled printer bed is one of the first things that should be on any 3D printing enthusiast’s checklist, as the levelness of the bed is the primary factor for the 3D printer to perform the calculations for extruder movement and conduct the printing process without any errors.
On the other hand, bed leveling is, and for the foreseeable future, will be a tricky subject, even if you use an automatic bed leveling sensor such as the BLTouch, as the capabilities of the sensor can only extend as far as the configuration we provide it.
Today, we will take a deep dive into configuring the Z fade height value (a part of the M420 Bed Leveling State G-Code), a vital parameter to improve the mesh bed leveling process with the BLTouch auto bed leveling sensor.
So, how to configure the Z fade height value for BLTouch?
To configure the Z fade height value for your BLTouch auto bed leveling sensor, you will need to invoke the M420 (Bed Leveling State) G-code command with the Z flag (the flag for setting the Z fade height parameter) and the Z fade height you would like to use.
Next up, we will go into the configuration process of the Z fade height value for BLtouch in more detail, discuss how we can find the optimal Z fade height value, find out how the Z fade height parameter works, and finally, take a quick look at the “fade height off” warning message that can sometimes appear on the screen.
How to Configure the Z Fade Height for BLTouch?
While configuring the Z fade height value requires some technical expertise due to the requirement of executing G-code commands, the process is pretty straightforward once you know what to do.
As the Z fade height parameter is a part of the M420 (Bed Leveling State) G-Code, setting the Z fade height for BLTouch requires you to execute the M420 G-Code command on your 3D printer with the Z flag alongside the Z fade height value you would like to use.
To make the process easier to understand, let’s go through an example G-code command where we set the Z fade height value to 2.0:
In this example, the M420 portion is the G-code command itself, the Z is the flag for the Z fade height, and the 2.0 is the value of 2 millimeters that we are passing to the Z flag as the Z fade height value we desire to use.
After setting the Z fade height value, you can invoke the M420 G-Code without passing any parameters to get the bed leveling state information, which should correctly display the Z fade height value you have set.
Please note that if you use the Unified Bed Leveling (UBL) system for leveling the bed, the G-code and the flag you will need to use are different due to how the Marlin firmware works.
In the case of UBL, the G-code you will need to use is G29, and the flag for setting the Z fade height is F.
An example for setting the Z fade height to the value of 10.0 for UBL would be:
While the G-code and the flag for setting the Z fade height for UBL are distinct, the feature’s functionality remains the same.
How to Find the Optimal Z Fade Height Value for BLTouch?
Finding the optimal Z fade height value is essential to receive the maximum possible benefit from this feature, which may require some trial and error to get as correctly as possible.
While finding the optimal Z fade height for BLTouch mainly comes down to running a series of test prints and observing both the printing process and the quality of the model, a Z fade height value of 10 millimeters is widely accepted to be sufficient.
To optimize the Z fade height value further, we recommend going down from 10 millimeters with increments of 1 millimeter until you find what works best for you.
What Is the Z Fade Height Parameter in Marlin Firmware?
How the Z fade height parameter operates is a handy piece of information to possess to configure the value as optimally as possible, especially considering that the purpose of this parameter isn’t too technically complex to understand.
The Z fade height parameter in Marlin firmware determines a point where the printer won’t apply bed leveling compensation to the Z-axis movements of the extruder above it.
Alongside not using bed leveling compensation above the specified point, the printer will also gradually reduce the strength of the bed leveling compensation as the extruder moves towards this point.
As there is no need to compensate for any warping on the bed after the first few layers, the Z fade height parameter fulfills the purpose of disabling the compensation dynamically, which saves the extruder from unnecessary wear and creates a better final product.
What Does the Fade Height Off Message Mean?
In some cases, you may observe a warning message with the text “fade height off” after adding a BLTouch to your printer, which, as you may predict, is related to the Z fade height value we have been talking about throughout this article.
While the “Fade Height Off” message sounds like an error that suggests something may be wrong with the configuration of your 3D printer at first look, it’s only a warning message that indicates the Z fade height parameter currently has a value of 0.
Even though it is is entirely harmless, you can either set a Z fade height value greater than 0 or disable the Z fade height feature by modifying the Marlin firmware and flashing the new version to your printer to get rid of the message.
Configuring the Z fade height value as optimally as possible is a great way to ensure that the BLTouch operates much more smoothly, which will allow you to obtain a higher print quality for the models you print.
To quickly recap, the correct way to set the Z fade height value is by using the M420 (Bed Leveling State) G-Code, as the Z fade height parameter is a part of this command.
Since the letter Z represents the Z fade height parameter of the M420 G-Code, all you will need to do is append the Z fade height value you would like to set next to the letter Z when you send the M420 G-Code to the printer, such as:
In this example, sending the above command to the 3D printer will set the Z fade height value to 3.0 millimeters.
Mike started his 3D printing journey with the Anet A8 when it first came out back in 2017, and has been obsessed with 3D printers ever since. Nowadays, he primarily uses his Ender 3 to print functional parts that make his life more convenient whenever possible.