Defining the position of a dockable probe on a Delta printer

Basic Information:

Printer Model: Delta printer
MCU / Printerboard: Arduino, Raspberry Pi 4
klippy.log (219.3 KB)


Fill out above information and in all cases attach your klippy.log file. Pasting your printer.cfg is not needed
Be sure to check our Knowledge Base and in particular this and this post

Describe your issue: On a Delta printer, what is a good way to define a target position for a dockable probe park that won’t be changed if the Z is re-zeroed?

The significance is that I have made a dockable Z probe for my Delta printer and attaching and detaching the sled works very well. Video of this at However, after the mesh the value of Z is changed, and parking the sled will fail. There is a further probe operation after the mesh to get the final Z position which again alters the Z.


Maybe the zero-reference-position can achieve this.
Guess, @Arksine would be the authority here.

O.K., I don’t seem to have explained the problem well, so I will try again.

Start by home all at X0, Y0, Z284.7mm (it is a Delta printer)
then go to the approach to the sled park at X99 Y-50, Z0.7
and then move to Y-61 where the sled is picked up,
followed by a raise to Z20 then a call to BED_MESH_CALIBRATE
which runs correctly, however, the Z home is now at 287.3 instead of the original 284.7, and returning the sled to the park will fail.

The next part is using an under-bed nozzle contact probe, this time without the sled.
The nozzle is moved directly over the under-bed sensor at X45 Y80 and a PROBE command is given.
The output of this command is used to set the final Z Zero. This of course will mean that the Z is now wrong for picking up the sled the next time.
I think the X,Y position of this is probably the zero_reference_position.

I have managed to get it working by homing before each sled attach/sled detach and using relative moves, but this is slow and clunky.


By default the mesh is saved to the “default” profile after calibration. Clear the mesh, dock the probe, then load the default profile.

Presumably this is applied using gcode offset or G92. It should be possible to clear either one before picking up the probe.

Thank you Arksine and Sineos, you have given me some clues to work on. I fear that my programming skills are weak or non-existent for anything but assemblers for some processors so I expect it will take some work to get where I want to be.