CNC Axis Not Homing: Causes, Limit Switch Troubleshooting, and How to Re-establish Machine Zero
When your CNC machine won’t return to its home position, it can’t:
- Start a new job
- Reference the tool offsets
- Perform tool changes or safe moves
This is a critical issue — but also fully recoverable.
Let’s go step by step.
🧭 What Is Homing?
Homing tells the CNC where the machine coordinate system starts — typically via:
- Limit switches (mechanical or optical)
- Absolute encoders
- Proximity sensors
- Servo feedback
Without a successful home cycle, the machine doesn’t know where it is.
⚠️ Common Causes of Homing Failure
| Issue | Symptoms |
|---|---|
| Limit switch not triggered | Axis moves endlessly or stops mid-jog |
| Dirty or damaged sensor | Axis stops early or throws alarm |
| Servo motor not enabled | Axis won’t move at all |
| Parameter mismatch | Homing works wrong direction or skips |
| Physical crash | Axis cannot move to home zone |
🔧 Troubleshooting Steps for CNC Homing Problems
✅ Step 1: Check Axis Movement
Try to jog the axis manually. If the axis won’t move:
- Check E-stop, servo ON, and door interlock
- Verify machine isn’t in alarm state
✅ Step 2: Inspect Limit or Home Switch
- Physically inspect limit switch wiring and location
- Clean the switch (coolant or chips can block signal)
- Use diagnostics to verify signal change (Fanuc: DIAGNOSTIC 7xx range)
✅ Step 3: Power Cycle and Try Homing Again
Some homing errors clear after full shutdown and power-up.
💡 Hold P + Cancel on Fanuc during boot to override soft limit lockouts.
✅ Step 4: Check Parameters
On Fanuc, check:
- 1815#0 (ZRN) → Home axis setting
- 126–128 (Home direction/speed/accel)
If parameters were lost (e.g., after battery failure), restore from backup.
📟 Axis-Specific Tips
🔵 Fanuc:
- Use HOME soft key or run G28 manually
- If encoder battery died, reset home reference via servo setup
- Watch SRDY, OT, and ZRN bits in diagnostics
🔴 Haas:
- Use Power Up/Restart to automatically home
- Use HANDLE JOG + POWER ON for safe recovery
- If axis sticks, release with Z + RESET combo
⚪ Siemens:
- Open MDI → REF screen
- Jog axis to trigger switch manually
- Recalibrate axis reference using setup wizard if needed
🧰 Tools for Diagnosing Homing Issues
| Tool | Purpose |
|---|---|
| Multimeter | Check limit switch continuity |
| CNC Diagnostics | Read input signals from home switches |
| Backup parameter list | Compare correct motion direction |
| Manual mode + handwheel | Slowly test axis travel |
📘 Sample G-Code to Trigger Homing (Manually)
G28 X0 Y0 Z0 (Return all axes to home via machine zero)
G91 G28 Z0 (Incremental home return)
G90 (Return to absolute positioning)
⚠️ Use G91 G28 Z0 first to retract Z before homing XY — prevents crashes.
🛡️ Preventing Homing Errors in the Future
✅ Clean limit switches weekly
✅ Avoid hard overtravel (it damages sensors)
✅ Replace home switch every 2–3 years if mechanical
✅ Keep battery fresh for absolute encoders
✅ Use dry run after battery replacement to verify machine zero
🧠 Final Thoughts
Homing problems are stressful, but not catastrophic.
Focus on:
- Sensor signals
- Power states
- Motion direction
- Parameter consistency
Once the machine regains its machine zero, you’re back in full control.
🧩 No origin = no precision. Always treat homing as your first calibration step.
Leave a comment