Skip to content
imarin2 edited this page Feb 1, 2017 · 2 revisions

G Codes

G0 -> G1
G1 – Coordinated Movement X Y Z E
G2 – CW ARC
G3 – CCW ARC
G4 – Dwell S or P
G10 – retract filament according to settings of M207
G11 – retract recover filament according to settings of M208
G27 – Home Z axis max (no plane needed)
G28 – Home all Axis

G29 – Detailed Z-Probe, probes the bed at 3 or more points. Will fail if you haven’t homed yet.
G30 – Single Z Probe, probes bed at current XY location S searching Z length
G38 S – External Z Conductive Probe, feedrate defaults to 120 mm/sec, feedrate limited to 200 mm/sec maximum. Use M746 to activate and deactivate (see Fabtotum custom M codes below)

G90 – Use Absolute Coordinates
G91 – Use Relative Coordinates
G92 – Set current position to coordinates given

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
M3 S[RPM] SPINDLE ON – Clockwise , tries to mantain RPM costant [B]min:[/B] 6500, [B]max[/B]: 15000
M4 S[RPM] SPINDLE ON – CounterClockwise, tries to mantain RPM costant [B]min:[/B] 6500, [B]max[/B]: 15000
M5 – SPINDLE OFF

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
M32 – Select file and start SD print (Can be used while printing from SD card files). Syntax “M32 /path/filename#”, or “M32 S !filename#” Call gcode file : “M32 P !filename#” and return to caller file after finishing (similar to #include). The ‘#’ is necessary when calling from within sd files, as it stops buffer prereading
M42 – Change pin status via gcode Use M42 Px Sy to set pin x to value y, when omitting Px the onboard led will be used.
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 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. To disable set zero (default)
M92 – Set axis_steps_per_unit – same syntax as G92
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 B F. Exit autotemp by any M109 without F
M114 – Output current position to serial port
M115 – Capabilities string
M117 – display message
M119 – Output Endstop status to serial port
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)
M140 – Set bed target temp
M150 – Set BlinkM Color Output R: Red<0-255> U(!): Green<0-255> B: Blue<0-255> over i2c, G for green does not work.
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

M200 D – set filament diameter and set E axis units to cubic millimeters (use S0 to set back to millimeters).
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 under-runs 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 homing offset
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/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.

M218 – set hotend offset (in mm): T X Y
M220 S– set speed factor override percentage
M221 S– set extrude factor override percentage
M226 P S– Wait until the specified pin reaches the state required
M240 – Trigger a camera to take a photograph
M250 – Set LCD contrast C (value 0..63)
M280 – set servo position absolute. P: servo index, S: angle or microseconds
M300 – Play beep sound S P
M301 – Set PID parameters P I and D
M302 – Allow cold extrudes, or set the minimum extrude S.
M303 – PID relay autotune S sets the target temperature. (default target temperature = 150C)
M304 – Set bed PID parameters P I and D
M350 – Set microstepping mode.
M351 – Toggle MS1 MS2 pins directly.
M400 – Finish all moves
M401 – Lower z-probe if present
M402 – Raise z-probe if present
M500 – stores parameters 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)
M540 – Use S[0|1] to enable or disable the stop SD card print on endstop hit (requires ABORT_ON_ENDSTOP_HIT_FEATURE_ENABLED)
M600 – Pause for filament change X[pos] Y[pos] Z[relative lift] E[initial retract] L[later retract distance for removal]
M665 – set delta configurations
M666 – set delta endstop adjustment
M605 – Set dual x-carriage movement mode: S [ X R ]
M700 S<0-255> – Laser Power Control
M701 S<0-255> – Ambient Light, Set Red
M702 S<0-255> – Ambient Light, Set Green
M703 S<0-255> – Ambient Light, Set Blue
M704 – Signalling Light ON (same colors of Ambient Light)
M705 – Signalling Light OFF
M706 S<0-255> – Head Light
M710 S – write and store in eeprom calibrated z_probe offset length
M711 – write and store in eeprom calibrated zprobe extended angle
M712 – write and store in eeprom calibrated zprobe retacted angle
M713 – autocalibration of z-probe length and store in eeprom
M720 – 24VDC head power ON
M721 – 24VDC head power OFF
M722 – 5VDC SERVO_1 power ON
M723 – 5VDC SERVO_1 power OFF
M724 – 5VDC SERVO_2 power ON
M725 – 5VDC SERVO_2 power OFF
M726 – 5VDC RASPBERRY PI power ON
M727 – 5VDC RASPBERRY PI power OFF
M728 – RASPBERRY Alive/awake Command
M729 – RASPBERRY Sleep //wait for the complete shutdown of raspberryPI
M730 – Read last error code
M731 – Disable kill on Door Open
M740 – read WIRE_END sensor
M741 – read DOOR_OPEN sensor
M742 – read REEL_LENS_OPEN sensor
M743 – read SECURE_SWITCH sensor
M744 – read HOT_BED placed in place
M745 – read Head placed in place
M746 – turn off or on external z probing (S0= disable , S1 enable, Default: show setting status)

M750 – read PRESSURE sensor (ANALOG 0-1023)
M751 – read voltage monitor 24VDC input supply (ANALOG V)
M752 – read voltage monitor 5VDC input supply (ANALOG V)
M753 – read current monitor input supply (ANALOG A)
M754 – read temperature raw values (10bit ADC output)
M760 – read FABtotum Personal Fabricator Main Controller serial ID
M761 – read FABtotum Personal Fabricator Main Controller control code of serial ID
M762 – read FABtotum Personal Fabricator Main Controller board version number
M763 – read FABtotum Personal Fabricator Main Controller production batch number
M764 – read FABtotum Personal Fabricator Main Controller control code of production batch number
M765 – read FABtotum Personal Fabricator Firmware Version
M766 – read FABtotum Personal Fabricator Firmware Build Date and Time
M767 – read FABtotum Personal Fabricator Firmware Update Author

M780 – read Head Product Name
M781 – read Head Vendor Name
M782 – read Head product ID
M783 – read Head vendor ID
M784 – read Head Serial ID
M785 – read Head firmware version
M786 – read needed firmware version of FABtotum Personal Fabricator Main Controller
M787 – read Head capability: type0 (passive, active)
M788 – read Head capability: type1 (additive, milling, syringe, laser etc..)
M789 – read Head capability: purpose (single purpose, multipurpose)
M790 – read Head capability: wattage (0-200W)
M791 – read Head capability: axis (number of axis)
M792 – read Head capability: servo (number of axis)

M800 – changes/reads the thermistor of extruder0 type index M800 S0 changes the extruder0 to the thermistor in FABtotum Head v1 M800 S1 changes the extruder0 to Marlin thermistor type 11 (the same as type 60, 100k NTC beta=3950) M800 returns the current extruder0 type index (0=type 169, 1=type 11,…)

M801 – changes/reads the current extruder0 max temp M801 S260 changes the extruder0 max temp to 260 Celsius M801 returns the current max temp of extruder0

M802 – returns supported thermistor types by index

M907 – Set digital trimpot motor current using axis codes.
M908 – Control digital trimpot directly.
M928 – Start SD logging (M928 filename.g) – ended by M29
M999 – Restart after being stopped by error

Clone this wiki locally
You can’t perform that action at this time.