Prusa-Firmware-Buddy
Prusa-Firmware-Buddy copied to clipboard
[BFW-6078] [FEATURE REQUEST] Option to automatically unload filament when print is finished
Please, before you create a new feature request, please make sure you searched in open and closed issues and couldn't find anything that matches. - DONE
Is your feature request related to an existing problem? Please describe. I live in Wales and it is a very humid climate. Filament cannot be left on the printer or it absorbs moisture and becomes stringy. Every time I print, afterwards I unload the filament and put it away in its plastic bag. Normally I print overnight and collect my print in the morning. It is frustrating having to manually tell the printer to unload and then wait while it heats up for unloading.
Describe the expected functionality A tick-box option in the slicer labelled 'unload filament when finished'. If the box is ticked, then at the end of printing the printer will unload the filament and then cool down as normal.
This feature would probably work best as a M600 variable that can be set to unload only - this way the printer also knows that it doesn't actually have filament loaded.
But to be honest, I would probably kind of prefer the printer to unload out of the hotend (but not out of the extruder) by default. This way,
- Ooze is avoided or at least lowered in terms of its volume (especially if using the newly developed MMU ramming)
- less messy for MK4/XL with nozzle based bed leveling
- Unload is always immediate
- When changing filament, the hotend heats up while you're switching spools, saving time
I don't know if there are any major downsides to heating up the hotend with filament in the cold end on a regular basis - the devs would probably know about that a bit more.
Edit: Duplicate of #1668
For your case, there are at least workarounds - Here's examples for the mini: https://forum.prusa3d.com/forum/user-mods-octoprint-enclosures-nozzles/unload-filament-after-print/
G1 F600 E-30
M0 S5
G1 F4800 E-450
Note that this is not 100% accurate unload gcode (no ramming) which may cause some gunk buildup over the long term.
Here's also how it would fit into the Printer Settings>Custom G-code>End G-code using the current alpha version settings
G1 E-1 F2100 ; retract
{if max_layer_z < max_print_height}G1 Z{z_offset+min(max_layer_z+2, max_print_height)} F720 ; Move print head up{endif}
G1 X178 Y178 F4200 ; park print head
{if max_layer_z < max_print_height}G1 Z{z_offset+min(max_layer_z+30, max_print_height)} F720 ; Move print head further up{endif}
;Unload nozzle start
G1 F600 E-30
M0 S5
G1 F4800 E-450
;Unload nozzle end
G4 ; wait
M104 S0 ; turn off temperature
M140 S0 ; turn off heatbed
M107 ; turn off fan
M221 S100 ; reset flow
M572 S0 ; reset PA
M569 S1 X Y ; reset to stealthchop for X Y
M84 ; disable motors
; max_layer_z = [max_layer_z]
According to the Prusa docs, M702 should unload your filament. You can try adding that to your custom end Gcode.
The question of @beng27 is not solved by 'adding something to the gcode'. His request, which I second, is to have a checkbox on the print initiation screen to specify you want the printer to unload the filament, because this particular job will be the last one with this filament, or for the day, and you want to come back after completion and put the spool back in the dry box. Whether that is done via gcodes or not is immaterial. Yes, one can make a gcode file with M702 and schedule that after the current print bu then of course one has to give a 'set ready' for that job, which makes it slightly less work but does not reduce the waiting time.
I came here to request this as well. I waste a ton of time waiting for the XL to unload all 5 toolheads. It would be nice to have the option to have it do it automatically while it's still hot after a print.
Adding another voice to this request. Could we eject each filament as soon as it finishes its last extrusion rather than wait till the end of the whole print? I don't know if the filament runout logic would get in the way if filament is pulled out while the print is running.
This issue has been flagged as stale because it has been open for 60 days with no activity. The issue will be closed in 7 days unless someone removes the "stale" label or adds a comment.
Bumping to keep open
I would also like this feature, even better it would be trough prusa connect or the prusa app.
It'd be great if there was a way to partially unload the filament. With an XL, I often have PETG and PLA filament always loaded, but I often want to change the nozzle. It'd be great if I could partially retract, but not unload, the filament so I could change the nozzle at any time without needing to go through the unload process. I don't necessarily want the filament unloaded, because I may want to start printing right away without changing the nozzle. Pulling the filament up to the top of the heat break, but still in the extruder, would give flexibility to take advantage of the relatively quick nozzle change process without ever having to load/unload filament unless I'm actually changing it.
This feature would be great! Changing filament with the AMS is much more comfortable..
Hello, I've created an internal ticket for this: BFW-6078