That sounds like just what's needed - thanks very much for the pointer. I read manuals carefully when setting up something like this but if you don't know that a feature is present, it's easy to miss while you are looking for something else. Like the M31 macro (or at least the code inside it), it's a CSLabs extension that doesn't exist in vanilla Mach3 and they're not easy to spot.

Might go out to the garage shortly and give that a try. I did some quick tests last night looking at Z axis homing repeatability with my inductive prox switches. Doing a "Ref Z" followed by an auto tool height zero on a touchplate, I was seeing around 10micron variation. However, I had not clamped the block down (it was sitting on the wood blank I was about to machine and I know that there's a tiny amount of give there) and I have found that using a tool like that does leave a microscopic dent in the touchplate surface so that the zero point gradually sinks. We are talking microsteps here, though - it's really not significant. I'll try with a clamped-in-place dial gauge and see what I get. And in this context, 10micron ain't worth worrying about anyway. But in the interests of science (and as long as it doesn't get in the way of doing the job)...