top of page
  • Writer's pictureCNC3D

GRBL Error/Alarm codes including extended code for advanced GRBL controllers

In this article we cover ALL Error/Alarm/Status values used in more modern GRBL controllers such as our Nighthawk controller and others like the XPROV5 and FluidNC controllers. This also includes traditional GRBL fault codes.

What is the difference between an Error and Alarm?

ERROR Codes: These codes are generally related to mistakes found within the G-code itself or the commands sent to the machine. They highlight specific issues in the code, like format errors, invalid commands, or values out of the allowed range. ERROR codes are about the syntactical and logical issues within the commands and indicate that something is wrong with the instruction given to the machine. They prevent the erroneous command from being executed to avoid potential damage or unexpected behavior.

ALARM Codes: ALARM codes, on the other hand, relate to the state or condition of the machine. These codes might indicate something about the physical setup or the readiness of the machine to perform the commanded tasks. For instance, an ALARM code might be triggered if a safety door is open, if the machine hasn't been properly homed, or if there are problems with the machine's hardware. ALARM codes often require human intervention to diagnose and rectify the issue. They are more about the machine's capability to execute a command rather than the correctness of the command itself.

In summary, while ERROR codes deal with issues in the commands and instructions, ALARM codes are more concerned with the machine's condition and readiness to carry out those instructions. Both are essential in ensuring safe and accurate operation of CNC machinery.

A definitive list of ALL Error and Alarm fault codes


"No error - Possible crash dump of your controller. Please seek advice from your controller vendor."


"G-code words consist of a letter and a value. Letter was not found."


"Numeric value format is not valid or missing an expected value."


"Machine ‘$’ system command was not recognized or supported."


"Negative value received for an expected positive value."


"Homing cycle is not enabled via settings."


"Minimum step pulse time must be greater than 3usec"


"EEPROM read failed. Reset and restored to default values."


"Machine ‘$’ command cannot be used unless Machine is IDLE. Ensures smooth operation during a job."


"G-code locked out during alarm or jog state"


"Soft limits cannot be enabled without homing also enabled."


"Max characters per line exceeded. Line was not processed and executed."


"‘$’ setting value exceeds the maximum step rate supported."


"Safety door detected as opened and door state initiated."


"(Machine-Mega Only) Build info or start up line exceeded EEPROM line length limit."


"Jog target exceeds machine travel. Command ignored."


"Jog command with no ‘=’ or contains prohibited g-code."


"Laser mode requires PWM output. Your controller may not be suited to running this firmware or no pin is assigned to regulate laser power."


"No homing cycle defined in settings, check peripherals tab to ensure you have at least one axis homing."


"Unsupported or invalid g-code command found in block."


"More than one g-code command from same modal group found in block."


"Feed rate has not yet been set or is undefined."


"G-code command in block requires an integer value."


"Two G-code commands that both require the use of the XYZ axis words were detected in the block."


"A G-code word was repeated in the block."


"A G-code command implicitly or explicitly requires XYZ axis words in the block, but none were detected."


"N line number value is not within the valid range of 1 – 9,999,999."


"A G-code command was sent, but is missing some required P or L value words in the line."


"Machine supports six work coordinate systems G54-G59. G59.1, G59.2, and G59.3 are not supported."


"The G53 G-code command requires either a G0 seek or G1 feed motion mode to be active. A different motion was active."


"There are unused axis words in the block and G80 motion mode cancel is active."


"A G2 or G3 arc was commanded but there are no XYZ axis words in the selected plane to trace the arc."


"The motion command has an invalid target. G2, G3, and G38.2 generates this error, if the arc is impossible to generate or if the probe target is the current position."


"A G2 or G3 arc, traced with the radius definition, had a mathematical error when computing the arc geometry. Try either breaking up the arc into semi-circles or quadrants, or redefine them with the arc offset definition."


"A G2 or G3 arc, traced with the offset definition, is missing the IJK offset word in the selected plane to trace the arc."


"There are unused, leftover G-code words that aren’t used by any command in the block."


