1. FUNDAMENTAL G-CODE COMMANDS (Motion) | Command | Description | Example | |---------|-------------|---------| | G0 | Rapid positioning (non-cutting move) | G0 X10 Y20 | | G1 | Linear interpolation (controlled feed cutting) | G1 X5 F100 | | G2 | Circular interpolation (clockwise arc) | G2 X10 Y10 I5 J0 | | G3 | Circular interpolation (counter-clockwise arc) | G3 X0 Y0 I-5 J0 | | G17 | XY plane selection (default for arcs) | G17 | | G18 | XZ plane selection | G18 | | G19 | YZ plane selection | G19 | | G20 | Units: Inches | G20 | | G21 | Units: Millimeters (default) | G21 | | G90 | Absolute positioning (default) | G90 | | G91 | Incremental positioning | G91 | | G93 | Inverse time feed mode | G93 | | G94 | Units per minute feed mode (default) | G94 | 2. SPINDLE & COOLANT CONTROL | Command | Description | Example | |---------|-------------|---------| | M3 | Spindle on (clockwise rotation) | M3 S1000 | | M4 | Spindle on (counter-clockwise) | M4 S500 | | M5 | Spindle stop | M5 | | M7 | Mist coolant on | M7 | | M8 | Flood coolant on | M8 | | M9 | All coolant off | M9 | 3. PROGRAM FLOW & UTILITIES | Command | Description | |---------|-------------| | M0 | Program pause (press resume to continue) | | M1 | Optional pause (if enabled) | | M2 | Program end (same as M30) | | M30 | Program end, rewind to start | | G28 | Go to home position (stored zero) | | G28.1 | Set current position as home reference | | G30 | Go to pre-defined secondary home | | G30.1 | Set current position as secondary home | | G53 | Move in machine coordinates (ignores offsets) | | G92 | Set position offset (temporary coordinate shift) | | G92.1 | Clear G92 offsets | | G92.2 | Suspend G92 offsets | | G92.3 | Resume G92 offsets | 4. TOOL LENGTH OFFSETS (if enabled) | Command | Description | |---------|-------------| | G43.1 | Enable dynamic tool length offset | | G49 | Cancel tool length offset | 5. NON-CONFORMING (GRBL-SPECIFIC) COMMANDS | Command | Description | Example | |---------|-------------|---------| | $H | Run homing cycle | $H | | $X | Kill alarm lock (override safety) | $X | | $N | List startup blocks | $N | | $N0= | Set startup G-code line 1 | $N0=G21 | | $N1= | Set startup G-code line 2 | $N1=G90 | | $RST=$ | Reset all settings to default | $RST=$ | | $RST=# | Clear zero offsets (G92) | $RST=# | | $RST=* | Clear all non-volatile storage | $RST=* | | $C | Check g-code (syntax validation) | $C | | $I | Print build info & version | $I | | $G | Print current active G-code states | $G | 6. STATUS & CONTROL COMMANDS (Real-time) These are single characters, sent without line ending.
| Character | Description | |-----------|-------------| | ? | Report current machine status & position | | ~ | Resume (cycle start) | | ! | Feed hold (pause motion) | | Ctrl-X | Soft reset (clear buffer, alarm state) | View all: $$ View single: $n= (e.g., $130= ) grbl g code commands list pdf
Link your Steam profile to Allkeyshop
Spin the wheel and win Gift Cards
Or win points to turn the wheel again and join the Discord event
Feeling Lucky ? Win PS5, Xbox Series X or 500€ Amazon Gift Cards