Supported G Codes

Smoothie is primarily a G-code interpreter. Here is a list of the G-codes that are currently supported :

G-Code Description Example
G0 Move to the given coordinates. To the contrary of G1, if there is a tool it will most of the time be off during this kind of move. This is a "go to" move rather than a "do while going to" move. The F parameter defines speed and is remembered by subsequent commands ( specified in millimetres/minute ) G0 X10 Y-5 F100
G1 Move to the given coordinates, see above for difference with G0. Takes the same F parameter as G0. G1 X20 Y-2.3 F200
G2 Clockwise circular motion : go to point with coordinates XYZ while rotating around point with relative coordinates IJ G2 X10 J5
G3 Counter-clockwise motion : see above G3 Y5 X10 I2
G4 Dwell S<seconds> or P<milliseconds> G4 P1000
G17 Select XYZ plane G17
G18 Select XZY plane G18
G19 Select YZX plane G19
G20 Inch mode : passed coordinates will be considered as Inches, so internally translated to millimeters G20
G21 Millimeter mode ( default ) : passed coordinates will be considered as millimeters G21
G30 Simple Z probe at current XY, reports distance moved down until probe triggers, optional F parameter sets feedrate G30 - G30 F100
G28 Home The given axis, or if no axis specified home all axis at the same time (edge) G28
G90 Absolute mode ( default ) : passed coordinates will be considered absolute ( relative to 0.0.0 ) G90
G91 Relative mode : passed coordinates will be considered relative to the current point G91
G92 Set current position to specified coordinates G92 X0 Y0 Z0
M-Code Description Example
M17 Enable stepper motors M17
M18 Disable stepper motors M18
M82 Set absolute mode for extruder only M82
M83 Set relative mode for extruder only M83
M84 Disable steppers M84
M92 Set axis steps per mm M92 E200
M105 Read current temp M105
M114 Show current position of all axis M114
M117 Display message on LCD, blank message will clear it M117 hello world or M117
M119 Show limit switch status M119
M204 S<acceleration> Set acceleration in mm/sec^2 M204 S1000 edge only
M205 X<junction deviation> S<minimum planner speed> M205 X0.05 S30.0 edge only
M206 Set homing offsets M206 X10 Y3 Z0.5
M220 S<factor in percent>- set speed factor override percentage M220 S50
M301 Edit temperature control PID parameters M301 S0 P30 I10 D10
M303 Begin PID auto-tune cycle E<hotendid> S<temperature> C<cycles> M303 E0 S185 - Tune extruder - M303 E1 S100 - Tune printbed -
M304 Abort PID auto-tuning M304
M500 Save some volatile settings to an override file M500
M501 load config-override file optionally specifying the extension M501 - loads config-override, M501 test1 - loads config-override.test1
M502 Delete the override file, reverting to config settings at next reset M502
M503 Display overridden settings if any M503
M504 Save the settings to an override file with specified extension M504 test1 - saves to config-override.test1 edge only
M665 set arm solution specific settings: Delta - L<arm length> R<arm radius> Z<max height> M665 L341.0 R350 Z430
M666 On a delta sets trim values for the endstops M666 X0.1 Y0.2 Z0.3
M907 Current control M907 X Y Z E
Unless otherwise stated, the content of this page is licensed under Creative Commons Attribution-ShareAlike 3.0 License