How to turn off aux fan or force chamber “heating mode” for PETG/PLA prints?

I don’t want aux fan or chamber cooling on my PETG/PLA prints because it causes the PETG to lift off the PLA support interface at corners.

The x2d won’t let me turn off “strong cooling” and set the chamber to “heating mode” on screen and says the filament doesn’t support it. The QR code that is shown says not found.

Is this setting in the slicer? Because I don’t see anything named after these options in the filament settings in the latest BBS

I’ve tried unchecking aux fan option for the printer in BBS but the aux fans still turn on for the middle layers of the print so it doesn’t look like the printer or filament settings are affecting the aux fans.

You need to make a new filament profile for your filament, and set the heating/cooling/fan parameters there.

Which filament settings should I modify to turn off the aux fan for any layer? The aux fan is turning on for middle layers and not just the initial layers specified at the bottom of the cooling tab.

In your filament profiles cooling tab, set the aux fan parameters like this. They should not run after that. I just did this for the same exact reason. Ensure you do both the PETG and the pla filament profiles you’re using

I set both aux fan settings to 0 like you mentioned. The left aux fan is now off but the right fan is still turned on at different parts of the print.

Did you notice a similar issue with the right aux fan?

Edit: looks like the left aux fan is still turning on during the print too.

No, both of mine stayed off. Did you make sure to set it to 0 in both the PETG and the pla profiles? Also take note of the “For the first” and “at layer” settings.

It’s also possible that it’s seeing a higher chamber temp and overriding the settings to cool the chamber. My chamber stayed at 35°c. Did yours rise higher?

Yes, I set both filaments’ settings to 0 for the aux fan. It looks like the printer is still trying to maintain a low chamber temp even at 32c

What is your bed temp set to? I haven’t gone through the machine gcode yet but maybe there’s something in there that keeps fans going per bed temp? I’m using a Darkmoon ICE plate so I was able to set my bed temp to 60°.

I have it set to the default which is 70c.

The printer UI says the chamber temp is ■■■/0 C because no target chamber temp is set. But somehow it still “knows” a mystery target temp to cool to if that is what it is trying to do.

I checked the stock X2D profiles, and this is not just a printer-side toggle issue.

In the default X2D start G-code, the printer enters a cooling branch when the target chamber temperature is below 40°C. In that branch, it explicitly enables additional cooling commands. On top of that, the X2D layer-change G-code ramps the additional cooling during the print, which is why the aux fans can still come on in the middle of the job even if you disable a simple checkbox.

So yes, this is slicer-driven.

The practical fix is:

  • Create a custom PETG filament profile.
  • In Cooling, set the Auxiliary part cooling fan to 0.
  • Re-slice the model, because this behaviour is embedded in the generated G-code.

If the chamber / exhaust fan is also turning on, that is a separate problem. The stock PLA and PETG filament base profiles contain filament start G-code that can enable the chamber fan based on bed temperature, so disabling the aux fan alone may still not be enough.

In other words, the real issue is not only the on-screen “strong cooling / heating mode” restriction. The generated X2D G-code itself is still injecting cooling commands. The correct fix is to stop those commands at the filament/profile level, not just through the printer UI.

1 Like

I too have struggling with these aux fans when printing PETG.

I am seasoned pro. I am a high school teacher and we have 13 Bambu Printers (most are P1S, but I have a H2C, X1C, and an A1M as well). I have some PETG parts that print flawlessly on those machines, but are warping horribly on the X2D. I’ve tried so many things.

Yes I’ve washed the bed very thoroughly. With scalding hot water, soap, and a stiff bristle brush.

Yes I’ve tried glue (even though I had using glue) as well, but I still get some warping. I’ve wasted over 1kg of filament experimenting.

So frustrating.

I also have printed and installed the air deflectors on both the left and right aux fans as well as the outlet for the air purifier with no help.

Unfortunately, setting the aux fan setting to 0 in the filament profile still doesn’t turn the aux fans off during the print. It’s still doing some kind of auto chamber cooling mode or something. I highly suspect it’s tied to bed temp, as well as chamber temp like you said, in the gcode.

Here is what you can do, there are few places where you can modify the code but this is the easiest and probably the safest. I print PETG with PLA supports and this works fine.

Under filament advanced settings enter following:

; filament start gcode
M106 P2 S76 ; Left AUX 30%
M106 P3 S180 ; chamber exhaust 80%
M106 P10 S76 ; Right Aux 30%

This will always set Aux fans to 30% and exhaust to 80%, modify to your needs, make it S0 if you want to disable it.

[Ignore first 3 layers since those are controlled by Machine gcode. (in case you want to know where exactly:
this line: M142 P6 R30 S40 U0.6 V0.8 ; set PLA/TPU/PETG exhaust chamber autocooling
R30 at 30C U0.6 = fan 60% and at S40 40C V0.8 = 80% you would need to modify accordingly to your needs, or just leave it and ignore it)]

6 Likes

Here is solution allowing for full manaul contol:

1 Like

The annotated changes I did from Sebo3D1’s post if you want to modify off the latest default gcodes since bambu seems to be updating the date commenting at the top of the gcode.

machine start gcode:

modify the airduct mode section

;==== set airduct mode ==== 
{if (overall_chamber_temperature >= 40)}
M145 P1 ; set airduct mode to heating mode for heating
M106 P2 S0 ; turn off auxiliary fan
M106 P10 S255 ; turn on filter fan
{else}
M145 P0 ; set airduct mode to cooling mode for cooling
M106 P2 S255 ; turn on auxiliary fan for cooling
M106 P10 S255 ; turn on auxiliary fan for cooling
M106 P3 S127 ; turn on chamber fan for cooling
;M140 S0 ; stop heatbed from heating
M1002 gcode_claim_action : 29
M191 S0 ; wait for chamber temp
M106 P2 S0 ; turn off auxiliary fan <- CHANGED LEFT AUX FAN to OFF
M106 P10 S0 ; turn off auxiliary fan <- CHANGED RIGHT AUX FAN to OFF
M142 P6 R35 S38 U0.0 V0.8 ; set PLA/TPU/PETG exhaust chamber autocooling <- CHANGED REAR EXHAUST FAN to OFF when at or below the 35C standby temp
{endif}
;==== set airduct mode ==== 

layer change gcode AND change filament gcode:

look for the min_vitrification_temperature section and add a semicolon at the start of the line to comment out all M142 temp adjustments. If changing materials in different nozzles, its probably better to maintain the same chamber temp the entire print anyways.

    {if (min_vitrification_temperature <= 50)}
        {if (nozzle_diameter == 0.2)}
;            M142 P1 R30 S35 U{max_additional_fan/100.0} V0.6 O40; set PLA/TPU ND0.2 chamber autocooling <- CHANGED
        {else}
;            M142 P1 R30 S40 U{max_additional_fan/100.0} V0.6 O45; set PLA/TPU ND0.4 chamber autocooling <- CHANGED
        {endif}
    {else}
        {if (nozzle_diameter == 0.2)}
;            M142 P1 R35 S45 U{max_additional_fan/100.0} V0.3 O50; set PETG ND0.2 chamber autocooling <- CHANGED
        {else}
;            M142 P1 R35 S50 U{max_additional_fan/100.0} V0.3 O55; set PETG ND0.4 chamber autocooling <- CHANGED
        {endif}
    {endif}
1 Like