A spindle is a controlled motor that turns a tool (such as an endmill) at a given speed to allow it to remove material from the workpiece.
This is commonly used in CNC milling operations.
The S parameter which sets the speed of rotation.
In V1, there are additional spindle-related commands:
In V2, the primary spindle commands are
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 |
|---|---|---|
S |
The spindle must turn at this speed in rotations per minute | M3 S1000 |
The spindle functionality of Smoothie V1 is configured via the Spindle module.
The spindle module supports three control types:
Before using
spindle.enable truespindle.type pwm (or analog/modbus)spindle.pwm_pin 2.4 (must be PWM-capable)spindle.enable true
spindle.type pwm
spindle.pwm_pin 2.4
spindle.pwm_period 1000
spindle.max_pwm 1.0
spindle.default_rpm 5000
spindle.feedback_pin 0.22 # Optional: for closed-loop PID control
spindle.pulses_per_rev 1.0
spindle.control_P 0.0001
spindle.control_I 0.0001
spindle.control_D 0.0001
spindle.control_smoothing 0.1
See Spindle module documentation for detailed configuration of all three control types.
The spindle functionality of Smoothie V2 is configured via the spindle control module.
V2 has a simplified spindle implementation compared to V1, with fewer configuration options but the same core M3/M5 command support.
Before using
Note: V2 configuration uses STM32H7xx pin notation (e.g.,
These resources are used as references for Gcode: