# Independent dual z, no z endstop, no sync belt, only a probe, how to do homing

**URL:** <https://klipper.discourse.group/t/independent-dual-z-no-z-endstop-no-sync-belt-only-a-probe-how-to-do-homing/8602>\
**Category:** General Discussion\
**Created:** [May 25, 2023, 2:31am UTC](https://klipper.discourse.group/t/independent-dual-z-no-z-endstop-no-sync-belt-only-a-probe-how-to-do-homing/8602 "2023-05-25T02:31:40Z")\
**Posts on this page:** 7\
**Page:** 1

<div class="post-metadata">

**Author:** ![ltc](https://avatars.discourse-cdn.com/v4/letter/l/3be4f8/32.png) [@ltc](https://klipper.discourse.group/u/ltc)\
**Post date:** [May 25, 2023, 2:31am UTC](https://klipper.discourse.group/t/independent-dual-z-no-z-endstop-no-sync-belt-only-a-probe-how-to-do-homing/8602/1 "2023-05-25T02:31:40Z")

</div>

independent dual z, no z endstop, no sync belt, only a z probe, how to do homing, how to keep the dual Z motors at the same hight when homing

---

<div class="post-metadata">

**Author:** ![EddyMI3D](https://yyz2.discourse-cdn.com/free1/user_avatar/klipper.discourse.group/eddymi3d/32/1981_2.png) [@EddyMI3D](https://klipper.discourse.group/u/EddyMI3D)\
**Post date:** [May 25, 2023, 3:06am UTC](https://klipper.discourse.group/t/independent-dual-z-no-z-endstop-no-sync-belt-only-a-probe-how-to-do-homing/8602/2 "2023-05-25T03:06:09Z")

</div>

At least you need a probe. To align the z axes you have to run the [z\_tilt] process:

[https://www.klipper3d.org/Config\_Reference.html#z\_tilt](https://www.klipper3d.org/Config_Reference.html#z_tilt)

---

<div class="post-metadata">

**Author:** ![YaaJ](https://avatars.discourse-cdn.com/v4/letter/y/7ba0ec/32.png) [@YaaJ](https://klipper.discourse.group/u/YaaJ)\
**Post date:** [May 25, 2023, 3:11pm UTC](https://klipper.discourse.group/t/independent-dual-z-no-z-endstop-no-sync-belt-only-a-probe-how-to-do-homing/8602/3 "2023-05-25T15:11:15Z")

</div>

There’s a printer (can’t remember it’s name/model) that first syncs the two Z axis by lifting the gantry, using dual sensorless homing. When the two motors stop, the two Z axis are in sync. Then it homes using the Z probe.  
Of course it takes a while.

---

<div class="post-metadata">

**Author:** ![LifeOfBrian](https://yyz2.discourse-cdn.com/free1/user_avatar/klipper.discourse.group/lifeofbrian/32/2380_2.png) [@LifeOfBrian](https://klipper.discourse.group/u/LifeOfBrian)\
**Post date:** [May 25, 2023, 3:29pm UTC](https://klipper.discourse.group/t/independent-dual-z-no-z-endstop-no-sync-belt-only-a-probe-how-to-do-homing/8602/4 "2023-05-25T15:29:41Z")

</div>

On my CoreXY I have two independent Z spindles/motors and only an inductive probe.  
First it homes Z, then performs Z-Tilt and then homes Z again.

Therefor you need to use [homing\_override]:

```auto
[homing_override]
axes: xyz
gcode:
  {% set home_all = 'X' not in params and 'Y' not in params and 'Z' not in params %}

  {% if home_all or 'X' in params %}
    _HOME_X
  {% endif %}
  
  {% if home_all or 'Y' in params %}
    _HOME_Y
  {% endif %}
  
  {% if home_all or 'Z' in params %}
    M117 Homing Z...
    G90
    G0 X121 Y132 F6000 #move print head to safe position in the center of the bed
    G28 Z
    G0 Z5 F600
    M117
  {% endif %}

```

And then in the PRINT\_START macro you call the following:

```auto
    M117 Homing... ; display message
    G28 Y0 X0 Z0

    M117 Adjusting Z-tilt...
    Z_TILT_ADJUST
    G28 Z0

```

Maybe there is a better way of doing this but it works for me.

---

<div class="post-metadata">

**Author:** ![EddyMI3D](https://yyz2.discourse-cdn.com/free1/user_avatar/klipper.discourse.group/eddymi3d/32/1981_2.png) [@EddyMI3D](https://klipper.discourse.group/u/EddyMI3D)\
**Post date:** [May 25, 2023, 4:10pm UTC](https://klipper.discourse.group/t/independent-dual-z-no-z-endstop-no-sync-belt-only-a-probe-how-to-do-homing/8602/5 "2023-05-25T16:10:37Z")

</div>

@LifeOfBrian  
I did that without `[homing_override]` but with `[save_z_homing]`

---

<div class="post-metadata">

**Author:** ![LifeOfBrian](https://yyz2.discourse-cdn.com/free1/user_avatar/klipper.discourse.group/lifeofbrian/32/2380_2.png) [@LifeOfBrian](https://klipper.discourse.group/u/LifeOfBrian)\
**Post date:** [May 25, 2023, 9:13pm UTC](https://klipper.discourse.group/t/independent-dual-z-no-z-endstop-no-sync-belt-only-a-probe-how-to-do-homing/8602/6 "2023-05-25T21:13:31Z")

</div>

@EddyMI3D thanks for the hint though it is called [safe\_z\_home].  
Since when is this available?

---

<div class="post-metadata">

**Author:** ![EddyMI3D](https://yyz2.discourse-cdn.com/free1/user_avatar/klipper.discourse.group/eddymi3d/32/1981_2.png) [@EddyMI3D](https://klipper.discourse.group/u/EddyMI3D)\
**Post date:** [May 26, 2023, 3:05am UTC](https://klipper.discourse.group/t/independent-dual-z-no-z-endstop-no-sync-belt-only-a-probe-how-to-do-homing/8602/7 "2023-05-26T03:05:01Z")

</div>

@LifeOfBrian  
I 'don’t know. Maybe since probes have been implemented… ?
