Jam detection immediate action

Good day
I use Jam detection for a filament runout sensor. JAM_ACTION 1
If the filament runs out the printer will display the Jam detected message but will continue with the print that is still in the buffer and only then will it go to the filament change position. Is there a way for it to act immediately if the runout is detected.


  • No, we can not stop the moves already queued, or they would be lost.
    Normally you also have some mm filament available before the motor does not get any filament since the sensor is before the motor.
  • My drive gear is the filament sensor so I have 0 filament left when it triggers. At 1mm nozzle printing large objects this has resulted in major issues as it would print 400 - 500mm of filament from the buffer before the pause.
  • Ok, that's bad, but planned path can not be unplanned and stored for later replay beside that stopping at 200mm might also cause loosing steps. So nothing we can do here. All you can do is reduce buffers but that might cause less smooth moves as optimization does then not work as good. Or move hardware sensor so it does not matter.
  • I tried to lower the buffer, but like you said it caused quality issues and moving the sensor wastes a lot of plastic if it is a lot of small moves being executed in the buffer as the runout is triggered. Alternatively, printing large simple objects can have many large moves in buffer requiring 1-2 meter of plastic to be present when runout is detected. My printers build volume are 500mm^3 and 750mm^3 with nozzles going up to 1.6mm. Is my solution to move to marlin then?
  • Does marlin do it differently? To implement this is a non trivial task taking month of development time as it requires a path planner that can be backuped and modified on the fly.
  • It looks like some implementations do this from videos I have seen but I do not know unless I look at the code and I do not have time for that.
    I understand it is non trivial and may take a long time but the power of such a function would be very beneficial.
    If you tell your printer to pause of filament runout/ jam and the actions are instantaneous, it would add to the user experience.
  • Maybe it will be possible in V2 to improve on that. It has more free ram and motion planner is easier. So here I might at least for a due which has the ram for this store the skipped moves and add an earlier stop. Not directly as this might cause lost of steps but as soon as possible. But then it also will depend on many more factors e.g. requiring a lcd display so firmware can take control over this or hosts knowing about abadonned moves and being able to tell firmware to restart now.
  • That would be awesome. I hope it make it into the feature set.
  • If it doe sit is a long way. First I need to get the new system going well.
Sign In or Register to comment.