<p>From <a href="http://marlinfw.org/docs/features/auto_bed_leveling.html" rel="nofollow noreferrer">this source</a> you can read:</p>

<blockquote>
  <p>After a G29 the leveling data is only stored in RAM. You have to use M500 to save the bed leveling data to EEPROM, otherwise the data will be lost when you restart (or reconnect) the printer. Use M502 to reset the bed leveling data (and other settings to defaults). Use M501 to reload your last-saved bed leveling from EEPROM. This is done automatically on reboot.</p>
</blockquote>

<p>The source also answers the use of <code>M420 S1</code>:</p>

<blockquote>
  <p>After a G29 bed leveling is automatically enabled, but in all other situations you must use M420 S1 to enable bed leveling. It is essential to include the command M420 S1 in the “Start G-code” in your slicer settings. If you have no bed leveling, or if there is no leveling data, then this command is simply ignored.</p>
</blockquote>

<p>So, if you're not using a <code>G29</code> in your start code you must use the G-code  <code>M420 S1</code> to enable the stored mesh from memory.</p>

CC BY-SA 4.0
2019-12-21T10:13:13.033Z
Thank you. I had read the Marlin site but was still not clear on the relationship between G28 and G29, because I did read that G28 was needed but that it disabled ABL.

I assume that as long as I had saved the settings with M500, the use of M420 S1 turns it on with the latest established settings.
Steve061
CC BY-SA 4.0
2019-12-25T18:56:02.310Z
it's usually god to not store the items and relevel before each print unless you have time concerns.
Trish
CC BY-SA 4.0
2019-12-21T05:48:54.400Z
2019-12-21T05:48:54.400Z
0scar
<p>I have an Ender 3 Pro with a BL Touch.</p>

<p>In my G-code should I add an <code>M500</code> after the <code>G29</code>, to save the results to the EEPROM? I know storage size is an issue, so does storing these results cause an issue?</p>

<p>I believe the saved results can be activated before the next print using: <code>M420 S1</code></p>

<p>If I do, does that mean I just auto home (<code>G28</code>) but don’t need to run a <code>G29</code> until I think the bed has lost its level?</p>

<p>I was trying to clarify this after reading:
<a href="https://3dprinting.stackexchange.com/questions/10345/bl-touch-probing-fails-intermittently">BL Touch Probing Fails Intermittently</a></p>

<creality-ender-3><g-code><bltouch>
Saving BL Touch settings
Steve061
# Saving BL Touch settings

(Asked by: username_0 on 2019-12-21)

I have an Ender 3 Pro with a BL Touch.

In my G-code should I add an `M500` after the `G29`, to save the results to the EEPROM? I know storage size is an issue, so does storing these results cause an issue?

I believe the saved results can be activated before the next print using: `M420 S1`

If I do, does that mean I just auto home (`G28`) but don’t need to run a `G29` until I think the bed has lost its level?

I was trying to clarify this after reading:
[BL Touch Probing Fails Intermittently](https://3dprinting.stackexchange.com/questions/10345/bl-touch-probing-fails-intermittently)

**Tags:** creality-ender-3, g-code, bltouch


---

## 1 answers

### Answer by username_1 on 2019-12-21. Score: 2 | Accepted answer

From [this source](http://marlinfw.org/docs/features/auto_bed_leveling.html) you can read:

> After a G29 the leveling data is only stored in RAM. You have to use M500 to save the bed leveling data to EEPROM, otherwise the data will be lost when you restart (or reconnect) the printer. Use M502 to reset the bed leveling data (and other settings to defaults). Use M501 to reload your last-saved bed leveling from EEPROM. This is done automatically on reboot.

The source also answers the use of `M420 S1`:

> After a G29 bed leveling is automatically enabled, but in all other situations you must use M420 S1 to enable bed leveling. It is essential to include the command M420 S1 in the “Start G-code” in your slicer settings. If you have no bed leveling, or if there is no leveling data, then this command is simply ignored.

So, if you're not using a `G29` in your start code you must use the G-code `M420 S1` to enable the stored mesh from memory.

> **Comments:**
> **username_0**: Thank you. I had read the Marlin site but was still not clear on the relationship between G28 and G29, because I did read that G28 was needed but that it disabled ABL.  I assume that as long as I had saved the settings with M500, the use of M420 S1 turns it on with the latest established settings.  
> **username_2**: it's usually god to not store the items and relevel before each print unless you have time concerns.  

---

