Quick update, and I think I’ve cracked it with minimal changes to the settings!
By setting the temperature after poop purge to to 160 degrees throughout is sufficient to stop the oozing of the filament until the purge line stage and give a clean break to start the print process. I’ve ran this test at least 15 times on the bounce alternating between PETG and PLA Matte both with success every single time. Here’s a few short vids to verify.
Poop Purge (online-video-cutter.com) - Watch Video
Nozzle Clean Stage (online-video-cutter.com) - Watch Video
Purge Line Stage (online-video-cutter.com) - Watch Video
Some points to note:
-
Highly recommend that any oozing exess filament stuck to the tip after previous prints is snipped off and (if necessary) the nozzle tip area is cleaner before starting the print. I’ve noticed a couple of times that the purging of the filament mixed with the leftover filament that was stuck ot the nozzle has caused some to stick, although thankfully not enough to create a printing issue.
-
During the purge process, on two occasions the nozzle tip failed to cut the poop after the first wipe meaning the poop clung on to the nozzle tip, but it did clean the tip on the second wipe although at least one time the poop fell onto the print bed and not into the bucket as a result. I suspect this is because the fan kicks in at 100% prior to the initial wipes and so the filament shrinks and hardens making it harder to cut off from the nozzle. Might not be a problem if you are using a non-standard Bambu nozzle wiper but i you’re worried, you could try setting the fan speed from 100% to something like 80% which might help, however I am yet to test that. Alternatively, try increase the speed of the wipes to make the cut.
-
In my G-Code I have set the nozzle temperature at key stages of the pre-print process to 160 degrees but there seems to be an anomaly with the printer setting the nozzle to 140 degrees just before it performs the homing stage. I am not sure if this is the printer overriding the G-Code because I can’t find any setting in my code that sets the nozzle to 140 degrees at the homing stage. That said, I’ve found it has not affected any oozing but it does cause around 5-10 second delay to move on to the next stage as the nozzle temp drops from 160 to 140 before going up to the preferred nozzle temp to start the purge line step.
I’m sharing my G-Code and filament settings below if anyone wants to give it a go and confirm it works for you as well. I’ve also added some additional comment lines to explain important stages of the print process and where I have changed the temperatur settings to 160/150 degrees.
;===== MACHINE: P1S =====
; ==== START OF PRINT PROCESS ====
;===== turn on the HB fan & MC board fan ====
M104 S75 ; set extruder temp to turn on the HB fan and prevent filament oozing from nozzle
M710 A1 S255 ; turn on MC fan by default(P1S)
;===== reset machine status ====
M290 X40 Y40 Z2.6666666
G91
M17 Z0.4 ; lower the z-motor current
G380 S2 Z30 F300 ; G380 is same as G38; lower the hotbed , to prevent the nozzle is below the hotbed
G380 S2 Z-25 F300 ;
G1 Z5 F300;
G90
M17 X1.2 Y1.2 Z0.75 ; reset motor current to default
M960 S5 P1 ; turn on logo lamp
G90
M220 S100 ;Reset Feedrate
M221 S100 ;Reset Flowrate
M73.2 R1.0 ;Reset left time magnitude
M1002 set_gcode_claim_speed_level : 5
M221 X0 Y0 Z0 ; turn off soft endstop to prevent protential logic problem
G29.1 Z{+0.0} ; clear z-trim value first
M204 S10000 ; init ACC set to 10m/s^2
;===== PREHEAT BED =====
M1002 gcode_claim_action : 2
M140 S[bed_temperature_initial_layer_single] ;set bed temp
M190 S[bed_temperature_initial_layer_single] ;wait for bed temp
;===== turn on fans to prevent PLA jamming =====
{if filament_type[initial_extruder]=="PLA"}
{if (bed_temperature[initial_extruder] >45)||(bed_temperature_initial_layer[initial_extruder] >45)}
M106 P3 S180
{endif};Prevent PLA from jamming
{endif}
M106 P2 S100 ; turn on big fan ,to cool down toolhead
;===== prepare print temperature and material =====
M104 S[nozzle_temperature_initial_layer] ;set extruder temp
G91
G0 Z10 F1200
G90
G28 X
M975 S1 ; turn on
G1 X60 F12000
G1 Y245
G1 Y265 F3000
M620 M
M620 S[initial_extruder]A ; switch material if AMS exist
M109 S[nozzle_temperature_initial_layer]
G1 X120 F12000
G1 X20 Y50 F12000
G1 Y-3
T[initial_extruder]
G1 X54 F12000
G1 Y265
M400
M621 S[initial_extruder]A
M620.1 E F{filament_max_volumetric_speed[initial_extruder]/2.4053*60} T{nozzle_temperature_range_high[initial_extruder]}
M412 S1 ; turn on filament runout detection
; ===== POOP PURGE PROCESS =====
M109 S250 ; set nozzle temperature to 250 degrees to flush filament from nozzle
M106 P1 S0
G92 E0
G1 E50 F200
M400
M104 S[nozzle_temperature_initial_layer]; set nozzle temperature to initial layer temperature in filament settings
G92 E0
G1 E50 F200
M400
M106 P1 S255
G92 E0
G1 E5 F300
M109 S{nozzle_temperature_initial_layer[initial_extruder]-60} ; Reduces initial layer nozzle temperature by 60 degrees
G92 E0
G1 E-0.5 F300
; ===== NOZZLE WIPE AND SHAKE TOOLHEAD TO REDUCE STICKING FILAMENT =====
G1 X70 F9000
G1 X76 F15000
G1 X65 F15000
G1 X76 F15000
G1 X65 F15000
G1 X80 F6000
G1 X95 F15000
G1 X80 F15000
G1 X165 F15000
M400
M106 P1 S0
;==== FIRST STAGE NOZZLE WIPE ====
M1002 gcode_claim_action : 14
M975 S1
M106 S255
G1 X65 Y230 F18000
G1 Y264 F6000
M109 S{nozzle_temperature_initial_layer[initial_extruder]-60}; Reduces initial layer nozzle temperature by 60 degrees
G1 X100 F18000 ; first nozzle wipe
G0 X135 Y253 F20000; move nozzle to exposed steel surface edge for cleaning
G28 Z P0 T300; home z with low precision,permit 300deg temperature
G29.2 S0 ; turn off ABL
G0 Z5 F20000
;==== FIRST STAGE NOZZLE WIPE ====
G1 X60 Y265
G92 E0
G1 E-0.5 F300 ; retrack more
G1 X100 F5000; second wipe mouth
G1 X70 F15000
G1 X100 F5000
G1 X70 F15000
G1 X100 F5000
G1 X70 F15000
G1 X100 F5000
G1 X70 F15000
G1 X90 F5000
G0 X128 Y261 Z-1.5 F20000 ; move to exposed steel surface and stop the nozzle
M104 S160 ; Sets nozzle temperature to 160 degrees and proceeds to next instruction
M106 S255 ; turn on fan (G28 has turn off fan)
;==== CLEAN NOZZLE USING EXPOSED STEEL PLATE AT BACK OF PRINT BED ====
M221 S; push soft endstop status
M221 Z0 ;turn off Z axis endstop
G0 Z0.5 F20000
G0 X125 Y259.5 Z-1.01
G0 X131 F211
G0 X124
G0 Z0.5 F20000
G0 X125 Y262.5
G0 Z-1.01
G0 X131 F211
G0 X124
G0 Z0.5 F20000
G0 X125 Y260.0
G0 Z-1.01
G0 X131 F211
G0 X124
G0 Z0.5 F20000
G0 X125 Y262.0
G0 Z-1.01
G0 X131 F211
G0 X124
G0 Z0.5 F20000
G0 X125 Y260.5
G0 Z-1.01
G0 X131 F211
G0 X124
G0 Z0.5 F20000
G0 X125 Y261.5
G0 Z-1.01
G0 X131 F211
G0 X124
G0 Z0.5 F20000
G0 X125 Y261.0
G0 Z-1.01
G0 X131 F211
G0 X124
G0 X128
G2 I0.5 J0 F300
G2 I0.5 J0 F300
G2 I0.5 J0 F300
G2 I0.5 J0 F300
M109 S150 ; Set nozzle temperature to 150 degrees and wait until it reaches this temperature before proceeding to next instruction.
G2 I0.5 J0 F3000
G2 I0.5 J0 F3000
G2 I0.5 J0 F3000
G2 I0.5 J0 F3000
M221 R; pop softend status
G1 Z10 F1200
M400
G1 Z10
G1 F30000
G1 X230 Y15
G29.2 S1 ; turn on ABL
;G28 ; home again after hard wipe mouth
M106 S0 ; turn off fan, too noisy
;===== wipe nozzle end ================================
;===== BED LEVELLING ==================================
M1002 judge_flag g29_before_print_flag
M622 J1
M1002 gcode_claim_action : 1
G29 A X{first_layer_print_min[0]} Y{first_layer_print_min[1]} I{first_layer_print_size[0]} J{first_layer_print_size[1]}
M400
M500 ; save cali data
M623
;===== END OF BED LEVELLING =====
;===== WIPE NOZZLE AND START HOMING PROCESS =====
M1002 judge_flag g29_before_print_flag
M622 J0
M1002 gcode_claim_action : 13
G28
M623
;===== END OF HOME PROCESS =====
M975 S1 ; turn on vibration supression
;===== turn on fans to prevent PLA jamming =====
{if filament_type[initial_extruder]=="PLA"}
{if (bed_temperature[initial_extruder] >45)||(bed_temperature_initial_layer[initial_extruder] >45)}
M106 P3 S180
{endif};Prevent PLA from jamming
{endif}
M106 P2 S100 ; turn on big fan ,to cool down toolhead
M104 S{nozzle_temperature_initial_layer[initial_extruder]} ; Start the nozzle initial layer temperature to reduce wait time
;===== mech mode fast check =====
G1 X128 Y128 Z10 F20000
M400 P200
M970.3 Q1 A7 B30 C80 H15 K0
M974 Q1 S2 P0
G1 X128 Y128 Z10 F20000
M400 P200
M970.3 Q0 A7 B30 C90 Q0 H15 K0
M974 Q0 S2 P0
M975 S1
G1 F30000
G1 X230 Y15
G28 X ; re-home XY
;===== fmech mode fast check =====
;===== PRIME THE NOZZLE WITH TWO LINES BEFORE PRINTING MODEL =====
M975 S1
G90
M83
T1000
G1 X18.0 Y1.0 Z0.8 F18000;Move to start position
M109 S{nozzle_temperature_initial_layer[initial_extruder]}
G1 Z0.2
G0 E2 F300
G0 X240 E15 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}
G0 Y11 E0.700 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}
G0 X239.5
G0 E0.2
G0 Y1.5 E0.700
G0 X18 E15 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}
M400
;===== for Textured PEI Plate , lower the nozzle as the nozzle was touching topmost of the texture when homing ==
;curr_bed_type={curr_bed_type}
{if curr_bed_type=="Textured PEI Plate"}
G29.1 Z{-0.04} ; for Textured PEI Plate
{endif}
;===== turn off light and wait extrude temperature =====
M1002 gcode_claim_action : 0
M106 S0 ; turn off fan
M106 P2 S0 ; turn off big fan
M106 P3 S0 ; turn off chamber fan
M975 S1 ; turn on mech mode supression
Temp settings below. Mainly tested at 220 degrees for PETG but have tried 230 degrees and appear to be no issues either after several attempts. For PLA Matte I also tested at 220 degrees with no issue.
Update 1 August:
Discovered that you cannot use the calibration process in Bambu Studio for ObXidian nozzle because calibration only works with system assigned printers using an access/pin code. The ObXidian presets are a user preset so if you try calibration, it will be based on your standard P1/X1 nozzle and filament settings.
See this post I made for a workaround: Obxidian nozzle (setting import) and flow rate calibration - #4 by SlobRob