X2D: auto "Silent mode" profile for quiet overnight prints

I wanted to set up my X2D for quieter overnight prints. Silent mode helps with motion noise, but it doesn’t touch the aux/chamber/print fans, and I was tired of having to remember to switch to Silent on the screen every time anyway. After digging through the gcode templates and testing, I put together a set of profile edits that does 3 things automatically:

  1. Puts the printer in Silent mode (50% feedrate, 50% acceleration): screen shows “Silent,” no manual switching
  2. Halves all auxiliary, filter, and chamber fan speeds: startup, layer changes, toolchanges, and the post-print air purge
  3. Corrects the displayed time estimate so it’s accurate

The part-cooling fan (P1) is handled separately via a filament profile override, since that’s slicer-controlled not gcode-controlled.

You’ll need to duplicate 2 stock profiles and make the edits below. Everything is find/replace – no need to understand the gcode.


Machine profile: “Bambu Lab X2D 0.4 nozzle”

Duplicate this profile, name it something like “Bambu Lab X2D 0.4 nozzle - Silent”, then edit 4 gcode fields.

1.a. Machine start G-code: Silent mode (4 edits)

In the “reset machine status” block, find and replace:

Find Replace with
M220 S100 ;Reset Feedrate M220 S50 ;Silent mode: 50% feedrate
M1002 set_gcode_claim_speed_level: 5 M1002 set_gcode_claim_speed_level: 4
M73.2 R1.0 ;Reset left time magnitude M73.2 R2.0 ;Silent mode: 2x time estimate

Then add this new line right after the M220 S50 line:

M201.2 K0.5 ;Silent mode: 50% acceleration magnitude

M1002 set_gcode_claim_speed_level: 4 makes the printer display/engage Silent mode. Stock value 5 is Standard. Your end gcode already resets this to 0, so the next print starts clean.

1.b. Machine start G-code: fan halving (7 edits)

In the “set airduct mode” section, find and replace:

Find Replace with
M106 P10 S255 ; turn on filter fan M106 P10 S127 ; turn on filter fan
M106 P2 S255 ; turn on auxiliary fan for cooling M106 P2 S127 ; turn on auxiliary fan for cooling
M106 P10 S255 ; turn on auxiliary fan for cooling M106 P10 S127 ; turn on auxiliary fan for cooling
M106 P3 S127 ; turn on chamber fan for cooling M106 P3 S64 ; turn on chamber fan for cooling
M106 P2 S102 ; turn on auxiliary fan M106 P2 S51 ; turn on auxiliary fan
M106 P10 S102 ; turn on chamber fan M106 P10 S51 ; turn on chamber fan
M142 P6 R30 S40 U0.6 V0.8 M142 P6 R30 S40 U0.3 V0.4

Leave the 2 M106 P1 S255 lines (calibration bursts) alone – those are brief and need full power for flow calibration.

2. Machine end G-code: air purification (4 edits)

You’ll need to edit the air purification section at the bottom. Find and replace:

Find Replace with
M106 P10 S255 M106 P10 S127
M106 P3 S255 M106 P3 S127
M400 S180 (both occurrences in the purification section) M400 S360

This halves the post-print purge fan speed and doubles the duration, so you get the same total air exchange at half the noise. Trades 3 minutes of loud fan for 6 minutes of quiet fan.

3. Layer change G-code (3 find/replace, applied throughout)

Find Replace with
255.0/100.0 127.0/100.0
U{max_additional_fan/100.0} V1.0 U{max_additional_fan/200.0} V0.5
U{max_additional_fan/100.0} V0.5 U{max_additional_fan/200.0} V0.25

4. Change filament G-code

Apply the exact same 3 find/replace operations as Layer change G-code above. The patterns are identical.


Filament profile: “Bambu PLA Basic @BBL X2D 0.4 nozzle”

Duplicate this filament profile, name it something like “Bambu PLA Basic @BBL X2D 0.4 nozzle - Silent”, then set these 3 values:

Setting Stock value Silent value
Part cooling fan → Fan speed (max) 100 50
Part cooling fan → Fan speed (min) 100 50
Part cooling fan → Fan speed for overhangs 100 50

This halves the part-cooling fan (P1), which the machine gcode doesn’t control. The lower fan speeds are fine here because Silent mode’s 50% feedrate means longer layer times, so each layer has more time to cool naturally.

The filament profile’s auxiliary fan settings (first_x_layer_fan_speed, additional_cooling_fan_speed) should be left at stock – those feed into the machine gcode formulas you already halved, so changing them too would double-reduce.


Notes

  • Select both profiles together when printing – the machine profile handles Silent mode + aux fans, the filament profile handles the part-cooling fan.
  • No need to press Silent on the printer screen – the gcode will handle it.
  • Bambu Studio’s estimated print time won’t reflect the 50% slowdown (it doesn’t simulate M220 overrides), but the printer’s own displayed time will be accurate thanks to the M73.2 R2.0 correction.
  • The 0.2 nozzle profile inherits all its gcode from the 0.4 templates, so the same edits work there too if you want a 0.2 Silent profile.

Those who are willing to trust a stranger’s profiles (use at your own risk, as always!) may download my X2D machine profiles (for both 0.2mm and 0.4mm nozzles) and associated PLA Basic filament profiles here:

Bambu Lab X2D - Silent profiles

Use these by opening Bambu Studio and going to FileImportImport Configs…