G-code Dialects
MapleCAM supports multiple G-code dialects to match different CNC controllers.
Supported Dialects
GRBL
The most common controller for hobby CNC machines. Used by Shapeoko, X-Carve, OpenBuilds, 3018 machines, and many others.
Key characteristics:
- Spindle control via
M3 S{speed}/M5 - Feed rate set with
F{rate}on motion commands - Arc commands
G2/G3withI/Joffsets - No subroutines or canned cycles
LinuxCNC
An open-source CNC controller running on Linux PCs. Common in more advanced hobby and semi-professional setups.
Key characteristics:
- Full G-code implementation including canned cycles
- Spindle control via
M3 S{speed}/M5 - Supports tool change (
M6 T{n}) - Comment syntax:
; commentor( comment )
Dialect Differences
| Feature | GRBL | LinuxCNC |
|---|---|---|
| Comment style | ; comment | ; comment or ( comment ) |
| Arc format | I/J incremental | I/J incremental |
| Tool change | Not supported | M6 T{n} |
| Spindle control | M3/M5 | M3/M5 |
Choosing a Dialect
Select the dialect in your machine configuration. If you're unsure, GRBL is the safe default — it works with the majority of hobby CNC controllers.
The dialect is used during G-code export. You can change it at any time without regenerating toolpaths.