This is a universal, low friction and mechanical runout sensor. It is non directional, meaning filament can go in both directions smoothly without catching on the lever on the microswitch like its common on many cheap sensors found on budget machines.
BOM:
2x M2x10 / 2mm self tapping screws
1x D2F-5L microswitch
1x M3x10 socket head screw / button head screw
1x M3 hammer nut / roll in nut for 2020 slot 6 aluminium extrusions
optional/recommended:
1x 4mm steel ball, can be found in F608 ball bearings or bought directly
Instructions:
Print the main body STL and the ball replacement if you are not using a steel ball
Drop in the ball in the cavity, mount the switch using the 2mm screws. Lever should point towards the cavity, its slightly off-center. Before that, you should solder some wires to the switch, it doesnt matter if you use NO or NC for the second wire. Advantage of NC is that you can disconnect the sensor without it triggering No Filament.
Attach the sensor to your frame and connect the reverse bowden tube.
Run the wires to a free endstop or thermistor port, orientation doesnt matter. Note the pin name.
Copy and paste the firmware parts into your printer.cfg and set the pin name and logic of the switch. Restart firmware and check for correct operation.
[filament_switch_sensor Filament_Detection]
runout_gcode: Unload_Filament
#insert_gcode: Load_Filament #uncomment if you want to load filament by pushing it into the reverse bowden tube automatically. Needs bowden collet on the extruder, otherwise you will only push the tube out
event_delay: 5.0
switch_pin: PG12 #your pin name. To invert logic, use or remove !; used pin name if for octopus v1.1, wire soldered to Common and NC, first endstop pin from the left on the second row of endstop ports
The firmware might need some tweaking for you. The insert and runout gcode names match the naming convention of the klipperscreen buttons on the extrude screen. you need to configure those or edit the runout and insert gcode.
I have not tested the steel ball replacement, but i added it since not everybody wants to spend a few dollars on a bag of balls or want to cut open a F608 bearing. I cannot talk about longevity of the ball replacement. The ball replacement might need sanding to have the proper length of 4mm as the build plate texture and first layer setting will influence the overall length. The reverse bowden should be a snug fit, if not use one layer of tape arount the tube or play with horizontal expansion values in the slicer. Parts are oriented and print without support.
The author marked this model as their own original creation.