G-codes List

Code Parameters Description Example
G00 X, Y, Z, A, B, F  Rapid positioning – moves the tool in a straight line to the specified coordinates at maximum speed.

Main parameters:
  • • [X] – target X coordinate [mm]
  • • [Y] – target Y coordinate [mm]
  • • [Z] – target Z coordinate [mm]
  • [A] – target A coordinate [mm]
  • [B] – target B coordinate [mm]
  • Specify only the axes you want to move

  • • [F] – feed rate [mm/min]
  • If omitted, the machine moves at maximum speed

Note: The A and B axes are not supported yet. Please refer to the product roadmap for details.
G00 X10 Y20.52
Executes a rapid move from the current position to X10 Y20.52 at maximum speed.

G00 X30 Y40 F500
Executes a rapid move from the current position to X30 Y40 using a feedrate of 500 mm/min instead of the maximum speed.
G01 X, Y, Z, A, B, F  Linear interpolation – moves the tool in a straight line to the specified coordinates at the programmed feedrate.

Main parameters:
  • • [X] – target X coordinate [mm]
  • • [Y] – target Y coordinate [mm]
  • • [Z] – target Z coordinate [mm]
  • [A] – target A coordinate [mm]
  • [B] – target B coordinate [mm]
  • Specify only the axes you want to move

  • • [F] – feed rate [mm/min]
  • If omitted, uses the last feedrate specified for G01, G02, or G03

Note: The A and B axes are not supported yet. Please refer to the product roadmap for details.
G01 X10 Y20.52 F500
Executes a linear interpolation from the current position to X10 Y20.52 at a feedrate of 500 mm/min.

G01 X30 Y40
Executes a linear interpolation from the current position to X30 Y40 using the last specified feedrate.
G02 X, Y, I, J, R, F  Circular interpolation, clockwise – moves the tool along a circular path to the specified end coordinates.

Main parameters:
  • • [X] – target X coordinate [mm]
  • • [Y] – target Y coordinate [mm]
  • Omitting X, Y executes a full circle at current XY position.

  • • [F] – feed rate [mm/min]
  • If omitted, uses the last feedrate specified for G01, G02, or G03

The arc can be defined in two ways: (do not mix them in one line) 1. Center offset method:
  • • [I] – X axis offset from the start point to the circle center [mm]
  • • [J] – Y axis offset from the start point to the circle center [mm]
  • At least one offset (I or J) must be specified when using this method.

2. Radius method:
  • • [R] – circle radius [mm]
  • The sign of R selects which arc is executed:
  • R+ (positive value) – arc with sweep angle ≤ 180°
  • R- (negative value) – arc with sweep angle > 180°
Note: The sign of R does not affect the direction of motion. Direction is defined by the command – clockwise for G02
G02 X30 Y40 I10 J10 F100
CW arc to X30 Y40. Center is offset by I10 (X) and J10 (Y) from start point. Feedrate: 100 mm/min.

G02 X50 Y60 R15
CW arc to X50 Y60 with radius 15. R+ selects the shorter arc (≤ 180°). Uses last feedrate.

G02 X50 Y60 R-15
CW arc to X50 Y60 with radius 15. R- selects the longer arc (> 180°). Uses last feedrate.

G02 I10 J10
Full circle (360°) at current position with center offset I10 J10.
G03 X, Y, I, J, R, F  Circular interpolation, counterclockwise – moves the tool along a circular path to the specified end coordinates.

Main parameters:
  • • [X] – target X coordinate [mm]
  • • [Y] – target Y coordinate [mm]
  • Omitting X, Y executes a full circle at current XY position.

  • • [F] – feed rate [mm/min]
  • If omitted, uses the last feedrate specified for G01, G02, or G03

The arc can be defined in two ways: (do not mix them in one line) 1. Center offset method:
  • • [I] – X axis offset from the start point to the circle center [mm]
  • • [J] – Y axis offset from the start point to the circle center [mm]
  • At least one offset (I or J) must be specified when using this method.

