BTT SFS Motion Sensor V2.0 Not Stopping Print

Basic Information:

Printer Model: Sapphire Pro
MCU / Printerboard: Custom STM32G0B1 Board
Host / SBC: Raspberry Pi 5
klippy.log (4.3 MB)

I’m testing the BTT Smart Filament Sensor V2.0 with my custom controller board and I’m having problems with the filament stalled part of the sensor. It detects that the filament isn’t moving through it, throws the error message up on the Mainsail webpage:

Execution pauses with the toolhead moving into a corner for a moment or two and then continues attempting to execute before catching the error again, moving back to the corner, etc.

Manually attempting to pause doesn’t stop the behaviour - I have to hit the “Emergency Stop” to end the cycle.

The runout sensor part works fine - when a runout is detected, execution pauses for me to either reload the filament or stop the print.

The printer.cfg instructions I’m using are (I just tried setting pause_on_runout to True to see if that made any difference - which it didn’t ):

[filament_switch_sensor switch_sensor]
switch_pin: PB12  # Endstop0
pause_on_runout: False
runout_gcode:
  PAUSE # [pause_resume] is required in printer.cfg
  M117 FILAMENT RUNOUT
insert_gcode:
  M117 Filament switch inserted

[filament_motion_sensor encoder_sensor]
switch_pin: PC14  # Endstop1
detection_length: 15
extruder: extruder
pause_on_runout: True
event_delay: 3.0
pause_delay: 1.0
runout_gcode:
  PAUSE # [pause_resume] is required in printer.cfg
  M117 FILAMENT STALLED
insert_gcode:
  M117 Filament encoder inserted

The statements above are basically exactly what BTT specifies.

Thanx!

I’ve had a similar issue when trying to manually pause a print, and it would say Print already paused. To solve it, I ran the CLEAR_PAUSE command. To prevent that error from happening again, I put the CLEAR_PAUSE gcode into my PRINT_START macro.

Thanx for suggest - I don’t have a PRINT_START macro but I did add it to the start of my GCode in Cura:

; Custom Start G-code
CLEAR_PAUSE
G92 E0 ; Reset Extruder
G28 ; Home all axes
G90 ;  #### Put the printer in absolute position mode
G1 Z2.0 F3000 ; Move Z Axis up little to prevent scratching of Heat Bed
G1 X10.1 Y20 Z0.3 F5000.0 ; Move to start position
G1 X10.1 Y200.0 Z0.3 F1500.0 E15 ; Draw the first line
G1 X10.4 Y200.0 Z0.3 F5000.0 ; Move to side a little
G1 X10.4 Y20 Z0.3 F1500.0 E30 ; Draw the second line
G92 E0 ; Reset Extruder
G1 Z2.0 F3000 ; Move Z Axis up little to prevent scratching of Heat Bed
G1 X5 Y10 Z0.3 F5000.0 ; Move over to prevent blob squish

And, it now detects stalled filament and stops without restarting.

Thanx again!

1 Like

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.