BTT SFS v2 Motion Doesn't work

I have setup the BTT smart filament sensor (v2) a few different ways, the RUNOUT sensor works, the MOTION sensor doesn't work no matter what I do. At this point I'm just trying to figure out how I can manually check that the sensor works, so I don't have to go through the entire printing process for each check.

The sensor has a 4-pin branched cable going from the sensor, one branch to PG15 and +5V (GND empty), and the motion cable going to PG11 and GND (+5V empty). I assume that the empty slots don't matter, it just needs one +5V between the two, and one GND, and then 1 signal for each. I have tried with and without ^ and !, and nothing seems to work. My config is based on this: https://wiki.circuitlaunch.com/circuitlaunch/BTT-V2-SFS-Smart-Filament-Sensor-on-Ratrig-6d153a7734e14531a74e5e2cc28e1c38

[filament_switch_sensor FILAMENT_RUNOUT] 
switch_pin: ^PG15
pause_on_runout: True
event_delay: 3.0
pause_delay: 0.5
runout_gcode:
  M117 Filament not detected, pausing...
  PAUSE # [pause_resume] is required in printer.cfg
  SET_IDLE_TIMEOUT TIMEOUT=18000
insert_gcode:
  M117 Filament detected, check hotend temp and resume


[filament_motion_sensor FILAMENT_MOTION]
switch_pin: ^PG11
detection_length: 8 # accuracy of motion sensor 2.88mm 
extruder: extruder
pause_on_runout: True
event_delay: 3.0
pause_delay: 0.5
runout_gcode:
  M117 Filament jam detected, pausing...
  PAUSE # [pause_resume] is required in printer.cfg
  SET_IDLE_TIMEOUT TIMEOUT=18000
insert_gcode:
  M117 Jam cleared.  Check hotend temp and resume


Any ideas what to try next, or how I can manually verify this thing isn't defective
image.png
Circuit Launch on Notion
Getting this to work was more than a bit Tricky for me. Hopefully my settings will help. In the Manual (PDF) linked in the references it shows what the best place to plug it in for your MCU. I have the Octopus Pro V1.01
BTT V2 SFS Smart Filament Sensor on Ratrig  | Notion
Solution
I ended up ordering a new BTT SFS v2 and it works. I double checked the voltages on the new one and it was as I expected: as I move the filament, it switches between 0V and 4.4V every few mm. There must've been something wrong with the electronics of the old one. I have processed an Amazon return for it.

I tested both filament runout and filament jam capability of the new one, and it works fine with the following in my printer.cfg:

[filament_switch_sensor FILAMENT_RUNOUT] 
switch_pin: ^PG15
pause_on_runout: False
event_delay: 3.0
pause_delay: 0.5
runout_gcode:
  M117 Filament not detected, pausing...
  PAUSE # [pause_resume] is required in printer.cfg
  SET_IDLE_TIMEOUT TIMEOUT=18000
insert_gcode:
  M117 Filament detected, check hotend temp and resume


[filament_motion_sensor FILAMENT_MOTION]
switch_pin: ^PG10
detection_length: 6 # accuracy of motion sensor 2.88mm 
extruder: extruder
pause_on_runout: False
event_delay: 3.0
pause_delay: 0.5
runout_gcode:
  M117 Filament jam detected, pausing...
  PAUSE # [pause_resume] is required in printer.cfg
  SET_IDLE_TIMEOUT TIMEOUT=18000
insert_gcode:
  M117 Jam cleared.  Check hotend temp and resume

[delayed_gcode DISABLEFILAMENTSENSOR] ; This will disable the SFS 1 second after klipper starts
initial_duration: 1
gcode:
  SET_FILAMENT_SENSOR SENSOR=FILAMENT_RUNOUT ENABLE=0
  SET_FILAMENT_SENSOR SENSOR=FILAMENT_MOTION ENABLE=0

[gcode_macro _USER_START_PRINT_AFTER_HEATING_EXTRUDER]
gcode:
    M117 ENABLING the Smart Filament Sensor
    SET_FILAMENT_SENSOR SENSOR=FILAMENT_MOTION ENABLE=1
    SET_FILAMENT_SENSOR SENSOR=FILAMENT_RUNOUT ENABLE=1
    SKEW_PROFILE LOAD=CaliFlower

[gcode_macro _USER_END_PRINT_AFTER_HEATERS_OFF]
gcode:
  M117 DISABLING the Smart Filament Sensor
  SET_FILAMENT_SENSOR SENSOR=FILAMENT_MOTION ENABLE=0
  SET_FILAMENT_SENSOR SENSOR=FILAMENT_RUNOUT ENABLE=0
  SET_SKEW CLEAR=1
Was this page helpful?