Setting the z-offset correctly is arguably one of the most challenging parts of installing a BLTouch, but it’s also the most important. If it’s not done correctly, you will end up with first layer issues and probably many failed prints. That said, the Marlin firmware now has a z-offset wizard in the bug fix line that helps out a lot and, combined with babystepping it helps you easily get the perfect z-offset.
Here are the steps to set up and use the Probe Offset, aka Z-Offset, Wizard.
- Update the firmware
- Run the Z-Offset Wizard to Get Your Initial Z-Offset
- Kick-Off Test Print and Use Babystepping to Make Adjustments
- Update Z-Offset *If needed
- Store Settings to EEPROM
*This process assumes you are using the Marlin 2.x firmware. If you are not, check out this article on how to move to it “Marlin Firmware on Creality Board – Complete Guide!”.
** This process has been tested using the Creality 4.2.2, Creality 4.2.7, and SKR Mini e3 v2.0 mainboards.
What is the Z-Offset Wizzard
The Probe Offset Wizard, or commonly referred to as Z-Offset Wizard, is a wizard that helps you set your z-offset in a single step instead of having to get the offset value and go somewhere else to set it. It’s meant to make the process easier for users to use and understand. This feature is disabled by default in the firmware.
What is Babystepping
Babystepping allows you to make small adjustments to the z-axis while printing, enabling you to dial in your z-offset without having to stop the print, make an adjustment, and hope it’s right. This feature used to be disabled by default in the firmware, but recent versions have it enabled.
Step-by-Step Setup Guide
*Links are to Amazon, and for the products I use.
Update the Firmware
The first thing we need to do is make a few changes to the firmware to enable the Z-Offset Wizard and babystepping. Once that’s done, you will be able to see the features in the console at the printer.
You can also download a copy of Marlin I built with the required changes and use supplied configs as a starting point. The firmware is available to download from “3D Printscape Marlin Builds“.
Update Configuration Files
Here are the changes that need to be made to the firmware.
Enable the Z-Offset Wizard
|Default Value||New Value|
|//#define PROBE_OFFSET_WIZARD||#define PROBE_OFFSET_WIZARD|
|// #define PROBE_OFFSET_WIZARD_START_Z -4.0||#define PROBE_OFFSET_WIZARD_START_Z -4.0|
|Default Value||New Value||Notes|
|//#define BABYSTEPPING||#define BABYSTEPPING||Depending on the firmware you are using, this may already be enabled.|
|//#define BABYSTEP_DISPLAY_TOTAL||#define BABYSTEP_DISPLAY_TOTAL|
|// #define BABYSTEP_ZPROBE_OFFSET||#define BABYSTEP_ZPROBE_OFFSET|
VS Code user interface. That will kick off the build and shouldn’t take longer than a couple of minutes to complete. You should see success in the terminal window if everything worked. If it didn’t, you will be able to get the error from there to troubleshoot.
Copy the Firmware to an SD Card
Once the firmware has been successfully built, you will want to drag it to an empty SD card that is under 8GB or less.
You can find the firmware under “firmware\.pio\build\STM32F103RET6_creality” , firmware should be replaced with the path where you have the firmware. In my case, the path is “C:\Users\Owner\Desktop\Marlin-bugfix-2.0.x\.pio\build\STM32F103RET6_creality”.
The file name will be firmware-date-randomnumber.bin, so firmware-20210225-125416.bin for me.
Install the Firmware on the Printer
This step sounds harder than it actually is. Assuming you copied the right file to a blank SD card, all you need to do is put the SD card in the printer and power it on. From there, the printer will pull the file and install it on the printer. The entire process should take less than 30 seconds. Once the printer boots into the standard interface, you can remove the SD card.
Set Z-Offset in Marlin Firmware
Now that we have the firmware updates made, we can start the process of setting your z-offset. Follow these steps to get the perfect z-offset for your printer quickly.
Heat Build Plate and Nozzle to Normal Printing Temperature
The first thing you will want to do is heat your build plate and nozzle to average printing temperatures. For me, I did 60 and 190 degrees.
You can do that by following these steps.
- Open the Menu
- Go to Temperature
- Select Nozzle
- Set to 190
- Select Bed
- Set to 60
- Wait for everything to get up to the set temperatures
Run the Z-Offset Wizard to Get Your Initial Z-Offset
Once everything is up to temperature, you will want to run the Z-Offset Wizard.
Steps to run the Z-Offset Wizzard
- Open the Menu
- Go to Configuration – Advanced Settings – Probe Offsets – Z Prob Wizard
- Select Move 0.1mm
- Lower the z-axis by 0.1mm until you get to paper height from the build plate
- Closeout of that Move 0.1mm window
- Select Done
Kick-Off Test Print and Use Babystepping to Make Adjustments
Once you have your initial z-offset value set, you will want to kick off a test print so we can use babystepping to dial in the final z-offset value.
Steps to use babystepping to adjust the z-axis.
- Wait for the test print to start
- Open the Menu
- Go to Tune and Select Babystep Z
- Make adjustments, either up or down, until you have the right layer height
- Make a note of the adjustment, in my case, it was -0.1mm.
Now we want to update the z-offset to account for the change.
Here are the steps to update the z-offset.
- Stop the print if it’s still running
- Open the Menu
- Go to Configuration and select Probe Z Offset
- The current value is -3.2
- The new value will be -3.3 (-3.2 + -0.1)
Store Settings to EEPROM
Finally, we need to save the z-offset so it will persist when you power off the printer. You can do that by going to Menu – Control – Bed Leveling – Store Setting. Do Not skip this step.
Next, you will want to kick off a test print and make sure the first layer looks right. If everything looks good your z-offset should be set correctly, and you shouldn’t need to make adjustments unless you alter how the BLTouch is mounted.
What if I don’t have a BLTouch? – If you don’t have a BLTouch, you won’t need to worry about setting the z-offset, but you will need to level the build plate manually.
What if I have a TFT35? – The BTT touchscreens, like the TFT35, have the z-offset wizard built-in, but you still need to enable babystepping. If you have a BTT touchscreen, you should follow this guide “BIGTREETECH Touchscreen Z-Offset Wizard – Complete Guide“.
- Creality 32-Bit Mainboard Firmware Upgrade Guide
- Guide to Install a BLTOUCH on a Creality 32-bit Mainboard
- Create a Temperature Tower Using Cura – The Easy Way
- Cura Profiles
- 3D Printscape Marlin Builds
Setting the z-offset used to be the most challenging part of installing a BLTouch, but recent firmware changes have made the task much more manageable. Utilizing the Z-Offset Wizard combined with babystepping gives you the ability to quickly and easily set your z-offset in a fraction of the time.
Make sure you check out our YouTube channel, and if you would like any additional details or have any questions, please leave a comment below or join us on Discord. If you liked this article and want to read others click here.