Hello, I am trying to install a BTT SFS v2.0 to my Duet 3 mini 5+ but I am not getting any errors or pausing when the filament runs out. The sensor looks like its working properly as the lights are pulsing or changing color when they should (blinks as filament moves through and turns red when no filament is present). I only want the pulse signal as it can catch a jam and if filament runs out it should produce the same error. So I have attached the signal from that pin to io0.in and configured my firmware according to the instructions (https://docs.duet3d.com/User_manual/Connecting_hardware/Sensors_filament).
I'm sure I'm missing something silly but after reading through the other threads related to the BTT SFS V1.0 I didn't get any answers. Does anyone have ideas on what the issue is or how to troubleshoot it?
note from changlog on firemware 3.5.1: "Filament monitors can now be activated even when not printing from SD card, by using S2 in the M591 command instead of S1; but in this case a filament-error event macro must be defined because the default action (pause the print) won't work unless printing from SD card"
Because of this i made filament-error.g and copied over the gcode from pause.g
Filament Sensor Details: https://github.com/bigtreetech/smart-filament-detection-module
io pin connection:
Firmware version: 3.5.2
filament-error.g
; filament-error.g
; called when runout sensor is tripped
;
; generated on Mon Jul 29 2024
; copy of pause.g
M83 ; relative extruder moves
G1 E-10 F3600 ; retract 10mm of filament
G91 ; relative positioning
G1 Z5 F360 ; lift Z by 5mm
G90 ; absolute positioning
G1 X0 Y0 F6000 ; go to X=0 Y=0
Config.g:
; Configuration file for Duet 3 Mini 5+ (firmware version 3.5.2)
; executed by the firmware on start-up
;
; generated by RepRapFirmware Configuration Tool v3.3.16 on Tue Nov 14 2023 20:04:52 GMT-0600 (Central Standard Time)
; Updated after the sprite pro extruder install v3.5.2 on Sunday Jul 28 2024 9:21pm
; General preferences
G90 ; send absolute coordinates...
M83 ; ...but relative extruder moves
M550 P"My Printer" ; set printer name
; Network
M552 P0.0.0.0 S1 ; enable network and acquire dynamic address via DHCP
M586 P0 S1 ; enable HTTP
M586 P1 S0 ; disable FTP
M586 P2 S0 ; disable Telnet
; Drives
M569 P0.0 S0 D3 V0 ; physical drive 0.0 goes backwards, D3 = stealthchop (this works well with low motor torques)
M569 P0.1 S0 D3 V0 ; physical drive 0.1 goes backwards, D3 = stealthchop (this works well with low motor torques)
M569 P0.2 S1 D3 V0 ; physical drive 0.2 goes forwards, D3 = stealthchop (this works well with low motor torques)
M569 P0.4 S0 D3 V0 ; physical drive 0.4 goes backwards, D3 = stealthchop (this works well with low motor torques)
M584 X0.0 Y0.1 Z0.2 E0.4 ; set drive mapping
M350 X16 Y16 Z16 E16 I1 ; configure microstepping with interpolation
M92 X80.00 Y80.00 Z400.00 E423.2 ; set steps per mm
M566 X900.00 Y900.00 Z60.00 E300.00 ; set maximum instantaneous speed changes (mm/min)
M203 X6000.00 Y6000.00 Z600.00 E3600.00 ; set maximum speeds (mm/min)
M201 X500.00 Y500.00 Z200.00 E2500.00 ; set accelerations (mm/s^2)
M906 X600 Y600 Z600 E900 I30 ; set motor currents (mA) and motor idle factor in per cent
M84 S30 ; Set idle timeout
; Axis Limits
M208 X0 Y0 Z0 S1 ; set axis minima
M208 X215 Y235 Z250 S0 ; set axis maxima
; Endstops
M574 X1 S1 P"io5.in" ; configure switch-type (e.g. microswitch) endstop for low end on X via pin io5.in
M574 Y1 S1 P"io6.in" ; configure switch-type (e.g. microswitch) endstop for low end on Y via pin io6.in
M574 Z1 S2 ; configure Z-probe endstop for low end on Z
; Filament Monitor (Filament Runout Sensor, Big Tree Tech - Smart Filament Sensor V2)
M591 D4 P7 C"io0.in" L2.88 R75:125 E9 S2 ; filament monitor M591: configure filament sensor, D4: extruder4, P7: type pulse, C"io0.in" (pinout),L2.88: filament per pulse (mm), R75:125: sensitivity 25% of length, E9: sampled 9mm, S2 activated even when not printing from SD card, by using S2 in the M591 command instead of S1
; Z-Probe
M950 S0 C"io3.out" ; create servo pin 0 for BLTouch
M558 P9 C"io3.in" H5 F120 T6000 ; set Z probe type to bltouch and the dive height + speeds
G31 P25 X-48 Y0 Z2.10 ; set Z probe trigger value, offset and trigger height
M557 X0:165 Y10:225 S41.25 ; define mesh grid
; Heaters
M308 S0 P"temp0" Y"thermistor" T98801 B4185 ; configure sensor 0 as thermistor on pin temp0
M950 H0 C"out0" T0 ; create bed heater output on out0 and map it to sensor 0
M307 H1 R3.120 K0.662:0.254 D5.36 E1.35 S1.00 B0 V23.7 ; disable bang-bang mode for the bed heater and set PWM limit, added Tuning here Tuned Jul/28/2024 (Sprite Pro)
M140 H0 ; map heated bed to heater 0
M143 H0 S120 ; set temperature limit for heater 0 to 120C
M308 S1 P"temp1" Y"thermistor" T98801 B4185 ; configure sensor 1 as thermistor on pin temp1
M950 H1 C"out1" T1 ; create nozzle heater output on out1 and map it to sensor 1
M307 H0 R0.314 K0.257:0.000 D4.50 E1.35 S1.00 B0 ; disable bang-bang mode for heater and set PWM limit, added Tuning here
M143 H1 S310 ; set temperature limit for heater 1 to 310C
; Fans
M950 F0 C"out5" Q500 ; create fan 0 on pin out5 and set its frequency
M106 P0 C"Part Cooling" S0 H-1 ; set fan 0 name and value. Thermostatic control is turned off
M950 F1 C"out3" Q500 ; create fan 1 on pin out3 and set its frequency
M106 P1 C"Heat Block HotEnd" S1 H1 T45 ; set fan 1 name and value. Thermostatic control is turned on
; Tools
M563 P0 S"HotEnd" D0 H1 F0 ; define tool 0
G10 P0 X0 Y0 Z0 ; set tool 0 axis offsets
G10 P0 R0 S0 ; set initial tool 0 active and standby temperatures to 0C
; Custom settings
M204 P600 T2000 ; Set accelerations (mm/s^2) for print and travel moves
M912 P0 S-13 ; CPU Temperature calibration
M572 D0 S0.35 ; Pressure advance
M207 S6.5 R0.0 F2800 T4800 z0.0 ; Retraction
M280 P0 S160 ; Clear any alarms
M402 ; Retract Pin
; Miscellaneous
M501 ; load saved parameters from non-volatile memory
M911 S21 R23 P"M913 X0 Y0 G91 M83 G1 Z3 E-5 F1000" ; set voltage thresholds and actions to run on power loss
T0 ; select first tool