Skip to main content

Site Navigation

Your Account

Choose Language


Revision to Connecting and configuring filament-out sensors


[title|Connecting and configuring filament-out sensors]
[summary]If your printer knows when it has run out of filament, it can abort the job, or it can pause while you load new filament. To do this the printer needs to have a
filament-out sensor attached. These come in two types: simple switches that detect the presence of filament, or sensors that detect the motion of the filament.[/summary]
=== Firmware 1.19 and later ===
The Duet firmware has beta support for motion detection sensors in version 1.19, see [[Gcode#Section_M591_Configure_filament_sensing|Gcode M591]] for configuration. There are two beta implementations:
* [[Duet3dFilamentMonitor RotatingMagnetVersion|Duet3d Filament Monitor: rotating magnet version]]
* [[Duet3dFilamentMonitor LaserVersion|Duet3d Filament Monitor: laser version]]
You can also use the simple switch trigger mechanism described below in firmware version 1.19 and later.
=== Firmware 1.18 and earlier ===
You can arrange for a simple switch to trigger user-defined actions:
The first step is to connect the switch to an unused endstop connector on the Duet WiFi. Note that the Duet uses a separate connector for Z probes, and it has five endstop connectors (X, Y, Z, E0, and E1).
To make the firmware run a script when the filament runs out, use [[Gcode#Section_M581_Configure_external_trigger|M581]] to associate the endstop you chose with a "trigger". Trigger 0 is an emergency stop (probably not what you want), trigger 1 pauses the print (running pause.g), and otherwise trigger ''n'' runs the file trigger''n''.g., which you can write yourself.
Finally, the trigger only happens when the endstop changes state. If you try to start a print with the filament out, the trigger won't happen. So add [[Gcode#Section_M582_Check_external_trigger|M582]] to the start of your prints to check the filament state and run the trigger if there's no filament.