Came across this brilliantly pragmatic solution to the homing problem.
This comes as a lesson to me in the value of just getting it done vs trying to engineer the “best” way forward. I’ve worried and sketched and wondered about the best way to do automatic homing/calibration for ages, since this project started in fact. Never got around to doing it though, and it’s something that would take half an hour to test.
This is the opposite problem that manifested at the beginning of the project, and that problem was that I rushed in and just got stuff working without much thought to maintainability. Which did the job, but left the code in a pretty desperate state, from which it is yet to fully recover.
There must be a middle ground.