Non-Duet filament monitor setup?

  • I am upgrading my cartesian printer from RAMPS to a Duet WiFi and all is going well but I have hit a snag with my filament monitors and I'm looking for help, please. I've searched for help and sample code but not been able to find it as unfortunately this page is blank and the M591 text only tells some of the story.

    The sensors I have are my own design and pulse as the filament moves - they are currently working on 5V but the specs for the sensing board says that they can work on 3.3V. I plan to attach them to the extruder endstop inputs. The sensor bords in question are and I am only using one output per extruder to give simple pulses - I'm not using direction sensing or similar.

    How do I configure the firmware, please? Does anyone have sample code they can share, or can I use the same code as used for the Duet3D filament monitor?



  • administrators

    RepRapFirmware doesn't yet have support for filament monitors that send pulses. The types it supports are simple present/not-present switches, and the Duet3D filament monitors that send the position of the filament.

    If your coding skills are up to it, you could add the support for your sensor, because the filament monitor code is designed to be extensible. You would need to:

    1. Allocate a new filament monitor type number (P parameter in the M591 command) and reserve it in the GCode wiki at

    2. Write a new descendent class of class Filament Sensor and implement a constructor and the same public methods that the other filament sensor classes provide.

    3. Extend the Create function in class FilamentSensor to create an instance of your class if it receives your type number.

  • Thanks, David, but my coding skills are not up to that yet! I'll investigate, though, but suspect that I'll end up having to wait for the Duet version!


  • administrators

    I am in the process of updating the filament monitor support, and I decided to add support for pulse-type filament monitors at the same time. How many pulses per mm of filament does your sensor produce?

Log in to reply