2. Radius method:
  • • [R] – circle radius [mm]
  • The sign of R selects which arc is executed:
  • R+ (positive value) – arc with sweep angle ≤ 180°
  • R- (negative value) – arc with sweep angle > 180°
Note: The sign of R does not affect the direction of motion. Direction is defined by the command – counterclockwise for G03
G03 X30 Y40 I10 J10 F100
CCW arc to X30 Y40. Center is offset by I10 (X) and J10 (Y) from start point. Feedrate: 100 mm/min.

G03 X50 Y60 R15
CCW arc to X50 Y60 with radius 15. R+ selects the shorter arc (≤ 180°). Uses last feedrate.

G03 X50 Y60 R-15
CCW arc to X50 Y60 with radius 15. R- selects the longer arc (> 180°). Uses last feedrate.

G03 I10 J10
Full circle (360°) at current position with center offset I10 J10.
G04 P, S  Dwell – pauses program execution for a specified period of time without moving the machine.

Main parameters:
  • • [P] – dwell time in milliseconds [ms]
  • • [S] – dwell time in seconds [s]
  • Only one parameter should be specified at a time.
  • If both P and S are specified, the S parameter takes precedence.
  • If no parameter is specified, or the value is 0, the command has no effect.
  • Note: During the dwell time, all motion is temporarily stopped while the controller remains active.
G04 P1000
Pauses execution for 1000 milliseconds (1 second).

G04 S2
Pauses execution for 2 seconds.

G04 P500 S1
Although P500 (500 ms) is specified, the S parameter takes precedence, resulting in a 1 second dwell.

G04
No parameters provided. The command is ignored and no dwell is performed.

G04 P0
Zero dwell time specified. The command has no effect.
G28 X, Y, Z, A, B, F, M, N, T, D, H  Homing and axis state control – controls homing, trust state and position reference of the specified axes.

Main axis parameters:
  • • [X] – target X axis
  • • [Y] – target Y axis
  • • [Z] – target Z axis
  • [A] – target A coordinate [mm]
  • [B] – target B coordinate [mm]

Operating modes:
  • • [H] – return to stored home position (only for trusted axes)
  • • [M] – manual homing using user-specified coordinates
  • • [N] – manual homing to machine zero using configured endstop limits
  • • [T] – mark specified axes as trusted
  • • [D] – mark specified axes as untrusted
  • If no mode parameter is given, automatic homing is performed.

Automatic homing (default mode):
  • Moves selected axes towards hardware endstops.
  • Uses optional [F] feedrate or homing feedrate if not specified.

Note: Only one operating mode can be used at a time. Combining multiple modes in a single command is not supported.
Note: The A and B axes are not supported yet. Please refer to the product roadmap for details.
G28 X Y Z
Automatically homes X, Y and Z axes using hardware endstops.

G28 X0 Y0 M
Manually sets the current X and Y positions to the specified coordinates.

G28 X D
Marks the X axis as untrusted and unhomed.

G28 X T
Marks the X axis as trusted without performing any motion.

G28 X H
Moves the X axis to the stored home position (only if the axis is trusted).

G28 X N
Performs manual homing of the X axis using configured machine endstop limits.

G28 Z F100
Performs automatic homing of the Z axis using a custom feedrate.
G38.2 X, Y, Z, F  Probe towards material surface – moves the probe towards the specified target coordinates until material contact is detected. If the target Z position is reached without detecting material, an error is triggered.

Main parameters:
  • • [X] – target X coordinate [mm]
  • • [Y] – target Y coordinate [mm]
  • If omitted, current position used

  • • [Z] – target Z coordinate [mm]
  • • [F] – probing feedrate [mm/min]
  • If omitted, the machine moves at configured homing feedrate

Note: When material is detected, the probe stops immediately. The machine’s X and Y positions are set to the target values (if specified), and Z is set to the measured contact height.
G38.2 Z-15 F500
Probes the Z axis down to -15 mm at 500 mm/min until material contact is detected.

