Precision Limit Switch Accuracy Experiment

So it seems that the stock switches are within 10 microns of the proximity switches?

The stock switches on my fairly well used Nomad pro repeat +/- one step. Really can’t do much better than that with steppers open loop. Proximity type can be and will be no better. The mechanical resolution of the machine is the issue at this point.

If the mechanical resolution was, say 0.5 micron rather than 5 micron (2000 steps/mm rather than 200), there might be a detectable difference. If I recall correctly, on the Shapeoko, the best you can do is 25 microns, as this is the mechanical resolution— one step leads to a motion of 0.025mm (40 steps/mm)-- so a 0.01mm indicator, even a HF one, is sufficient. Getting zero every time indicates that the machine is rigid, the belts are properly tensioned, that the sensor trip point is not positioned right at the position of a step, and that the sensor is repeatable to significantly better than 25 microns, which I would expect. The lower mechanical resolution of the Shapeoko actually makes it EASIER to get the perfect repeatability than with the Nomad, as it is much more likely that the trip point of the sensor is not really close to a machine position, but is between two positions…

There are advantages to the prox type, but, at 25 micron, or 5 micron, accuracy of trip point isn’t really one. The primary advantages are, in my opinion, reduction of moving part count and resistance to the environment. Mechanical switches get dirty and may have issues like sticking. Wear isn’t a big deal in this application. If the switches are rated at 100K cycles (very conservative- 1 to 10M cycles is a common rating), and if the machine times 50 times/day, every day (which is a lot), five years would be expected life, IF they are maintained with the rest of the machine. Periodic cleaning is the primary thing so they don’t get gummed up. I am in no rush to swap my switches out, but, should one fail, it may be replaced with a non-contact option. Or may not. I’ll cross that bridge if I get to it.


was referring to the OP with prox switch - i saw @enl_public mention. wanted to ensure the idea wasn’t going over others heads the need to list

1 Like

Thank you for explaining this, had no concept of the actual limitations.

Attached is a sketch for those that want a little more detail.

Positions that each machine can achieve are marked, as well as a sample zero-switch that is less precise than the one on my Nomad to show WHY Shapeoko can be more repeatable in zeroing, though less precise than, the Nomad.

Yes, I know my lettering is terrible.


So if you stop an operation, and it automatically re homes, if it is off it will be likely one minimum step off which is 25 nm? This would most likely not be due to stepper motor or switch but belt stretch or frame rigidity variations? I imagine this would be more prevalent in a XXL then a Standard S3.
Is there no way to prevent a re home after stopping an operation? I have literally taken out my tool and let the machine finish an operation instead of throwing off my homing location when I clicked on the wrong file or had a problem that needed correction.

With atomic steppers maybe :slight_smile:

Using an alternate G-code sender…


It should be no more than one step, presuming the zero position sensor has lower variation in trip point than the step size. How LIKELY it is to be off depends on how low the variation is, which is a function of a lot of things, the most obvious being the sensor, but also the control loop, mechanical properties (rigidity, vibration, inertia of the moving parts, etc), and possibly other things. And, most of all, whether the sensor trip point is between step locations or at a step location.

(25 micrometers, as @Julien said… 0.025mm)


One thing which I’ve found which helps with repeatability is starting up the machine with the gantry and carriage in a consistent position — @edwardrford used to call it “poor man’s homing” — you pull the gantry and carriage tight against the opposing corner, then power up the machine —always being in that same spot usually results in the belts and step positions lining up more consistently.


I do that. I push it all the way to the back before powering up. I guarantees the X extrusion will be square since my machine is square.

1 Like

With this shelter in place situation I’m sitting here with three screens in front of me; on the other two I’m working in nm so at first this went right past me; however, I think you meant um.

It could be nm but with a lot of 0’s behind it

1mm = 1,000,000nm :rofl:

Sorry, getting silly form the quarantine

1 Like

Thank you for this tip Will!

It inspired me to start thinking about setting up an interferometer on my Nomad to get a better handle on repeatability.

Crazy? maybe. Do I have the materials on hand? yup. Do I have a stable enough platform and foundation? we’ll see, if I try this.

Hmm. Maybe contest 7? Interferometric techniques?

I have at least a few more weeks of lockdown, and likely 8 to 12 weeks of work-from-home (though we are only firm until 20apr right now) and the nature of work is that I have one to two hour cycles over a 12 to 14 hour day (online teaching for job one, but no real-time permitted so no Zoom, Skype, etc etc)

1 Like

The big win here with the proximity switches is that they don’t have the mechanical failures modes that the mechanical switches do. As many people have seen, they’re a bit delicate. That whole issue goes away. If that was the only reason to do so, it’s a good enough reason.

You should also keep in mind that the precision and accuracy here will be impacted by the approach speed to the sensor - I’ve found that by keeping that approach slow things are much more repeatable than with a high approach speed (ie. seek at high speed, then “locate” at high speed isn’t as good as “locate” at low speed). I think this is due to interrupt latency on the controller. I’ve seen the same behavior with tool probing.

I do have one of luke’s pre-carbide switches that stopped working at 5v - it was fine when I got it, but after about 5 months it stopped working, it required a little under 6v and has been fine on 12v. In my mind, that’s not that big a deal. They support a pretty wide input range, but I would suggest not messing around and just connect them higher than 5v (12v would be fine). Finding the cheap proximity switches that are “rated” for 5v seems to be more of an exercise in rating manipulation :slight_smile:


this is a very good mention to take note of as well.
its good practice that can apply alternatively down the line.

some of the big cncs have what is known as cold start or home positions for the encoder.
you would jog the machine to these visibly marked positions before you shutdown.
failure to do so will prevent the machine from starting up normal.


Assuming that you’re talking about proximity sensors rather than limit switches, do they have open collector/drain outputs or are the associated electronics rated for 12V input levels?

Seems to depend a little on the exact proximity switch you choose as to their output configuration. I built a zener diode (5v) clamp and used that to process the output of the switch. See " Zener Diode Clipping" here: . This lets you use the 3 wire type that have a common Vin with the Vout of your choosing.

1 Like

Daniel at Pwncnc is working on them and I just got a set running on my Shapeoko 3, working on my set for the xxl at the moment.

1 Like

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.