SFS 2.0: https://store.dremc.com.au/products/bigtreetech-sfs-v2-0-smart-filament-sensor-detection-module
Note: Requires Printed Parts (Community Mount: https://github.com/bigtreetech/smart-filament-detection-module/tree/master/V2.0/Community%20Mods) or (https://www.printables.com/model/606797-smart-filament-sensor-v2-ender-3-v2-mount)
Note: If you intended to have full functionality, you need additional 2 pin JST: (https://store.dremc.com.au/products/2-54-jst-xh-housing-male-sold-individually)
Due to SFS being 2 mode, for extended functionality we have included option to have both monitoring feature and also basic limit switch, just do note you will require spare end stop port, so if you're already running Bl Touch(5 pin setup) you should have spare end stop port.
TABLE OF CONTENTS
Basic Functionality
Wiring (Example) Please match wiring pin out, as wiring colour can change between production batch.
You will need de-pin and ground connection and match as shown below.
Firmware:
Marlin Firmware:
Once everything is plugged back, you will need to update motherboard firmware.
You will need to flash updated firmware to ensure filament runout is functional. Official firmware source https://www.creality.com/download/
https://www.crealitycloud.com/software-firmware/firmware?type=2
Ender 3 Neo: https://www.creality.com/pages/download-ender-3-neo
Ender 3 V2 Neo: https://www.creality.com/pages/download-ender-3-v2-neo
There is 2 version, please download and install the applicable mainboard hardware revision 4.2.7 or 4.2.2 board.
Community Firmware: https://github.com/mriscoc/Ender3V2S1 (Ender 3 V2)
Example:
Ender-3 V2-Marlin-2.0.1-HW-4.2.7-mainboard-V1.1.2-compatible with BLTouch and filament detection.zip
Ender-3 V2-Marlin-2.0.1-HW-4.2.2-mainboard-V1.1.2-Compatible with BLTouch and filament detection.zip
Klipper Firmware: [Depending on which board version, https://klipper.discourse.group/t/creality-board-4-2-2-and-4-2-7-schematics/3104], also depending on your pause command you may need to update according.
Full Functionality
Note: Require compilation of Marlin Firmware or change to printer.cfg for klipper based printers.
Source: https://github.com/bigtreetech/smart-filament-detection-module/issues/43#issuecomment-1784050009
Credit: https://github.com/TacII
(Based on 4.2.7 Board)
Wiring (Example) Please match wiring pin out, as wiring colour can change between production batch.
This is where the Motions Sensor Cable goes on the system board. You will need to depin 3 JST connector into 2 JST connector as shown below.
https://support.dremc.com.au/en/support/solutions/articles/51000467088-depin-repin-jst-ph-xh-connectors
The Blue and Red wire pair (Switch Sensor) goes the the filament runout port on the system board and can be inserted as normal.
Example For Klipper
#Switch sensor, blue @PA4 + red VCC 3,3V [filament_switch_sensor btt_switch_sensor] switch_pin: ^PA4 pause_on_runout: false runout_gcode: M117 Switch Runout! {action_respond_info("BTT: Switch Runout detected!")} PAUSE insert_gcode: M117 Filament inserted {action_respond_info("BTT: Filament inserted.")} #Motion sensor, Green @PA7 +Black GND [filament_motion_sensor btt_motion_sensor] switch_pin: ^PA7 # Previous Z- on 4.2.7 detection_length: 5 # accuracy of motion sensor 2.88mm extruder: extruder pause_on_runout: false runout_gcode: M117 Motion Runout {action_respond_info("BTT: Motion Sensor Runout detected!")} PAUSE insert_gcode: M117 Filament inserted {action_respond_info("BTT: Filament inserted.")} [delayed_gcode DISABLEFILAMENTSENSOR] initial_duration: 1 gcode: M117 Motion FIL. SENSOR OFF. SET_FILAMENT_SENSOR SENSOR=btt_motion_sensor ENABLE=0 SET_FILAMENT_SENSOR SENSOR=btt_switch_sensor ENABLE=0
For Marlin:
Note: Depending on your board, you need define the pin for passive and active sensor.
- uncomment
#define FILAMENT_RUNOUT_SENSOR
. - uncomment
#define FILAMENT_RUNOUT_DISTANCE_MM 5
and set it to 5mm (The detection accuracy of SFS V2.0 is 2.88mm, We set it to 5mm to leave some error margin). - uncomment
#define FILAMENT_MOTION_SENSOR
- uncomment
#define FILAMENT_SWITCH_AND_MOTION
- uncomment
#define FIL_MOTION1_PIN gpio_xx
set motion pin to actual GPIO of motherboard - The filament sensor feature of Marlin also needs to enable
#define NOZZLE_PARK_FEATURE
and#define ADVANCED_PAUSE_FEATURE
. please uncomment#define NOZZLE_PARK_FEATURE
and#define ADVANCED_PAUSE_FEATURE
and set specific parameters according to your printer. - If you are using the Serial Touch Screen of BigTreeTech, please enable the features in Marlin according to the requirements here
- We recommended to plug SFS V2.0 into the motherboard not Touch Screen, In this case, the Marlin configuration is as described above, and the Touch Screen
config.ini
file needs to be set according to here - When the SFS V2.0 is plugged into the Touch Screen, comment out
#define FILAMENT_RUNOUT_SENSOR
in Marlin to disable detection of Marlin and uncomment#define M114_DETAIL
for Touch Screen, And enable detection of Touch Screen inconfig.ini
file, setfil_runout:1
to enable detection andfil_runout_distance:3
for accuracy.
- We recommended to plug SFS V2.0 into the motherboard not Touch Screen, In this case, the Marlin configuration is as described above, and the Touch Screen
Was this article helpful?
That’s Great!
Thank you for your feedback
Sorry! We couldn't be helpful
Thank you for your feedback
Feedback sent
We appreciate your effort and will try to fix the article