A cleaned-up and fixed version of the stock Bambu Lab P1S / P2S start g-code (BambuStudio, 2026-02-26 revision), addressing two annoying stock behaviors: redundant homing cycles and delayed motor noise reduction.
Note: The Bambu P2S firmware's internal
G28macro always performs a quadruple X+Y homing cycle regardless of axis specified. This is hardcoded in the firmware and cannot be fixed from the start g-code. This fix removes one unnecessaryG28call (the unconditional one after bed leveling), reducing the total from 4 to 3 full homing cycles. A full resolution would require a firmware-level fix from Bambu.
In the stock sequence, a bare G28 sits unconditionally right after the bed leveling block, outside any conditional (M622/M623) guard:
M622 J0
G28 ; correct: homing only when ABL is skipped
M623
G29.2 S1
G28 ; BUG: runs unconditionally, every single printThis means the printer performs a full XYZ homing every time, regardless of whether bed leveling was done or not - in addition to the initial homing already performed earlier in the sequence.
Fix: The unconditional G28 is removed. The G28 inside the M622 J0 block (no-ABL path) is left intact, as it is intentional and correct.
The stock sequence calls M982.2 S1 (cog noise reduction) before M975 S1 (input shaping) in the machine reset section:
M983.1 M1
M982.2 S1 ; noise reduction, but input shaping isn't active yet
M983.4 S0M982.2 depends on M975 being active to have any effect. In the stock code, M975 S1 is only called much later (after the mechanical sweep), so the noise reduction does nothing during the noisiest parts of the startup sequence.
Fix: M975 S1 is moved immediately before M982.2 S1 in the reset block, so noise suppression is effective from the very beginning.
| # | Location | Stock behavior | Fixed behavior |
|---|---|---|---|
| 1 | After bed leveling | Unconditional G28 re-homes every print |
G28 removed; homing only inside the no-ABL conditional path |
| 2 | Machine reset section | M982.2 S1 called before M975 S1 |
M975 S1 moved before M982.2 S1 so noise reduction is immediately active |
The noise reduction fix (Bug 2) has been confirmed in real-world testing: running a print with the stock g-code is audibly noisier than with the fixed version. The M982.2 S1 command has zero effect when M975 S1 (input shaping) has not been activated first -- the cog noise reduction is completely inactive throughout the stock startup sequence.
- In BambuStudio, go to Printer Settings -> Machine G-code -> Machine start G-code
- Select all and delete the existing content
- Paste the contents of
start_gcode_P2S_fixed.gcode - Save your profile to a new P2S profile -- Bambu Studio doesn't allow overriding the start g-code on the original profile
- Remember to select it before starting a print
Note: This was written and tested against the
2026-02-26revision of the stock P2S start g-code. If Bambu pushes a firmware/slicer update that changes the stock g-code, review the diff before applying.
- Bambu Lab P2S (primary target)
- Likely compatible with P1S -- the g-code structure is nearly identical, but use at your own risk
- BambuStudio / Orca Slicer
This start g-code is based on the version 2026-02-26. Minor differences may occur with other firmware revisions, but these do not affect print quality.
-
bambu-p2s-gcode-annotated by shrx -- Line-by-line annotated documentation of the complete P2S start g-code. Every Bambu-proprietary command explained, unknowns clearly marked. Essential reference if you want to understand what the startup sequence is actually doing.
-
P2S quirks and firmware settings -- Reddit post summarizing the stock settings inconsistencies (travel acceleration, volumetric flow limits, Sport/Ludicrous mode limitations).
Spotted another quirk in the startup sequence? PRs and issues welcome.