Z endstops

I had to build a new hot end tip last weekend and in the process it threw my z endstops out of alignment. I think that I spend more time calibrating the printer than making prints.

I added mechanical endstops to my printer early on. The X and Y endstops work as expected but the Z endstop is really inaccurate. Since the Z endstop is mounted to the carriage it really does not measure how far the hot end tip is from the print surface. It is an arbitrary end of travel that always needs calibration anytime the table, glass, heated bed or hotend changes in dimension. So it occurred to me that rather than using a piece of paper or my metal feeler gauges to try to calibrate the endstop, what would it take for the hotend tip to calibrate itself?
What I really wanted is to make the hotend tip the end switch when homing the Z axis. By doing this I can make the system self calibrating for every print. This will save countless hours of tweaking the system everytime a parameter changes.

I implemented a dual switch system one where the hot end is the primary switch and the mechanical switch is a backup to prevent the head from crashing into the glass. The two switches are in parallel so that the first contact wins.
I connected a wire to the hotend assembly to make one end of the switch. The other end I used metal tape mounted to my heated bed to make an electrical trace that is connected with wire an electrical crimp style ring connector.
I also used metal tape on the glass as the surface that the hotend will touch as the switch.

The tape is almost the thickness of a piece of paper and any other offset I can add to the Slic3r settings to get everything in tolerance.