The most complete axis-switch setup would include home and limit switches. The home switches are used to define a convenient machine origin. The limit switches are to prevent a collision with an end of travel. I only installed home switches and rely on LinuxCNC to implement soft limits. After homing, LinuxCNC knows the distance to the end of the travel of each axis, and while monitoring the position prevents collisions with end of travels.

LinuxCNC saves position, but the mill could move, e.g., the head could fall.

Need to now which direction to head towards home

If using more sophisticated motors with absolute encoders, which is an option for the DYN servos, one would no require home switches and with software support might be comfortable eliminating the limit switches.

I wanted home switches to create a consistent point from which a tool offset gauge could be positioned.

I was using marks with a paint pen to know where to move each axis to manually home.

I considered the positions so that chips are unlikely to trip the switch and that the switch could potentially be used as a limit switch with a target that's sufficiently away from the end of travel that the axis would have time to slow before a hard collision.

Had to move the x-axis home switch from first position to avoid being pinched.

For x-axis home switch, the target has screws in the sensed face, which is not ideal because the hole in the M5 screw is large enough in diameter and depth that the sensor can miss the target if the hole is positioned right above the sensor.

Safety

When a program is loaded, tests can be done to detect if the extents of the program are within the working envelope of the machine.

Efficiency

Press Home All and walk away, return with the origin in the center of the table travel with the head fully raised.

Can zip to the end of an axis and LinuxCNC will stop the motion as the end is approached and not collide into the edge.

Introduction

It's about time for real home switches. For years, I "homed" my LinuxCNC retrofitted mill by jogging each axis to penned reference lines. This didn't take much time, but real home switches provide a consistent machine origin between LinuxCNC invocations and helps provide the full range each each axis.