M42 - Change pin status via gcode: P<pin> S<value>. If P is omitted the onboard LED pin will be used.
M42 P9 S1 ; set PIN 9 to 1.
M80 - Turn on Power Supply
M81 - Turn off Power Supply
M84 - Disable steppers until next move,
or use S<seconds> to specify an inactivity timeout, after which the steppers will be disabled. S0 to disable the timeout.
M85 - Set inactivity shutdown timer with parameter S<seconds>. Disable with "M85" or "M85 S0".
M112 - Emergency stop. Requires hardware reset!!
M226 - Wait for a pin to be in some state: P<pin number> S<pin state>
```
### Temperature M Codes
```
M104 - Set extruder target temp
M105 - Read current temp
M106 - Fan on
M107 - Fan off
M109 - Sxxx Wait for extruder current temp to reach target temp. Waits only when heating
Rxxx Wait for extruder current temp to reach target temp. Waits when heating and cooling
IF AUTOTEMP is enabled, S<mintemp> B<maxtemp> F<factor>. Exit autotemp by any M109 without F
M140 - Set bed target temp
M190 - Sxxx Wait for bed current temp to reach target temp. Waits only when heating
Rxxx Wait for bed current temp to reach target temp. Waits when heating and cooling
M301 - Set PID parameters P I and D
M302 - Allow cold extrudes, or set the minimum extrude S<temperature>.
M303 - PID relay autotune S<temperature> sets the target temperature. (default target temperature = 150C)
M304 - Set bed PID parameters P I and D
```
### Message M Codes
```
M114 - Output current position to serial port
M115 - Capabilities string
M117 - Display message text on the LCD
M119 - Output Endstop status to serial port
```
### Endstops M Codes
```
M120 - Enable endstop detection
M121 - Disable endstop detection
```
### Special Features M Codes
```
M126 - Solenoid Air Valve Open (BariCUDA support by jmil)
M127 - Solenoid Air Valve Closed (BariCUDA vent to atmospheric pressure by jmil)
M128 - EtoP Open (BariCUDA EtoP = electricity to air pressure transducer by jmil)
M129 - EtoP Closed (BariCUDA EtoP = electricity to air pressure transducer by jmil)
M150 - Set BlinkM Color: R<red> U<green> B<blue> via I2C. Range: 0-255
M240 - Trigger a camera to take a photograph. (Add to your per-layer GCode.)
M250 - Set LCD contrast: C<0-63>
M280 - Set servo position absolute. P<servo index> S<angle or microseconds>
M300 - Play beep sound S<frequency Hz> P<duration ms>
M380 - Activate solenoid on active extruder
M381 - Disable all solenoids
M600 - Pause for filament change X<xpos> Y<ypos> Z<lift> E<initial retract> L<later retract for removal>
```
### Units and Measures G and M Codes
```
G90 - Use Absolute Coordinates
G91 - Use Relative Coordinates
M82 - Set E codes absolute (default)
M83 - Set E codes relative while in Absolute Coordinates (G90) mode
M92 - Set axis_steps_per_unit - same syntax as G92
M200 - Set filament diameter and set E axis units to mm^3 (use S0 to set back to mm).: D<mm>
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: P for Printing moves, R for Retract only (no X, Y, Z) moves and T for Travel (non printing) moves (ex. M204 P800 T3000 R9000) in mm/sec^2
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 homing offset
M218 - Set hotend offset (in mm): T<extruder_number> X<offset_on_X> Y<offset_on_Y>
M220 - Set speed factor override percentage: S<factor in percent>
M221 - Set extrude factor override percentage: S<factor in percent>
```
### Firmware Retraction G and M Codes
```
G10 - Retract filament according to settings of M207
G11 - Retract recover filament according to settings of M208
M207 - Set retract length S[positive mm] F[feedrate mm/min] Z[additional zlift/hop], stays in mm regardless of M200 setting
M208 - Set recover=unretract length S[positive mm surplus to the M207 S*] F[feedrate mm/s]
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
```
### Z Probe G and M Codes
```
G28 - Home all Axis
G29 - Detailed Z-Probe, probes the bed at 3 or more points. The printer must be homed with G28 before G29.
G30 - Single Z Probe, probes bed at current XY location.