1. Every time I issue a G29 command the printer runs through all its multi-point/probing bed leveling routine.

Is this normal? or can I issue one G29 command with suffice to rule them all! :-)

  1. When I issue G29 S1 to save the topology to the printer makes a buzzing noise with output :
READ: echo:busy: processing
busy: processing
READ: echo:busy: processing
busy: processing
READ: echo:busy: processing
busy: processing

Below is my Start G-code for reference to this issue.

; reset BL Touch twice
M280 P0 S160
M280 P0 S160

; set Acceleration settings
; M204

; set JERK X/Y to 8s
; M205 X10

; set E-Steps for 3DPW Grey PLA E-Steps test results
M92 E106.6
; save those settings

; home all axes

; set temporary nozzle temp to prevent oozing during homing and auto bed leveling
M104 S120 

; perform auto leveling
G29 P1
; extrapolate leveling
G29 P3
; set fade height to 10mm ***NOT sure this is needed with an almost flat bed out by 0.2mm ?!
; G29 F10
; Saves the bed topology results into slot one.
; G29 S1 ; ***NOT*** a god idea - makes a bad bussing noise and never completes
; save for future use
; Loads mesh #1 for the current print job IF previously saved !
; G29 L1 

; set target extruder nozzle temperature and wait (if heating)
M109 S[extruder0_temperature] T0 ; wait for extruder temp

; use absolute positioning for the XYZ axes

; move to the Y=20mm position on the bed = FRONT
G1 Y20 F3600
; move to the X=200 mm position on the bed  = MIDDLE
G1 X200 F3600

; purge nozzle
G1 E25 F300
  • $\begingroup$ Welcome to 3D Printing SE and thank you for your contribution. When you get a chance, please take the tour to understand how the site works and how it is different than others. $\endgroup$
    – agarza
    Jan 30, 2022 at 5:00

1 Answer 1


The TH3D article "Storing Bed Leveling Mesh & Updating Your Slicer" I think can help.

A summary of that write-up:

  1. Send a G28
  2. Preheat the machine to your normal print temperature. Let the printer sit at temperature for 5 minutes to let everything expand as it heats
  3. Send a G28
  4. Send a G29
  5. Send M500

After doing these steps the mesh is now stored in the printer EEPROM.

Then: Update your slicer to use the stored mesh

  1. Load your slicer and open up the settings where the starting G-code is stored
  2. Replace the G29 with M420 S1 (2.5 If you want to use ABL fading use M420 S1 Z10 – This will fade ABL compensation until it is off over the first 10 mm of the print.)
  3. Slice up some files!

My Cura start G-code.

M75 ; Start Print Timer and Engage Fil Sensor if USB Printing
M84 E ; Disable E Motor for probe accuracy on direct drive systems
M117 Antiblob retract...
G92 E0 ; Reset Extruder distance to 0
G1 E-2 ; Retracts filament to prevent blobs during probing
G92 E0 ; Reset Extruder distance to 0
M117 Homing All...
G28 ; home all axes
M117 Heaters Recovering...
G4 S10; wait for heaters to recover
M420 S1 Z2; Retrieve saved mesh, Z fade 2mm
M900 K0; LA

M117 Purging extruder...
G92 E0     ; reset extruder
G1 Z2.0 F3000    ; move z up little to prevent scratching of surface
G1 X0.1 Y20 Z0.3 F5000.0  ; move to start-line position
G1 X0.1 Y100.0 Z0.3 F500.0 E15  ; draw 1st line
G1 X0.4 Y100.0 Z0.3 F5000.0  ; move to side a little
G1 X0.4 Y20 Z0.3 F500.0 E30  ; draw 2nd line
G92 E0     ; reset extruder
G1 Z1.0 F3000    ; move z up little to prevent scratching of surface

M117 Printing.....

Hope it's of help.


Not the answer you're looking for? Browse other questions tagged .