From e3e76d95893f31c2d02882e06e222be541bec43d Mon Sep 17 00:00:00 2001 From: 12oclocker <73079144+12oclocker@users.noreply.github.com> Date: Mon, 23 Feb 2026 21:20:04 -0500 Subject: [PATCH] Update motion.cpp fix for machines with z_min endstops + probes --- Marlin/src/module/motion.cpp | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/Marlin/src/module/motion.cpp b/Marlin/src/module/motion.cpp index 239f8ac627..6fc44d9a48 100644 --- a/Marlin/src/module/motion.cpp +++ b/Marlin/src/module/motion.cpp @@ -2898,6 +2898,11 @@ void Motion::set_axis_is_at_home(const AxisEnum axis) { #endif if (DEBUGGING(LEVELING)) DEBUG_ECHOLNPGM("*** Z homed with PROBE" TERN_(Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN, " (Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN)") " ***\n> (M851 Z", probe.offset.z, ")"); #else + /** + * This is critical for machines with z_min endstops + probes (probe and Z endstop are independent), + * force Z to be 0 so that auto MESH bed leveling correctly applies probe offset from a properly endstop zeroed bed. + */ + position.z = 0; //critical for machines with z_min endstops + probes if (DEBUGGING(LEVELING)) DEBUG_ECHOLNPGM("*** Z homed to ENDSTOP ***"); #endif }