Feature Request: Multiple z endstops to auto calibrate probe <-> nozzle distance

Greetings,
I’d like to request and/or help implement a feature to auto detect the distance between the BLTouch/CRTouch sensor and the nozzle.

Concept:
Have a surface outside the scope of or at a corner of the print area. This would have a raised metal contact that may/may not be spring loaded. First the BLTouch/CRTouch would check the height of the contact. Next the nozzle would touch the contact. I’d like to have a wire electrically attached to the nozzle so that when it touches the metal contact, it completes a circuit and triggers a z-stop or similar. We can then directly calculate the step offset between the two trigger events.

This wouldn’t even have to be a constant feature of the printer, it could be something that is placed on the print bed after a nozzle change and then removed once calibrated. The piece I do not know how to implement, is the electrical circuit for the metal contact and nozzle in the second part of the validation.

I have an Ender3v2 with the 4.2.2 board which includes both a BLTouch/CRTouch connector and the z end stop connector. i was hoping to re-use the z end stop connector to do this. I’m completely new to Klipper and have some general python experience.

Thoughts, pointer to an api, etc. appreciated.

Thank you

2 Likes