G38.2 X50 Y50 Z-10
Moves towards the target position X50 Y50 Z-10. If material is detected before reaching Z-10, the probe stops immediately and the machine’s position is updated to X50 Y50, with Z set to the measured contact height.
G53 X, Y, Z, A, B, F  Move in the machine coordinate system – performs motion in the machine’s absolute coordinates, ignoring all work offsets.

Main parameters:
  • • [X] – target X abs coordinate [mm]
  • • [Y] – target Y abs coordinate [mm]
  • • [Z] – target Z abs coordinate [mm]
  • [A] – target A abs coordinate [mm]
  • [B] – target B abs coordinate [mm]
  • Specify only the axes you want to move

  • • [F] – feed rate [mm/min]
  • If omitted, the machine moves at maximum speed
G53 X0 Y0 Z0
Moves the machine to the absolute position X0 Y0 Z0 in the machine coordinate system at maximum speed (or specified F). Work offsets are ignored.
G90 Absolute positioning – all subsequent moves are interpreted as absolute coordinates relative to the current work coordinate system.

Note: Does not perform motion by itself; only changes how coordinates are interpreted.
G90
Sets the machine to absolute positioning mode. All future movement commands use coordinates relative to the origin of the current work coordinate system.

Example sequence:
G90
G0 X10 Y10

Moves the tool to absolute position X=10, Y=10.

G0 X20 Y5
Moves the tool to absolute position X=20, Y=5.
G91 Incremental positioning – all subsequent moves are interpreted as relative displacements from the current position.

Note: Does not perform motion by itself; only changes how coordinates are interpreted.
G91
Sets the machine to incremental positioning mode. All future movement commands move the tool relative to its current position.

Example sequence:
G91
G0 X10 Y10

Moves the tool +10 mm in X and +10 mm in Y relative to its current position.

G0 X-5 Y0
Moves the tool -5 mm in X, Y remains unchanged.
G92 X, Y, Z, A, B  Set the current position – assigns the specified coordinates to the machine’s workspace offset without moving the tool. Useful for resetting the origin or aligning workpieces.

Main parameters:
  • • [X] – X axis value to set [mm]
  • • [Y] – Y axis value to set [mm]
  • • [Z] – Z axis value to set [mm]
  • [A] – A axis value
  • [B] – B axis value
Note: The A and B axes are not supported yet. Please refer to the product roadmap for details.
G92 X0 Y0 Z0
Sets the current machine position to X=0, Y=0, Z=0 without moving the tool. Future movement commands will interpret this as the new origin.

G92 X100
Sets the current X position to 100 mm, leaving other axes unchanged.

M-codes List

Code Parameters Description Example
M00 P, S  Program stop – pauses the execution of the program until a continue signal is received. The signal can come from the user, an input pin, or an external module.

Main parameters:
  • • [P] – timeout in milliseconds
  • • [S] – timeout in seconds
  • Only one parameter should be specified at a time.
  • If both P and S are specified, the S parameter takes precedence.
  • If neither P nor S is specified, the default timeout is 0 (waits indefinitely until a continue signal).

M00 S3
Stops program execution for up to 3 seconds or until a continue signal is received.

M00 P1000
Stops program execution for up to 1000 ms or until a continue signal is received.

M00
Stops program execution indefinitely until a continue signal is received (default timeout 0).
M03 Turn ON the laser or plasma effector (activates main machine relay).

Main parameters:
  • • [I] – inline mode
  • Enables effector in synchronization with move planner execution (inline mode).
  • If omitted, the effector is turned on immediately after all previous motions are completed, without inline synchronization.

M03
Turns on the effector by activating the main relay immediately after previous motions are done.

M03 I
Turns on the effector in inline mode, synchronized with planner execution.
M04 Turn ON the laser or plasma effector (activates main machine relay).

Main parameters:
  • • [I] – inline mode
  • Enables effector in synchronization with move planner execution (inline mode).
  • If omitted, the effector is turned on immediately after all previous motions are completed, without inline synchronization.

M04
Turns on the effector by activating the main relay immediately after previous motions are done.

M04 I
Turns on the effector in inline mode, synchronized with planner execution.
M05 Turn OFF the laser or plasma effector (deactivates main machine relay).

