image style="width:320px"

M3 means “start the spindle at a specific speed”.

A spindle is a controlled motor that turns a tool ( endmill ) at a given speed to allow it to remove material from the workpiece.

The M3 command must be accompanied by a Shift parameter which sets the speed of rotation.

M3's evil twin is the M5 command which turns the spindle off ( it is equivalent to M3 S0 ).


The command is used as such :

M3 S1000

Which means : start the spindle and make it turn at 1000 rotations per minute.


~ Parameter ~ Usage ~ Example
Shift The spindle must turn at this speed in rotations per minute M3 S1000


The spindle functionality of Smoothie is configured via the Spindle module

Further reading

These resources are used as references for Gcode :