Why does prusaslicer use T0 for fliament swaps with the MMU3 instead of M701 and M702?
 
Notifications
Clear all

Why does prusaslicer use T0 for fliament swaps with the MMU3 instead of M701 and M702?  

  RSS
Green Joe
(@green-joe)
Eminent Member
Why does prusaslicer use T0 for fliament swaps with the MMU3 instead of M701 and M702?

I've been getting the MMU3 working nicely on my MK4S recently. I almost only use PETG for functional parts where colour might be used for inbuilt labels. Therefore, a purge tower to put a version number on the top of a model is a big waste of filament. 

I have set my "extra load distance" in firmware to correctly specify the distance between the nozzle and the filament sensor, now my final stage is getting the colour changes to work nicely. 

I noticed that the default T0 code suggested by prusaslicer seem much more likely to result in a failed swap, and I think this is because it does not initiate ramming to shape the filament tip as it leaves. Therefore I get very stringy, unpleasant tips which leave material in the extruder gears etc.

When I compare this to M701 and M702, they seem almost flawless, it seems like a missed opportunity to not use them. 

 

This is my filament change G-Code

M118 Change filament Gcode section;
;Debug notes:
;Previous {previous_extruder}
;Current {current_extruder}
;Next extruder{next_extruder}

{if current_extruder != next_extruder}
G60 S0 ;Save current position
G0 Z{layer_z+8} F{travel_speed_z*60} ;Move Z away from the print
G0 X{min(first_layer_print_min[0]-10,0)} Y{max(first_layer_print_min[1]-10,0)}  F{travel_speed*60} ; move away from the print
M702 Z1
M701 P{next_extruder} Z1
M118 finished loading using M701;
T{next_extruder}
M109 S{new_filament_temp-5}
M104 S{new_filament_temp}
G61 S0 F{travel_speed*60} ;Return to saved position
{endif}

These are my MMU settings from start G-Code:

 

;BLOCK_START 
M17 ; Enable steppers
M140 S60 ;Start bed heating
M109 S130; Hotend wait for 130

;Adjust Extruder steps per mm
;No idea why such a large adjustment seems to be needed from the default 380, but I calibrated this very carefully
M92 E419;

;;;;;;;;Original prusa code;;;;;;;;;;
; Perform nozzle diameter check
M862.1 P0.4 ; nozzle check
M862.3 P "MK4S" ; Check printer model
M862.5 P2 ; Check G-code level
M862.6 P "Input shaper"; Check firmware has Input shaper
M862.6 P "MMU3" ; Check firmware has MMU3 enabled
M115 U6.5.3+12776 ; Report firmware version

; Configure MMU settings
;MMU registers  https://prusa3d.github.io/Prusa-Firmware-Doc/Prusa-Firmware-MMU/group__register__table.html 
M708 A0x1e X14  ; Set pulley current to ~260mA 
; https://prusa3d.github.io/Prusa-Firmware-Doc/Prusa-Firmware-MMU/group__TMC2130.html 
M708 A0x0d X140 ; Set unload feedrate
M708 A0x11 X140 ; Set load feedrate
M302 S200 ;Lower cold extrusion limit
;;;;;;;;;END Original prusa code;;;;;;;;
; Configure MMU settings
M708 A0x14 X6  ; Set slow feedrate 8mm/s is 19cubic mm/s
M708 A0x22 X380 ;bowden length
M708 A0x0b X{extra_loading_move}; Set extra load distance

;BLOCK_END TemplateGCode

 

Publié : 19/03/2026 11:04 pm
Partager :