Setup: VORON v2.4 with SKR v1.3+ Klipper + Octoprint
Make sure to have a Klipper version that supports the „filament_motion_sensor“ ( I had not..)
Upgrade Klipper:
https://www.klipper3d.org/FAQ.html#how-do-i-upgrade-to-the-latest-software
Upgrade SKR v1.3 via USB:
https://www.klipper3d.org/SDCard_Updates.html
Mounting/ Connecting:
Mount the sensor and connect it to one of your SKR v1.3 boards. Make sure everything is turned off!
I connected mine to the E0 DET on the Z board so the pin is z:P1.28. I had to make sure the Pin is pulled up. Mine config is: „switch_pin: ^z:P1.28″
Software / Klipper:
Update your config like:
[filament_motion_sensor btt_sensor]
detection_length: 7.0
# The minimum length of filament pulled through the sensor to trigger
# a state change on the switch_pin
# Default is 7 mm.
extruder: extruder
# The name of the extruder section this sensor is associated with.
# This parameter must be provided.
switch_pin: YOURPINHERE
# The pin on which the switch is connected. This parameter must be
# provided.
pause_on_runout: True
# When set to True, a PAUSE will execute immediately after a runout
# is detected. Note that if pause_on_runout is False and the
# runout_gcode is omitted then runout detection is disabled. Default
# is True.
runout_gcode:
M117 Filament out
# A list of G-Code commands to execute after a filament runout is
# detected. See docs/Command_Templates.md for G-Code format. If
# pause_on_runout is set to True this G-Code will run after the
# PAUSE is complete. The default is not to run any G-Code commands.
#insert_gcode:
# A list of G-Code commands to execute after a filament insert is
# detected. See docs/Command_Templates.md for G-Code format. The
# default is not to run any G-Code commands, which disables insert
# detection.
#event_delay: 3.0
# The minimum amount of time in seconds to delay between events.
# Events triggered during this time period will be silently
# ignored. The default is 3 seconds.
#pause_delay: 0.5
# The amount of time to delay, in seconds, between the pause command
# dispatch and execution of the runout_gcode. It may be useful to
# increase this delay if OctoPrint exhibits strange pause behavior.
# Default is 0.5 seconds.
https://www.klipper3d.org/Config_Reference.html#filament_motion_sensor
Enable the sensor:
SET_FILAMENT_SENSOR SENSOR=btt_sensor ENABLE=1
You can check whether the sensor ist working with but only reliable when a print is running:
QUERY_FILAMENT_SENSOR SENSOR=btt_sensor
Disable the sensor:
SET_FILAMENT_SENSOR SENSOR=btt_sensor ENABLE=0
Macros
Best macros i found:
https://github.com/AndrewEllis93/Print-Tuning-Guide/blob/main/articles/useful_macros.md