Articles on: SimplyPrint features

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

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:


Integration

Supported

OctoPrint (Marlin)

Yes

Moonraker/Klipper

Yes

Duet (RepRap)

Yes

Bambu Lab

No - uses automatic calibration

Ultimaker

No

Elegoo

No

Prusa Connect

No - 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


Firmware

Start

Adjust

Save

Klipper (probe)

PROBE_CALIBRATE

TESTZ Z=X

ACCEPT + SAVE_CONFIG

Klipper (endstop)

Z_ENDSTOP_CALIBRATE

TESTZ Z=X

ACCEPT + SAVE_CONFIG

Marlin (probe)

M851 Z0, G28, G1 Z0

G91 + G1 Z

M851 + M500

Marlin (endstop)

M206 Z0, G28, G1 Z0

G91 + G1 Z

M206 + M500

Duet

G30 S-2, G92 Z0

G91 + G1 Z

G31 + 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.



  • 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


Updated on: 23/02/2026

Was this article helpful?

Share your feedback

Cancel

Thank you!