Limit switches or not?

This is about the best story I’ve heard recently that illustrates the point that you should never leave your machine when it’s running.

More to the point, this is an extreme case and you are correct in that soft limits would not help you when you are losing steps. Keep in mind that both soft and hard limits are meant to be a last ditch effort to save your machine - not the work piece. They do help with saving the work piece also, but that’s not the goal.

In your case hard limits would help, but you have already ruined the work piece and the type of hard limits that would help in this situation are the ones that kill power to the machine rather than signaling grbl to stop.

@PhilJohnson has covered the restart.


Be careful with this. Different versions of UGCS do different things with the “Return to Zero” button.

This may be the biggest point I was missing. Let me make sure I understand. Even in scenario 1… something BAD happens and the machine loses position. The machine may bang into the ends of travel, but if I hit cancel or abort, even kill the power, as long as the arduino stays powered up, I could re-home the machine using the switches, return to zero (which recovers the work position), and resend the gcode file (obviously carving in air until it catches up). How would this work in a power failure situation, or would I just be out of luck then?

One further question… Are soft limits and hard limits exclusionary? i.e. can you use both at the same time? Soft limits would prevent user error from trying to send the machine up 5mm when in inch mode and crashing the top switch, but hard limits on both ends of travel would effectively shut down the machine on a physical error where the machine gets forced out of position.


They would probably work together, but it would be redundant. As for remembering it’s start position, I would suggest searching the forum for a topic that explained g28. It will have all your answers explained greatly, don’t remember the author put give it a search

You can use both at the same time. (Actually all three functions, homing, soft limits, hard limits). You would have to make sure to take appropriate measures to avoid false triggers (electrical noise).

Note the comment that “Return to Zero” does not function the same in all versions of UGCS.

If you use @PhilJohnson 's G28 method the G28 position is remembered even with a power failure.

In his situation the hard limits would provide a bit of added functionality assuming that the runaway condition doesn’t destroy the switches. If you lose steps soft limits can fail, but hard limits would still stop the runaway, assuming that grbl is still running ok.

True. I was thinking of the nightly build I use. Even then I have a macro that just goes to XY. You really don’t have to send it to XYZ, you can just restart the carve and it will use the previously set position,

You shall find people all over the place on the idea - I personally have broken switches and replaced switches. I ran the homing and it just kinda twitched so - I replaced the wiring with shielded and decided it was too much headache so I do not use em… I have found that using the Datum off the center point is the safest so far, the corner can be debatable in some instances but dead center provided it is not missing is a good start point.

1 Like

Yeah, agreed, and this topic can become contentious too. Best thing to do is to install them (limit switches) and read from the forum how to use them. The machine instructions will be practically useless on this topic, so find some threads from the more vocal proponents here who use them and try them out in the way they recommend. If you like them - great.

The switches are cheap and easy to install when you first assemble the machine, so no good reason not to try them out.

Yes it is already contentious discussion. And not very necessary.
Only takes to be more careful, think three times before do anything. Human errors can cause lot more than one simple switch, even your fingers. I broke one switch at the beginning, that’s all. Set your work zero, take your Z zero somewhere away from XY zero, check your job one more time make sure datum position, steps, feed rate one more time then when you start it. If spinner goes back to XY zero point to start, you’re good to go. If not, hit the emergency push button or power button start over and look for problems. I do this long enough with no problems at all.
I do not understand soft limits, hard limits and I don’t want to know. Once every week or two, I remember to run Homing and do it. Other than that, I always start with reset zero then work zero.That means my Home switches are retired already, I don’t need them. I’m way too lazy to do unnecessary procedures, very careful for safety matters. My 2c.

1 Like

Based on what I have read in several posts, I had put connecting the switches on hold until I was able to get an X-Controller.

It was my understanding that noise made them unusable as they are sold. I would be happy to switch to a normally closed situation as the explanations in this thread seem logical. But apparently that will only reduce false triggers.

So if I plan on upgrading to an X-Controller or similar fairly soon, would it be better to wait?

I wired them using the wires in the switch kit. Those are not shielded, correct?

I didn’t use the wire that came with the XC but rather some extra speaker wire I had, unshielded and untwisted. Never had a noise issue. However I don’t have my Arduino/Gshield sitting on top of the PS. I wonder if that has something to do with the noise issues.

1 Like

I am definitely sold on using them. I’m new to machining of any kind, so I’m making every effort not to develop any bad habits.

So the shielded wiring sounds like a good idea even if I’m upgrading my controller. But I’m really not looking forward to having to thread everything through the drag chains again. Is there some trick that might make that easier?


It IS worth your time to wire the switches and learn how to use them, it will have a dramatic impact on your carving experience.

I bought my switches with the machine but didn’t install for the first 2 months, and I did all of the positioning \ zeroing by eye and was constantly terrified that the power would go out, or I’d lose steps or have to hit the E-Stop because I did something stupid and ruin my cut.

Once I added a bump stop, and the limit switches, I’m no longer concerned about stopping the cuts mid-carve, because I know I can issue $H and G28 and pick right back up where I left off. It really IS that simple… a few dollars in switches and a few dollars in shielded cable really makes this a no-brainer, and considering that you’ve already demonstrated you’re capable of building the machine from parts, and you’ve gotten this far, it would really be a pity if you didn’t finish the machine properly.

Make sure to watch @PhilJohnson’s youtube video above as many times as it takes to answer all your questions about the necessity of limit switches, and make sure to ASK if anything is unclear. IMHO the switches change the machine from a CNC to an Ultra-Precise CNC…

1 Like

Running an extra wire, or a piece of string, when you first install cables in the cable chain is handy. This can be used to pull any extra wires you want to add later. Sorry, not that helpful if you’ve already run your wires.

1 Like

You can also use one of the wires that is currently in the drag chain as a pull wire. Just hook two (or more) together and pull one of the existing wires out with the new wires attached.

That’s a great point. I’ve already got the unshielded limit switch wires in the drag chain. I’ll use them to pull the replacements in.


Just to add a little more to this thread…I switched out my mechanical switches for magnetic hall effect sensors. 2 on the X and Y axis and 1 at the top of the Z-Axis. I am NOT using shielded wire, I simply twisted three wires together and ran them from the sensor to the controller…no false triggers yet. Homing and limit switches are turned on in GRBL. The switches will stop the gantry moving 200 inches per minute without a collision (I tried this a few times…on purpose :slight_smile: ).

I bought my sensors here:


This is the setup I’d be willing to try sometime in the future (and what I wish the machine had come with).