I don’t have an AMS and I noticed that the start up sequence will for some reason have a “Changing filament” right after identifying build plate type and before it goes into nozzle cleaning.
Without an AMS, this function is completely redundant. It will go to the purge bucket, extrude some filament, then extrude some more filament for seemingly no reason. Without an actual filament change with an AMS this also seems like a complete (albeit very small) waste of filament during the start up.
While not as streamlined as the start gcode that SylwekK as has been working on, you can get the starting procedure down to around 3:40 and avoid wasting some filament in the process.
THIS HAS BEEN TESTED ONLY WITHOUT AN AMS. The G-code that’s being commented out is for filament change functionality and while realistically, with an AMS it can likely be optimised, I don’t have one, so I can’t test it.
Edit the Printer Profile → Machine Gcode - Machine Start G-Code. Scroll down until you get to the line: ;===== prepare print temperature and material ==========
There, you will want to comment out most of the code after G29.2 S0 ; avoid invalid abl data, as follows (or copy this one, up to you just mind the formatting. If you’re extra brave, you can even delete it.):
;===== prepare print temperature and material ==========
M400
M211 X0 Y0 Z0 ;turn off soft endstop
M975 S1 ; turn on input shaping
G29.2 S0 ; avoid invalid abl data
; G150.3
;{if ((filament_type[initial_no_support_extruder] == "PLA") || (filament_type[initial_no_support_extruder] == "PLA-CF") || (filament_type[initial_no_support_extruder] == "PETG")) && (nozzle_diameter[initial_no_support_extruder] == 0.2)}
;M620.10 A0 F74.8347 H{nozzle_diameter[initial_no_support_extruder]} T{flush_temperatures[initial_no_support_extruder]} P{nozzle_temperature_initial_layer[initial_no_support_extruder]} S1
;M620.10 A1 F74.8347 H{nozzle_diameter[initial_no_support_extruder]} T{flush_temperatures[initial_no_support_extruder]} P{nozzle_temperature_initial_layer[initial_no_support_extruder]} S1
{else}
;M620.10 A0 F{flush_volumetric_speeds[initial_no_support_extruder]/2.4053*60} H{nozzle_diameter[initial_no_support_extruder]} T{flush_temperatures[initial_no_support_extruder]} P{nozzle_temperature_initial_layer[initial_no_support_extruder]} S1
;M620.10 A1 F{flush_volumetric_speeds[initial_no_support_extruder]/2.4053*60} H{nozzle_diameter[initial_no_support_extruder]} T{flush_temperatures[initial_no_support_extruder]} P{nozzle_temperature_initial_layer[initial_no_support_extruder]} S1
{endif}
; M620.11 P0 L0 I[initial_no_support_extruder] E0
; M620.11 K0 I[initial_no_support_extruder] R0
; M620 S[initial_no_support_extruder]A ; switch material if AMS exist
; M1002 gcode_claim_action : 4
; M1002 set_filament_type:UNKNOWN
; M400
; T[initial_no_support_extruder]
; M400
; M628 S0
; M629
; M400
; M1002 set_filament_type:{filament_type[initial_no_support_extruder]}
; M621 S[initial_no_support_extruder]A
; M104 S{nozzle_temperature_initial_layer[initial_no_support_extruder]}
; M400
M106 P1 S0
M400
G29.2 S1
;===== prepare print temperature and material ==========
To clean everything up, you want to scroll down a little bit more as well until you get to ;============switch again================== and commend out basically the whole block of code.
;============switch again==================
; M211 X0 Y0 Z0 ;turn off soft endstop
; G91
; G1 Z6 F1200
; G90
; M1002 set_filament_type:{filament_type[initial_no_support_extruder]}
; M620 S[initial_no_support_extruder]A
; M400
; T[initial_no_support_extruder]
; M400
; M628 S0
; M629
; M400
; M621 S[initial_no_support_extruder]A
;============switch again==================
Save the profile, run it and you should be able to get a slightly quicker startup.