Main parameters:
  • • [I] – inline mode
  • Effector is disabled in synchronization with move planner execution (inline mode).
  • If omitted, the effector is turned off immediately after all previous motions are completed, without inline synchronization.

M05
Turns off the effector by deactivating the main relay immediately after previous motions are completed.

M05 I
Turns off the effector in inline mode, synchronized with planner execution.
M62 P, S, I  Turns ON a digital output (DO1–DO6) with optional power and inline synchronization.

Main parameters:
  • • [P] – output number (1–6)
  • • [S] – output power in percent
  • Optional; default 100%. Only affects continuous outputs. For binary outputs, any S > 0 simply turns the output ON.

  • • [I] – inline mode
  • Synchronizes output activation with motion execution (inline mode).
  • If omitted, the output is turned on immediately after all previous motions are completed, without inline synchronization.
  • Note: Continuous outputs are PWM outputs.

M62 P3
Turns on digital output 3 ON (for binary output) immediately after all previous motions are finished.

M62 P5 S75 I
Turns on continuous output 5 at 75% power, synchronized inline with the motion planner.
M63 P, I  Turns OFF a digital output (DO1–DO6) with optional inline synchronization.

Main parameters:
  • • [P] – output number (1–6)
  • • [I] – inline mode
  • Synchronizes output deactivation with motion execution (inline mode).
  • If omitted, the output is turned off immediately after all previous motions are completed, without inline synchronization.
Note: Continuous outputs are PWM outputs.
M63 P3
Turns off digital output 3 immediately after all previous motions are finished (binary output).

M63 P5 I
Turns off digital output 5 in inline mode, synchronized with the motion planner (for continuous output).
M205 Set advanced machine settings – allows configuring internal motion parameters without moving the machine. Junction deviation affects how sharply the machine can change direction at corners.

Note: This parameter is not stored permanently. After a power cycle or controller restart, the default value is restored. To keep a custom value, the command must be issued after each machine startup.
Main parameters:
  • • [J] – junction deviation in millimeters [mm]
  • Optional; if omitted, the current value is kept.
Note: Use caution when increasing junction deviation; too high values may reduce motion accuracy or cause mechanical stress.
M205 J0.05
Sets the junction deviation to 0.05 mm. This changes how sharply the machine accelerates/decelerates when moving around corners.

M205
Queries or keeps the current junction deviation value without changing it.
M410 Emergency stop – immediately aborts all planned and active motion.

The machine is stopped instantly, even in the middle of a move. Axis positions may become out of sync with the stepper position and should be re-homed before continuing.

Note: This command is typically injected by the control system and should be used only in emergency situations.
M410
Immediately stops all motion without deceleration (emergency stop).
M411 Controlled stop – aborts queued motions and performs a normal stop of the machine.

Motion is stopped in a controlled manner. Unlike M410, this command uses a normal stop procedure and is safer for mechanics.

Note: This command is typically injected by the control system.
M411
Stops the machine using a controlled (non-emergency) stop.
M666 Disable Torch Height Controller (THC). Turns off automatic torch height regulation.

Main parameters:
  • • [I] – inline mode
  • Disables THC in synchronization with motion planner execution.
  • If omitted, THC is turned off immediately after all previous motions are completed.
M666
Immediately disables THC after current motion queue is finished.

M666 I
Disables THC in inline mode, synchronized with motion execution.
M667 I, P  Enable Torch Height Controller (THC). Activates automatic torch height regulation during cutting operations.

Main parameters:
  • • [I] – inline mode
  • Enables THC in synchronization with motion planner execution.
  • If omitted, THC is enabled immediately after all previous motions are completed.
  • • [P] – target voltage for THC
  • Optional; sets the THC target voltage.
  • Setting voltage in inline mode is not supported and will be ignored.
M667
Enables THC with default settings after previous motions are completed.

M667 P120
Enables THC and sets the target voltage to 120 (non-inline mode).

M667 I
Enables THC in inline mode (without changing target voltage).