Z offset and first layer
The first layer makes or breaks a print. On the G1, the most common first-layer problem is a wrong Z offset — the distance between the nozzle tip and the bed at the start of printing.
Symptoms
Section titled “Symptoms”- First layer is too squashed — very wide, glassy, hard to remove from the bed
- First layer is too high — round, “rope-like” lines that don’t stick, the print warps or detaches
- The nozzle drags or scratches the bed at the start of printing
- After a nozzle change, the first layer suddenly looks completely wrong
- After moving the machine or changing cables, the bed mesh “doesn’t load” correctly
- “It was fine yesterday, today the first layer is a mess”
Possible causes
Section titled “Possible causes”- Wrong live Z offset — most common; just needs adjustment
- Nozzle changed but Z offset not updated — different nozzle = different protrusion → different Z
- Bed mesh leveling not saved correctly — saved from display but G-code expects the slicer’s mesh
- Probe Z offset drifted — the bed-leveling probe and the nozzle have different Z offsets, which can drift after cable / endstop changes
- Bed not flat / not clean — debris, residue, scratches under the nozzle
How to know the Z offset is right
Section titled “How to know the Z offset is right”There is one test, and it is a measurement rather than an opinion:
The visual signs below are useful for spotting a problem quickly mid-print, but the caliper is what settles it.
Adjusting live during the first layer
Section titled “Adjusting live during the first layer”- Start the print
- Watch the first lines (skirt or first wall)
- While printing, on the printer display open the Tune / Z offset menu
- Adjust in small steps (0.05 mm)
| What you see | Action |
|---|---|
| Lines too squashed, very wide, shiny | Raise Z offset (positive direction, +0.05 mm) |
| Lines round, rope-like, lifting | Lower Z offset (negative direction, −0.05 mm) |
| Nozzle scratching the bed | Stop the print immediately, raise Z offset by +0.1 mm before restarting |
Typical adjustments are within ±0.7 mm of the saved baseline. Once you find the right value, save it from the display so it persists.
After a nozzle change
Section titled “After a nozzle change”Different nozzles have different lengths. The Z offset is invalidated every time you swap nozzles.
- Re-run bed leveling with the new nozzle installed
- Re-tune the live Z offset on the first print
- Save the new Z offset
If the mesh runs but the height is still wrong
Section titled “If the mesh runs but the height is still wrong”The pattern: levelling visibly probes the bed, the heightmap looks sensible, and then the nozzle starts the print far too high or too low.
This is worth understanding, because the printer has two different ways of getting a mesh and the slicer decides which one is used.
| Mode | What the printer does |
|---|---|
Adaptive (KAMP_LEVELING=1 from the slicer) | Probes the bed fresh at the start of every print, over the area the part actually occupies. Whatever you saved earlier is ignored |
| Stored (anything else) | Loads the mesh saved under the name global. Nothing is probed |
So in stored mode there has to be a mesh called global, and only one thing creates it: the BED_LEVEL macro, which probes and saves under that name.
- Run BED_LEVEL from the macro buttons — not
BED_MESH_CALIBRATEfrom the console - Let it finish; it saves the profile itself
- Reprint
If the probe and nozzle have different Z offsets
Section titled “If the probe and nozzle have different Z offsets”After replacing endstops, cables, or moving the machine, the probe Z offset can drift relative to the nozzle. Symptom: bed mesh looks right but the nozzle hits the bed (or stays way too high) at print start.
- From the printer display, find the Z offset tuning menu
- Run a print and adjust live Z offset to the correct value
- Save the new probe-vs-nozzle Z offset
Diagnostic flow
Section titled “Diagnostic flow”First layer wrong │ ├── Wrong everywhere uniformly? │ └── Live Z offset adjustment │ ├── Wrong only after nozzle change? │ └── Re-level, re-tune Z offset, save │ ├── Mesh ran but Z is way off? │ └── Re-run it with the BED_LEVEL macro │ (not BED_MESH_CALIBRATE) │ └── Wrong only in some regions? └── Bed not flat / debris / surface damaged Clean the bed, re-levelHow to prevent
Section titled “How to prevent”- Always re-level after a nozzle change before printing
- After moving the machine, run a fresh bed leveling
- Keep the bed surface clean — wipe with isopropyl alcohol between materials
- Don’t change endstops or homing-related cables without re-running calibration
- Save your final Z offset to firmware via the display
- The single most common first-print problem after the assembly is finished
- Live Z offset tuning is quick, and worth learning once — it is the adjustment you will reach for most often
- Saving from the display vs. saving from the computer: small but real source of confusion