I'm going to call it "squish" to be unambiguous. "Z offset" and "z height" can be conflated with other concepts.
-
⚠️ This section assumes that you have already done a rough 📄Z offset calibration. -
⚠️ This section also assumes that you have a consistent first layer squish, both across the entire build surface and between prints.⚠️ See the 📄First Layer / Squish Consistency Issues article, even if you are not having any issues. There is some important information in there that everyone should know, particularly about thermal drift.
1) Set your first layer height to 0.25 or greater (in my opinion).
- Thicker first layer heights are less sensitive and easier to maintain, especially on larger printers where first layer consistency can be a challenge.
- Aside from that, this is personal preference.
2) Scatter square patches around your bed in your slicer.
-
See the 📄test_prints folder.
- Choose a patch that matches your first layer height.
(Patch-25x25x0.25mm.stl if you chose to follow step 1)
- Choose a patch that matches your first layer height.
3) Set your first layer 📄line width to 120% or greater.
4) Start the print. While it is printing, 📄live adjust z.
- This can be done via g-codes/macros, LCD, or via web. I find it easiest to sit in front of the printer and fine-tune with the LCD.
In these examples, the third square is closest.
There are real-life print examples in the next section.
Note: When I refer to "gaps", I mean where you can see between/through the extrusion lines.
If you can see any light (excluding pinholes at the perimeter), or the next layer on real prints, then you need more squish.
-
- Top Surface
- Bottom Surface
-
- Top Surface
- Bottom Surface
5) Once you are happy with your squish, cancel the print and then save your new offset with one of the below methods:
-
Dedicated Z Endstop:
(With dedicated Z endstops. Stock V0/V2/Trident are set up this way)- Enter
Z_OFFSET_APPLY_ENDSTOP
*- This will apply your new offset to your stepper_z's
position_endstop
.
- This will apply your new offset to your stepper_z's
- Enter
SAVE_CONFIG
.
- Enter
-
Virtual Z Endstop:
(When using the probe as the Z endstop. Stock Switchwire and Legacy are set up this way)- Enter
Z_OFFSET_APPLY_PROBE
*- This will apply your new offset to your probe's
z_offset
.
- This will apply your new offset to your probe's
- Enter
SAVE_CONFIG
.
- Enter
-
Klicky Auto Z Calibration:
(This is a mod, it uses Klicky AND nozzle endstop to automatically baby step before each print. See 📄here for more information.)- Manually adjust your
switch_offset
based on how much extra you had to baby step.- Higher value = more squish
- Lower value = less squish
- Manually adjust your
* Requires a semi-recent version of Klipper.
You should still clearly be able to see the lines. If it's completely smooth, your squish is too much. If you see gaps between the lines, you need more squish.