Creality K1 ERCF Filament Motion Sensor

DIY smart filament motion sensor for Creality K1 printers
28
53
0
1054
updated November 30, 2024

Description

PDF

This is a remixed version of the popular Enraged Rabbit Carrot Feeder smart filament motion sensor, designed for Creality K1 printers and available here on Printables.

I have been using it on my K1 and K1M for about six months with no issues, so I can confidently say it works quite well. Through experimentation, I set the filament detection length to 12mm, which you can use as a starting point. The only thing you need to ensure is that everything is printed and assembled accurately.

Unlike many other sensors, it creates almost no obstacles in the filament path.

The BOM is exactly the same as the original model

I bought everything from Aliexpress

  • 1 x TCRT5000 sensor (mine is v1.2)
  • 1 x MR623ZZ bearing
  • 2 x ECAS04 Bowden fittings
  • 1 x BMG idler with needle bearings (get the cheapest one)
  • 4 x M3 threaded inserts
  • 4 x M3x20 to secure the cart together
  • 1 x M3x6 or M3x8 to secure the encoder to the cart
  • 1 x M3x16 for the bearing

I recommend using SHCS screws, but BHCS or even FHCS should fit as well.

Assembly

Please refer to the GitHub ERCF v1 manual (pages 49-53).

Top hole

This specific hole was created while I was experimenting with various tensions. Its purpose is to load a spring with an M3 screw, similar to how it's done on many extruders. If you'd like better contact between the filament, the BMG gear, and the bearing, you can use it.

Mounting

It fits well as a replacement for a Creality stock filament presence sensor. Technically, it should be compatible with most relocation mods, provided there is enough space for it to be mounted.

Wire as Follows

If you want to connect the sensor to the stock wiring, use the following method.

Alternatively, you can connect it directly to the printer's mainboard, an RPi Pico, or an Arduino—it's up to you. Additionally, refer to the BTT SFS connection method for guidance.

TCRT        CRK1
vcc (red) --------- right
gnd (black) ------- middle
out (green)-------- left
Configuration

I prefer to use the sensor as a replacement for the stock filament runout sensor, so it should be named filament_sensor.

In my scenario, the sensor doesn't stop the printing but instead:

  1. Sends me a push notification via the Mobileraker companion app.
  2. Continues printing if the runout was a false positive.
  3. Activates a beeper if the runout is confirmed (e.g., due to a clog).
# Sensor name must be filament_sensor to not confuse built-in macroses
[filament_motion_sensor filament_sensor]
switch_pin: PC15
detection_length: 15
extruder: extruder
pause_on_runout: false
runout_gcode:
  MR_NOTIFY TITLE="ERCF: $printer_name" MESSAGE="Filament runout detected"
  UPDATE_DELAYED_GCODE ID=ercf_alarm DURATION=10
insert_gcode:
  MR_NOTIFY TITLE="ERCF: $printer_name" MESSAGE="Filament inserted"
  UPDATE_DELAYED_GCODE ID=ercf_alarm DURATION=0

[delayed_gcode ercf_alarm]
initial_duration: 0
gcode:
  BEEP
  BEEP
  BEEP
Other handy models

K1 Max Raiser Corner with ERCF mount

Tags



Model origin

The author remixed this model.

Differences of the remix compared to the original

  • The cart was modified for mounting on K1 printers.
  • The geometry was simplified in several places.
  • Internal overhangs were made less steep.
  • The rabbit face was removed.
  • A hole was added for the sensor LED to observe its blinking.
  • Screw holes were recreated from scratch.
  • The height of the pin for mounting the TCRT5000 sensor was reduced.
  • A hole was added to optionally tighten the spring bracket.

License