Z-Offset calibration: fine-tune your first layer remotely

Written By Albert Møller Nielsen

Last updated About 6 hours ago

Z-Offset calibration: fine-tune your first layer remotely

This feature is coming soon and is not yet available in SimplyPrint.

The Z-offset calibration wizard lets you calibrate your printer's Z-offset directly from SimplyPrint - no physical access to the printer's screen required. This is the same "paper test" calibration you'd do locally, but accessible remotely.

What is Z-offset?

When your printer has a probe (BLTouch, CR-Touch, inductive sensor, load cell, etc.), that probe triggers at a different height than where your nozzle actually touches the bed. The Z-offset tells your printer's firmware: "when the probe triggers, the nozzle is X millimeters from the bed."

If the Z-offset is wrong:

  • Too far from bed: Poor adhesion, prints detaching, spaghetti
  • Too close to bed: Nozzle scratching the bed surface, potential damage

When do you need to recalibrate?

You should recalibrate Z-offset after:

  • Changing the nozzle
  • Swapping or adjusting the build plate
  • Moving or adjusting the probe
  • Reassembling the hotend or bed

It's one of the most common calibration tasks for FDM printers.

Supported printers

Z-offset calibration works with printers connected via:

IntegrationSupported
OctoPrint (Marlin)Yes
Moonraker/KlipperYes
Duet (RepRap)Yes
Bambu LabNo - uses automatic calibration
UltimakerNo
ElegooNo
Prusa ConnectNo - uses built-in calibration

The feature requires the ability to send G-code commands to the printer, which some closed integrations don't support.

Probe vs endstop-only printers

The wizard works with both probe-equipped printers and older endstop-only printers. SimplyPrint detects your setup and sends the appropriate commands.

How to use the Z-offset wizard

Starting calibration

  1. Open the Control panel for your printer
  2. Click the Z-Offset Calibration button in the top bar (next to bed leveling)
  • Or: Open printer settings dropdown and select Z-Offset Calibration
  1. Read the instructions and click Start Calibration

Make sure the build plate is clear before starting. Have a piece of paper ready - standard printer paper works well.

The paper test

After homing and probing completes:

  1. Slide a piece of paper between the nozzle and bed
  2. Use the adjustment buttons to lower the nozzle
  3. Keep adjusting until you feel slight resistance when pulling the paper
  4. Click Save Z-Offset

The step size buttons (0.01mm, 0.1mm, 0.5mm, 1mm) let you make coarse or fine adjustments. Start with larger steps, then switch to 0.01mm for final fine-tuning.

After saving

  • Marlin/OctoPrint: The offset is saved immediately to EEPROM
  • Klipper: The printer restarts briefly to apply changes (SAVE_CONFIG) - this is normal
  • Duet: The offset is saved to config-override.g

How it works (technical details)

The wizard uses G-code macros that adapt to your printer's firmware. If you need to customize the behavior, you can edit these macros in Settings → G-code Macros.

Firmware-specific commands

FirmwareStartAdjustSave
Klipper (probe)PROBE_CALIBRATETESTZ Z=XACCEPT + SAVE_CONFIG
Klipper (endstop)Z_ENDSTOP_CALIBRATETESTZ Z=XACCEPT + SAVE_CONFIG
Marlin (probe)M851 Z0, G28, G1 Z0G91 + G1 ZM851 + M500
Marlin (endstop)M206 Z0, G28, G1 Z0G91 + G1 ZM206 + M500
DuetG30 S-2, G92 Z0G91 + G1 ZG31 + M500

Safety features

  • Offset range limited to -5.0mm to +2.0mm
  • Warning shown for unusual values outside -3.0mm to +0.5mm
  • Soft endstops (Marlin) temporarily disabled during calibration
  • Nozzle automatically raised when canceling

Troubleshooting

"This feature is not available for your printer"

Your printer integration doesn't support sending G-code commands. This typically means:

  • Bambu Lab printers (closed ecosystem)
  • Ultimaker (no direct G-code control)
  • Elegoo printers (limited API)

Offset seems wrong after saving

Some causes:

  • Bed temperature wasn't at printing temp during calibration (thermal expansion affects measurements)
  • Paper thickness varies - try a different piece
  • Nozzle had filament residue

Tip: Run calibration with the bed heated to your usual printing temperature for best accuracy.

Klipper printer went offline after saving

This is expected behavior. Klipper requires a firmware restart after SAVE_CONFIG. The printer will reconnect within a few seconds.

Related features

  • Babystepping: Temporary per-print Z adjustments (different from Z-offset)
  • Bed leveling/probing: Creates a mesh of bed surface variations
  • G-code macros: Customize the calibration commands for your setup