G-Code commands supported by Marlin
The G-Code commands supported by Marlin 3D printing firmware are:
Implemented Codes | |
---|---|
G0 | Rapid Motion |
G1 | Coordinated Movement X Y Z E |
G2 | CW ARC |
G3 | CCW ARC |
G4 | Dwell S |
G10 | Retract filament according to settings of M207 |
G11 | Retract recover filament according to settings of M208 |
G28 | Home all Axis |
G90 | Use Absolute Coordinates |
G91 | Use Relative Coordinates |
G92 | Set current position to coordinates given |
RepRap M Codes | |
---|---|
M0 | Unconditional stop. Wait for user to press a button on the LCD (Only if ULTRA_LCD is enabled) |
M1 | Same as M0 |
M104 | Set extruder target temp |
M105 | Read current temp |
M106 | Fan on |
M107 | Fan off |
M109 | Wait for extruder current temp to reach target temp. |
M114 | Display current position |
Custom M Codes | |
M17 | Enable/Power all stepper motors |
M18 | Disable all stepper motors; same as M84 |
M20 | List SD card |
M21 | Init SD card |
M22 | Release SD card |
M23 | Select SD file (M23 filename.g) |
M24 | Start/resume SD print |
M25 | Pause SD print |
M26 | Set SD position in bytes (M26 S12345) |
M27 | Report SD print status |
M28 | Start SD write (M28 filename.g) |
M29 | Stop SD write |
M30 | Delete file from SD (M30 filename.g) |
M31 | Output time since last M109 or SD card start to serial |
M42 | Change pin status via gcode |
M80 | Turn on Power Supply |
M81 | Turn off Power Supply |
M82 | Set E codes absolute (default) |
M83 | Set E codes relative while in Absolute Coordinates (G90) mode |
M84 | Disable steppers until next move, or use S |
M85 | Set inactivity shutdown timer with parameter S |
M92 | Set axis_steps_per_unit same syntax as G92 |
M114 | Output current position to serial port |
M115 | Capabilities string |
M117 | Display message |
M119 | Output endstop status to serial port |
M140 | Set bed target temp |
M190 | Wait for bed current temp to reach target temp. |
M200 | Set filament diameter |
M201 | Set max acceleration in units/s^2 for print moves (M201 X1000 Y1000) |
M202 | Set max acceleration in units/s^2 for travel moves (M202 X1000 Y1000) Unused in Marlin!! |
M203 | Set maximum feedrate that your machine can sustain (M203 X200 Y200 Z300 E10000) in mm/sec |
M204 | Set default acceleration: S normal moves T filament only moves (M204 S3000 T7000) in mm/sec^2 also sets minimum segment time in ms (B20000) to prevent buffer underruns and M20 minimum feedrate |
M205 | advanced settings: minimum travel speed S=while printing T=travel only, B=minimum segment time X= maximum xy jerk, Z=maximum Z jerk, E=maximum E jerk |
M206 | Set additional homeing offset |
M207 | Set retract length S[positive mm] F[feedrate mm/sec] Z[additional zlift/hop] |
M208 | Set recover=unretract length S[positive mm surplus to the M207 S*] F[feedrate mm/sec] |
M209 | S<1=true/0=false> enable automatic retract detect if the slicer did not support G10/11: every normal extrude-only move will be classified as retract depending on the direction. |
M220 | S |
M221 | S |
M240 | Trigger a camera to take a photograph |
M301 | Set PID parameters P I and D |
M302 | Allow cold extrudes |
M303 | PID relay autotune S |
M400 | Finish all moves |
M500 | Stores paramters in EEPROM |
M501 | Reads parameters from EEPROM (if you need reset them after you changed them temporarily). |
M502 | Reverts to the default “factory settings”. You still need to store them in EEPROM afterwards if you want to. |
M503 | Print the current settings (from memory not from eeprom) |
M999 | Restart after being stopped by error |