Filament Runout Gcode


Working on a filament out script for a sensor, and what is the appropriate "gcode" to make this work? I have looked at a few plugins that already do this and they move the head around and what not. What about using the M600 command in Marlin to do this? Anyone have any experience with this?

Another questions, obviously I want to inject and pause the printing when I do this, what is the correct order to do this in? Inject the M600 and then pause the print job, or M600 and do nothing, I am at a bit of a loss and I did not want to chase my tail forever when I know someone has really figured this out.


1 Like

I think you need to do it all in Marlin in configuration_adv FIRST otherwise will not work... as in what the M600 will do. Open the mailin.ino is arduino editor and search in configuration_adv for M600 then edit as needed then go to configuration.h and set the park position there (see a bit later in reply).

I have a sensor and it basically detects filament out, pauses the current job, moves the head, retracts the filament and then prompts you to add new etc. Just as I set in the configuration_adv.h file. This might help as it goes through the process in some detail.

You need the "park head on pause" enabled too otherwise it will just pause exactly where it ran out, probably not what you want.

I have not done it yet to create all the gcode but it should be possible to echo to terminal and copy them (for octoprint).

Mine prompts for me to reload filament, and restart after heating up etc. it is kinda spooky when it does it the first time.

Not exactly what you want but maybe a starting place?

This might help too.

Thanks for the help.