diff --git a/HOMING_FIX.md b/HOMING_FIX.md new file mode 100644 index 0000000..b507bf6 --- /dev/null +++ b/HOMING_FIX.md @@ -0,0 +1,81 @@ +# GRBL Homing Issue - Fix Documentation + +## Problem Identified + +Your GRBL configuration was attempting to home X and Y axes **simultaneously** in `HOMING_CYCLE_1`. When axes home at the same time, whichever limit switch is encountered first can cause the entire homing cycle to abort, especially if: + +- Axes have different distances to travel to their limit switches +- Mechanical tolerances cause one axis to reach its switch before the other +- The machine isn't perfectly square + +## Root Cause + +In `grbl/limits.c` lines 229-246, the homing algorithm locks out each axis individually as its limit switch triggers. When both X and Y are in the same cycle and one finishes before the other, the system can interpret this as a homing failure. + +## Solution Applied + +**Changed in `grbl/config.h`:** + +**Before:** +```c +#define HOMING_CYCLE_0 (1<