<p>The TH3D article &quot;<a href="https://www.th3dstudio.com/hc/product-information/ezabl/advanced-setup/storing-bed-leveling-mesh-updating-your-slicer/" rel="nofollow noreferrer">Storing Bed Leveling Mesh &amp; Updating Your Slicer</a>&quot; I think can help.</p>
<p>A summary of that write-up:</p>
<ol>
<li>Send a <code>G28</code></li>
<li>Preheat the machine to your normal print temperature. Let the printer sit at temperature for 5 minutes to let everything expand as it heats</li>
<li>Send a <code>G28</code></li>
<li>Send a <code>G29</code></li>
<li>Send <code>M500</code></li>
</ol>
<p>After doing these steps the mesh is now stored in the printer EEPROM.</p>
<p>Then:
Update your slicer to use the stored mesh</p>
<ol>
<li>Load your slicer and open up the settings where the starting G-code is stored</li>
<li>Replace the <code>G29</code> with <code>M420 S1</code>
(2.5 If you want to use ABL fading use <code>M420 S1 Z10</code> – This will fade ABL compensation until it is off over the first 10 mm of the print.)</li>
<li>Slice up some files!</li>
</ol>
<p>My Cura start G-code.</p>
<pre><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.....
</code></pre>
<p>Hope it's of help.</p>

CC BY-SA 4.0
2022-01-30T03:51:16.793Z
2022-01-30T04:59:32.787Z
2022-01-30T04:59:32.787Z
Akriss
<ol>
<li>Every time I issue a <code>G29</code> command the printer runs through all its multi-point/probing bed leveling routine.</li>
</ol>
<p>Is this normal? or can I issue one <code>G29</code> command with suffice <em>to rule them all!</em> :-)</p>
<ol start="2">
<li>When I issue <code>G29 S1</code> to save the topology to the printer makes a buzzing noise with output :</li>
</ol>
<pre><code>READ: echo:busy: processing
busy: processing
READ: echo:busy: processing
busy: processing
READ: echo:busy: processing
busy: processing
</code></pre>
<p>Below is my Start G-code for reference to this issue.</p>
<pre><code>; 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
M500

; home all axes
G28

; 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
M500
; 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
G90

; 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
<span class="math-container">```</span>
</code></pre>

CC BY-SA 4.0
2022-01-30T05:00:27.777Z
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.
agarza
<troubleshooting><g-code><bed-leveling><bltouch><fdm>
G29 UBL G-code - every request levels bed?
JRP
# G29 UBL G-code - every request levels bed?

(Asked by: username_0 on 2022-01-28)

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! :-)

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
M500

; home all axes
G28

; 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
M500
; 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
G90

; 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
```

**Tags:** troubleshooting, g-code, bed-leveling, bltouch, fdm
> **Comments:**
> **username_1**: 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.  

---

## 1 answers

### Answer by username_2 on 2022-01-30. Score: 1

The TH3D article "Storing Bed Leveling Mesh & Updating Your Slicer" I think can help.
A summary of that write-up:

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

After doing these steps the mesh is now stored in the printer EEPROM.
Then:
Update your slicer to use the stored mesh

Load your slicer and open up the settings where the starting G-code is stored
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.)
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.


---

