A ten-minute test print should not spend nearly as long getting ready as printing, yet on a Bambu it can: one X1C report from June 2024 put the startup cycle at about 7 minutes. Some of that wait can be switched off, some is fixed, and the figure Bambu Studio labels Prepare time leaves the heat-up out entirely.
Quick ways to cut the wait
- In the dialog that opens when you send the print, set Auto Bed Leveling and Flow Dynamics Calibration to Auto or Off. The P1S has no flow calibration row.
- Preheat the bed from the bed temperature field on the Device tab; the X1C and P1S templates wait for the bed first thing. Skip this on the H2D: for filaments that need no chamber heat, its template turns the bed off (M140 S0) and heats it again later.
- When you print back to back, send the next job right away. The end G-code switches off the bed and the nozzle.
- Still too slow? Edit the start G-code in a separate printer preset saved under its own name, and watch the first run from start to finish.
What runs before every print, model by model
The Machine start G-code in each Bambu machine profile does the heating, homing, loading, purging, wiping and the prime line. Your send dialog choices reach the printer as flags. A M1002 judge_flag line checks one of them: if it is set, what sits between M622 J1 and M623 runs, and if not, the M622 J0 block does. For leveling the flag is g29_before_print_flag. Set, and G29 probes the bed; unset, and a plain G28 homes in its place.
Stock 0.4 mm profiles in Bambu Studio, as of October 2026:
| Printer | Template date | Bed leveling | Vibration sweep | Flow Dynamics Calibration |
|---|---|---|---|---|
| X1 Carbon | 2025-10-31 | Flag | Always | Flag |
| P1S | 2025-10-31 | Flag | Always | Not in the code |
| A1 | 2026-05-13 | Flag | Always | Flag |
| A1 mini | 2026-05-13 | Flag | Always | Flag |
| P2S | No date line | Flag | Always | Flag |
| H2D | 2026-06-05 | Flag | Always | Flag |
Picking AMS does not touch leveling; Auto Bed Leveling does. Where supported, its list includes Auto, described as a check of about 10 seconds that skips leveling when the surface is fine; elsewhere you get On and Off. Whether turning leveling or flow calibration off is wise for your setup is the subject of turning off pre-print calibration.
Steps that stay no matter what you pick
No flag guards the vibration sweep. Find the block commented mech mode fast check or mech mode sweep in any of the six templates and its M970 commands run every time, with nothing in the send dialog mapped to them. A bed that shakes before each print with only AMS selected is the template doing what it says. The profile text cannot tell you whether the firmware ever skips the sweep by itself.
Everything else is the price of starting a print: heating the bed and nozzle (M190, M109), homing (G28), loading filament from the AMS and pushing old material out of the nozzle (two 50 mm extrusions at 250 °C on the X1C), wiping, and a prime line along the front edge of the plate. Where those lines land is in calibration lines under your print.
Why the Prepare time estimate drifts from the real wait
After slicing, set Preview to Line Type and look below the legend. Under Total Estimation you get Prepare time, Model printing time and Total time. Model printing time is the total minus the prepare part.
Prepare time is Bambu Studio's simulation of the start G-code, which the slicer tags as Custom in the file; every block up to the next line type lands in the prepare bucket. Not every command gets simulated:
| Command | What the estimate adds |
|---|---|
| G0, G1, G2 and G3 moves, plus G28 | Move time from speed and acceleration limits; G28 counts as a move to zero |
| G4 and M400 with S or P | The time written on the line |
| G29 inside the leveling block | A fixed 260 seconds, 370 on the P2S profile |
| M191 with a chamber target above 40 °C | A fixed 720 seconds |
| M109 and M190 heat-and-wait | Nothing |
| M970 vibration commands | Nothing |
Heating counts as zero, so a cold bed makes the real wait longer than the figure, and so is the X1C's dip to 140 °C for the wipe and leveling and the reheat after it. The slicer also cannot know what you will pick in the send dialog, so it adds up both branches of every conditional block: turn leveling off and the 260 seconds stay in the estimate.
The H2D template waits on M191 whenever the chamber target is 40 °C or more, while the estimate adds its 720 seconds only above 40 °C; the observation that H2D preparation runs close to 10 minutes is in why the H2D looks slow. A test print in a filament that needs no chamber heat keeps that heating wait out of the start G-code, although the template then runs an M191 S0 line instead, and how long that takes is not in the profile.
Prepare and timelapse time
When the printer profile's timelapse code is in the slice, the first row is renamed Prepare and timelapse time and shows two figures joined by "+". The second builds up during the print: the profile adds a snapshot block at layer changes, and as Bambu Studio's own warning puts it, the printer moves the build plate and toolhead before each shot. Model printing time leaves both out.
The timelapse code is marked as a skippable block in the file, and the slicer shows its time whether or not you switch Timelapse on in the send dialog.
Editing the start G-code
Bambu publishes no short start sequence. The trimmed versions that circulate are unofficial, can stop working after a firmware update, and a crash or a ruined first layer is on you.
Leveling and flow calibration already have switches in the send dialog, so the vibration sweep is the only step worth editing out. Do it on a copy:
- Turn on the advanced mode switch at the top of the settings window, open Printer settings, go to the Machine gcode page and find the Machine start G-code group.
- Paste the whole text into a file before you change anything.
- In the block commented
mech mode fast checkormech mode sweep, delete only the lines that start with M970 and M974. Keep the moves, M400, M975 and every G28; on the A1 mini that same block also homes Z and runs the build plate check. This reading comes from the profile text; how the firmware reacts to a missing sweep is not documented. - Click the save icon at the top of the window and name the preset in the Save preset dialog. Bambu Studio refuses the system name with "Overwrite a system profile is not allowed".
Pick that preset for quick tests and Bambu's for everything else. It will not pick up template changes when Bambu Studio updates, so port your edit to the newer text yourself, and return to the stock preset after you move the printer, since corners can start ringing. M109 and M190 are the lines that wait for the nozzle and bed to heat; leave them in. The G-code explainer covers what each command does.
Run the first print with the printer in view and stop it the moment a move looks wrong.



