@MaqAttaq said in Dual Z not homing on Duet3:

Solved:
I figured out what it was and it was very simple:
Basically, I didn't realize that for dual Y you can declare one end stop but for Z you have to declare both end stops

Here's what I had:

M574 X1 S1 P"io3.in" ; configure switch-type (e.g. microswitch) endstop for low end on X via pin io3.in M574 Y1 S1 P"io1.in" ; configure switch-type (e.g. microswitch) endstop for low end on Y via pin io1.in M574 Z1 S1 P"io2.in" ; configure switch-type (e.g. microswitch) endstop for low end on Z via pin io2.in

Here's what I should have had:

; Endstops M574 X1 S1 P"io3.in" ; configure switch-type (e.g. microswitch) endstop for low end on X via pin io3.in M574 Y1 S1 P"io1.in" ; configure switch-type (e.g. microswitch) endstop for low end on Y via pin io1.in M574 Z1 S1 P"io2.in+io5.in" ; Z axis with two motors, individual min endstops for low end, active high via pins io2.in and io5.in

Here's what I ended up with:

; Endstops M574 X1 S1 P"io3.in" ; configure switch-type (e.g. microswitch) endstop for low end on X via pin io3.in M574 Y1 S1 P"io1.in+io4.in" ; Y axis with two motors, individual min endstops for low end, active high via pins io1.in and io4.in M574 Z1 S1 P"io2.in+io5.in" ; Z axis with two motors, individual min endstops for low end, active high via pins io2.in and io5.in

All three setups are valid for X and Y. Only the last two are valid for X, Y, and Z

All three setups are valid for X, Y and Z too; but the endstop switches that were not mentioned in M574 will not be monitored.