<p>You need to enable the constant <code>Z_SAFE_HOMING</code> (like: <code>#define Z_SAFE_HOMING</code>) in your <a href="https://github.com/MarlinFirmware/Marlin/blob/1.1.x/Marlin/Configuration.h" rel="nofollow noreferrer">printer configuration file</a> (if you're using Marlin firmware that is). This will move the nozzle to the middle of the plate prior to lowering the nozzle by default:</p>

<pre><code>#if ENABLED(Z_SAFE_HOMING)
  #define Z_SAFE_HOMING_X_POINT ((X_BED_SIZE) / 2)    // X point for Z homing when homing all axes (G28).
  #define Z_SAFE_HOMING_Y_POINT ((Y_BED_SIZE) / 2)    // Y point for Z homing when homing all axes (G28).
#endif
</code></pre>

CC BY-SA 4.0
2019-10-08T12:13:08.367Z
2019-10-08T19:52:44.423Z
2019-10-08T19:52:44.423Z
0scar
<p>Use <code>Z Safe Homing</code> to avoid homing with a Z probe outside the bed area</p>

<p>According to Marlin firmware with this feature enabled:</p>

<ul>
<li>Allow Z homing only after X and Y homing AND stepper drivers still
enabled.</li>
<li>If stepper drivers time out, it will need X and Y homing again before Z homing.</li>
<li>Move the Z probe (or nozzle) to a defined XY point before Z Homing when homing all axes (G28).</li>
<li>Prevent Z homing when the Z probe is outside the bed area.</li>
</ul>

<p>To Enable Z SAFE HOMING, In the <code>configuration.h</code> file search (Ctrl+F) for <code>#define Z_SAFE_HOMING</code>. By default, it will be disabled to enable it just uncomment 
the line</p>

<p><a href="https://i.sstatic.net/5KfmU.png" rel="nofollow noreferrer"><img src="https://i.sstatic.net/5KfmU.png" alt="enter image description here"></a></p>

CC BY-SA 4.0
2019-10-08T14:14:10.477Z
2019-10-08T14:14:10.477Z
Mayoogh Girish
<p>I recently installed a SKR 1.3 Board with a 3DTouch-Probe on my Creality Ender 3 Pro. 
The probe works, <code>G29</code> does its magic, but:</p>

<p>If i issue a plain <code>G28</code>, the hotend first homes X and Y like before the Z-probe. 
The probe is now next to, not above, the bed.
As the next step, the printer is supposed to home the Z-axis. The probe deploys and Z starts to lower until it smashes into the bed, because the probe misses the bed (if I don't stop it, that is).</p>

<p>I configured X/Y offsets for the probe, but they don't seem to be honored when performing the <code>G28</code> code.</p>

<p>If I home X/Y "manually" with <code>G28 X Y</code>, move the hotend with like <code>G1 X45 Y10</code>, then home Z with <code>G28 Z</code> it works fine.</p>

<p>What did I miss? Is this intended behaviour &amp; the user has to take care never to issue a plain <code>G28</code>?!</p>

<creality-ender-3><bed-leveling><z-probe><3dtouch><skr-v1.3>
G28 ignoring Z-Probe X/Y Offsets
Odious
# G28 ignoring Z-Probe X/Y Offsets

(Asked by: username_0 on 2019-10-08)

I recently installed a SKR 1.3 Board with a 3DTouch-Probe on my Creality Ender 3 Pro.
The probe works, `G29` does its magic, but:

If i issue a plain `G28`, the hotend first homes X and Y like before the Z-probe.
The probe is now next to, not above, the bed.
As the next step, the printer is supposed to home the Z-axis. The probe deploys and Z starts to lower until it smashes into the bed, because the probe misses the bed (if I don't stop it, that is).

I configured X/Y offsets for the probe, but they don't seem to be honored when performing the `G28` code.

If I home X/Y "manually" with `G28 X Y`, move the hotend with like `G1 X45 Y10`, then home Z with `G28 Z` it works fine.

What did I miss? Is this intended behaviour & the user has to take care never to issue a plain `G28`?!

**Tags:** creality-ender-3, bed-leveling, z-probe, 3dtouch, skr-v1.3


---

## 2 answers

### Answer by username_1 on 2019-10-08. Score: 2

You need to enable the constant `Z_SAFE_HOMING` (like: `#define Z_SAFE_HOMING`) in your [printer configuration file](https://github.com/MarlinFirmware/Marlin/blob/1.1.x/Marlin/Configuration.h) (if you're using Marlin firmware that is). This will move the nozzle to the middle of the plate prior to lowering the nozzle by default:

```
#if ENABLED(Z_SAFE_HOMING)
  #define Z_SAFE_HOMING_X_POINT ((X_BED_SIZE) / 2)    // X point for Z homing when homing all axes (G28).
  #define Z_SAFE_HOMING_Y_POINT ((Y_BED_SIZE) / 2)    // Y point for Z homing when homing all axes (G28).
#endif

```


---

### Answer by username_2 on 2019-10-08. Score: 1

Use `Z Safe Homing` to avoid homing with a Z probe outside the bed area

According to Marlin firmware with this feature enabled:

* Allow Z homing only after X and Y homing AND stepper drivers still
  enabled.
* If stepper drivers time out, it will need X and Y homing again before Z homing.
* Move the Z probe (or nozzle) to a defined XY point before Z Homing when homing all axes (G28).
* Prevent Z homing when the Z probe is outside the bed area.

To Enable Z SAFE HOMING, In the `configuration.h` file search (Ctrl+F) for `#define Z_SAFE_HOMING`. By default, it will be disabled to enable it just uncomment
the line

[![enter image description here](https://i.sstatic.net/5KfmU.png)](https://i.sstatic.net/5KfmU.png)


---

