Installed bed leveling probe, now Z homing moves to center

I installed a BLTouch bed leveling probe on my printer which uses Marlin 2.0.5.3.

Now the printer seems to be of two minds when it comes to finding the origin. Homing XY moves to the lower left as it always has, but homing Z moves not only to Z=0, but also to the center of the build plate. The printer knows this is (100,100,0) and is not mistakenly thinking it is (0,0,0).

This causes some issues such as now the nozzle wipe at the beginning of a print happens right in the center of where the print is supposed to be.

Is this expected behavior?

• what did you do besides mounting the bed leveling sensor? Which distribution of marlin did you install? Which slicer do you use? Did you hook "Origin is in center"? – Trish Jun 14 at 16:56
• I'm not sure what distribution you're referring to, I built it myself from source. I do not have BED_CENTER_AT_0_0 enabled. I mounted and wired up the sensor but have not calibrated the Z offset yet. – rgov Jun 14 at 17:36

This is a consequence of enabling Z_SAFE_HOMING:

Z Safe Homing prevents Z from homing when the probe (or nozzle) is outside bed area by moving to a defined XY point (by default, the middle of the bed) before Z Homing when homing all axes with G28. As a side-effect, X and Y homing are required before Z homing. If stepper drivers time out, X and Y homing will be required again.

Enable this option if a probe (not an endstop) is being used for Z homing. Z Safe Homing isn’t needed if a Z endstop is used for homing, but it may also be enabled just to have XY always move to some custom position after homing.

My default Cura start G-code contained this sequence:

G28 X0 Y0 ;move X/Y to min endstops
G28 Z0 ;move Z to min endstops


I changed this to

G28 ;safe homing
G90 ;absolute positioning
G0 X0 Y0 ; move to bottom-left corner for nozzle wipe


However any oozing will still happen at the center of the build plate, which is a problem.

• Note that G28 X0 Y0 and G28 Z0 are incorrect instructions, from the wiki: The X, Y, and Z parameters act only as flags. Any coordinates given are ignored. For example, G28 Z10 results in the same behavior as G28 Z. – 0scar Jun 14 at 22:22
• you should possibly retract the filament before probing Z to prevent oozing – Trish Jun 15 at 6:29