K1 Filament Runout Sensor Not Pausing Print

I noticed my runout sensor was not working the other day. I figured it had broken and decided to replace it. I ended up getting the DXC Extruder which has a runout sensor in it that plugs into the hot-end pcb. After getting that all installed and doing a test print, I tested the runout function and…. nothing. It did not recognize there was no filament.

I went and factory reset the printer and still no luck.

What else could be going wrong? I would rather not have to replace the main board…

I am pretty confident I never rooted it.

Heya! Welcome aboard!

I’m loving that DXC extruder as well, what a great piece of gear(s), lol

There is an extra plug for it that goes into the hot end circuit board, did you do that?

If you did,The only way to enable it is to root the machine. In the Klipper settings (printer.cfg) there is a spot to enable said sensor.

Otherwise, you would need to unplug the original one and rewire it to run from the DXC

Hope it helps!

Thanks for the welcome!

I have plugged that in to the hot end board. I ended up rooting the machine and I think I found the setting for it. But, it says it should be on. I checked the printer.cfg file and a few others that were .cfg. they all say True for pause when printer is out of filament.

I don’t have a way to wire the old one’s wiring to the new one without buying another cable I don’t think. The original one still lights up blue when in use, but the icon doesn’t show on the printer screen. Since adding the new sensor, the icon shows up very briefly on startup and then disappears.

I am concerned I will have to replace the mainboard.

Let’s hope it doesn’t come to that!

check for 5V DC at the sensor’s connector on the toolhead PCB to confirm the port is active. The typical pinout is 5V, Ground (GND), and Signal (SIG).

On some boards you need to Invert the pin logic. Put a ! in front of the pin name in the .cfg file

But def check that the pcb is getting juice, the feature may have been turned off, so you’ll then have to call the pin in the cfg file.

Cont’d…

IK I can be a pain, but did you follow these directions?

  1. (Optional) Back up printer.cfg and gcode_macro.cfg

  2. (Optional) If you want to disable the factory filament sensor, remove or comment out the [filament_switch_sensor filament_sensor_1] section in printer.cfg. To comment it out, add a # at the start of each line of the section, including the [filament_switch_sensor filament_sensor_1] line.

  3. If a [filament_switch_sensor filament_sensor_2] section exists in printer.cfg, remove it.

  4. Copy the following section and paste it into printer.cfg. This tells the printer that it has the DXC filament sensor connected to the filament port on the toolhead PCB, and tells it what to do when it runs out.

[filament_switch_sensor DXC]
pause_on_runout: true
switch_pin: !nozzle_mcu:PA10
event_delay: 1.5
pause_delay: 0.25
insert_gcode:
_M118 Filament inserted
_LOAD_MATERIAL # LOAD_FILAMENT IN SIMPLEAF
runout_gcode:
_M118 Out of filament
{% if printer.extruder.can_extrude|lower == ‘true’ %}
_ _G91
__G1 E-30 F180
__G1 E-50 F2000
__G90
{% endif %}

Had to use _ for spaces as the editor doesn’t like leading spaces, you get the idea