FluidNC Alarm 9

FluidNCAlarmPosition isn't set yet: home first

During homing an axis travelled as far as it's allowed to and never found its limit switch.

Position isn't set yet: home first. Homing didn't finish. (Hamrun's reading)
What to do
  1. Watch which axis keeps moving without stopping: that's the switch to check.
  2. Press that switch by hand and watch the pin state in your sender. No change means wiring or a dead switch; always on means the switch setting is inverted ($5).
  3. Check the axis really reaches the switch: loose pulley, binding axis, or max travel ($130–$132) set shorter than the machine.
  4. If the machine has no switch on an axis, don't home that axis (homing cycle settings) instead of forcing it.
  5. Settings sent by another program can be the culprit: compare the controller's $$ settings with the machine maker's.
Official FluidNC message: “Homing Fail Approach” source

Got a different message?

Paste it into the decoder. Hamrun's editor checks your G-code before you run it, so a toolpath that leaves the machine's travel or a missing feed rate is caught before the machine stops.

Related codes

  • GRBL 1.1 Alarm 9: During homing an axis travelled as far as it's allowed to and never found its limit switch.
  • grblHAL Alarm 9: During homing an axis travelled as far as it's allowed to and never found its limit switch.
  • FluidNC Alarm 6: Homing was interrupted by a reset before it finished.
  • FluidNC Alarm 7: The safety door was opened during homing.
  • FluidNC Alarm 8: After touching a limit switch, the machine backed off but the switch still read as pressed.
  • FluidNC Alarm 14: The controller is set to require homing before anything else.

Official text copied from the FluidNC source on 2026-11-01. Steps and the position answer are Hamrun's reading unless marked “firmware says”. User reports are labelled CLAIMED.