There are two solutions for implementing a kill button on the Smoothieboard:
Solder an LED Tactile Button on the Smoothieboard.
Wire a simple button on two pins.
The button may be configured as a kill switch, which will halt all operations, turn off heaters, and pause the host. It can be cleared with a M999
command or by resetting the board. To enable a kill button, the following configuration is added:
kill_button_enable true # set to true to enable a kill button
kill_button_pin 2.12 # kill button pin. default is same as pause button 2.12 (Add ^ for external buttons)
When in the halted state (after the kill button is pressed), the play LED will flash rapidly. The kill state can be cleared by holding down the kill button for 2 seconds or more.
Alternatively, a latching E-Stop button can be hooked up to the kill button header (usually normally open). Then use this config:
kill_button_toggle_enable true # allows for latching estop button
When the E-Stop button is hit and latched on, it will halt the system. When it is unlatched and released, the system will exit the halt condition.
If you do not want the halt to exit when it is released, then set this:
unkill_enable false # do not unkill when button held or released
Note: If your kill button is “Normally Closed” (NC), it will be pressed at boot time. By default, the bootloader reads the 2.12
pin at boot time and if it is closed, will enter DFU mode. This means that you cannot use pin 2.12
for a normally closed kill button as it will prevent the board from booting normally. The solution is very simple: just use any other pin and edit the configuration accordingly.
[!INFO] Stopping Smoothie
These are the different ways of stopping Smoothie:
Command G-code Movement Heaters File playing Recoverable Documentation Explanation abort
M26
Stops an SDCARD print immediately Not affected Aborts Position maintained, but file must be restarted Player Stops the execution of a file being played from SDCARD, it will complete the current gcode, but stop immediately after that, the rest of the queued commands are discarded. It attempts to maintain the correct position after the abort. suspend
M600
Stops once queue is empty Turned off if option enabled (default) Paused, can be resumed Yes, with resume
orM601
, position maintainedPlayer Suspends the execution of a file being played from SDCARD or being streamed from a host (upstream support required currently pronterface and octoprint support it, otherwise host needs to be manually paused), all state is saved and jogging and extruding is allowed. Mainly used for mid print filament change, or filament out detection. M601
resumes the print or theresume
commandNo command, but there is a configurable «kill» button M112
Stops instantly if kill button pressed, if issued from host has to wait for the receive buffer to have room. Turned off aborted No, position is lost, home will be required supported-g-codes Instantly stops all operations, printer fully halts until M999
is sent. Position is lost.Sending Control-X to smoothie over the serial port or USB serial port should work at any time even when streaming, does the same as the kill button Turned off aborted No, position is lost, home will be required Instantly stops all operations, printer fully halts until M999
is sent (or$X
). Position is lost.If the kill button is pressed (or there is a temperature fault,
M112
is issued, a limit switch is hit or other error) the system enters the Halt state, in this state the play led flashes, and the state can be cleared by issuingM999
or holding the flashing kill button for 2 seconds (it can also be cleared from the LCD panel). While in the Halt state any command issued from the host will get a!!
response (with a few exceptions). The PSU may be turned off when Halt is entered if there is a psu Switch defined.All commands can be triggered by a button or a sensor if a Switch module is configured to do so.
You can read more about the kill button at Smoothie kill button