"The G43.1 dynamic tool length offset command cannot apply an offset to an axis other than its configured axis. The Machine default axis is the Z-axis."


"An invalid tool number sent to the parser"


"P parameter value is too large. P values are generally in seconds not milliseconds. Please adjust to a lower number."


"SD card failed to initialize, Card is likely not inserted OR try ejecting and re-inserting your SD card."


"SD card failed to read, the most common cause is special characters in your filename, please remove any non-letters or numbers. If this fails, try deleting and replacing your file or formatting your SD card."


"SD card failed to open directory, the most common causes are: Controller has just connected to Commander, SD card not being inserted or special characters in your filename, please remove any non-letters or numbers. If this fails, try deleting and replacing your folder or formatting your SD card."


"SD card directory not found. Likely the folder doesn't exist, check your SD card."


"SD card file empty, you likely have uploaded a blank file by mistake. Please recompile your job and re-upload."


"SD card file not found. Likely the file doesn't exist, check your SD card."


"SD card failed to open. Likely the SD card may need to be formatted. Please ensure to make any back ups before formatting!"


"SD card is busy. Likely the SD is doing something else right now. Please try again shortly or remove and re-insert your SD card."


"SD failed to delete directory. Please try to delete the folder using your desktop PC."


"SD failed to delete file. Please try to delete the file using your desktop PC."


"Bluetooth failed to start. Try power-cycling your controller or seek advice from your controller vendor."


"Wifi failed to start. Try power-cycling your controller or seek advice from your controller vendor."


"Number is out of range for setting. Likely the setting you are trying to change does not exist."


"Invalid value for setting, The value entered is either not in the right range or may not be the right value i.e: Letter entered when it must a number."


"Failed to send message, seek advice from your controller vendor."


"Failed to store setting, seek advice from your controller vendor."


"Failed to get setting status, seek advice from your controller vendor."


"Authentication failed. You may have a password required to access your controller."


"Another interface is busy, Close out of any WebUI windows or wait until they finish uploading your job file before proceeding."

Alarms that require clearing


"No alarm, Likely occurs when your controller is first powered on. If this alarm persists after clearing you may need to seek advice from your controller vendor. "


"Hard limit triggered. Machine position is likely lost due to sudden and immediate halt. Re-homing is highly recommended."


"G-code motion target exceeds machine travel. Machine position safely retained. Alarm may be unlocked. This error occurs because you have either not homed your machine OR you have asked it to travel further than it's soft limit setting allows. Please hit the E-stop button and then hit unlock. Try homing your machine first. If the issue persists, please check your soft limit settings."


"Reset while in motion. Machine cannot guarantee position. Lost steps are likely. Re-homing is highly recommended."


"Probe fail. The probe is not in the expected initial state before starting probe cycle, where G38.2 and G38.3 is not triggered and G38.4 and G38.5 is triggered."


"Probe fail. Probe did not contact the workpiece within the programmed travel for G38.2 and G38.4."


"Homing fail. Reset during active homing cycle."


"Homing fail. Safety door was opened during active homing cycle."


"Homing fail. Cycle failed to clear limit switch when pulling off. Try increasing pull-off setting or check wiring."


"Homing fail. Could not find limit switch within search distance. Defined as 1.5 * max_travel on search and 5 * pulloff on locate phases."


"Spindle control failed or system used to control spindle reported an error. This typically could be RS485 errors reported from your controller. Suggest using 0-10V signals instead if this occurs regularly."

Hold/Door related alerts


"Hold complete. Ready to resume."


"Hold in-progress. Reset will throw an alarm."


"Door closed. Ready to resume."


"Machine stopped. Door still ajar. Can’t resume until closed."


"Door opened. Hold (or parking retract) in-progress. Reset will throw an alarm."


"Door closed and resuming. Restoring from park, if applicable. Reset will throw an alarm."

To this date (24/08/2023) These are ALL of the current advanced GRBL fault and error codes. Hopefully this article makes it easier for you to understand how to Errors and Alarms occur and how you can go about resolving many of these issues.

222 views0 comments