Shapeoko 3 XXL bad limit switch?

Hi everyone,

I am new to the comminuty and to CNC. I am getting started studying the guides and gathering information after a friend of mine purchased a brand new Shapeoko 3 xxl which I am currently hosting in my garage (with some rights to use it at nights).

I am reading a lot of tutorials and guides on the web but there is so much to learn so forgive my ignorance if my question is too simple for a new thread.

We have home switches and the homing cycle seems to work as exepected. however yesterday we were doing some testing simulating a simple rectangular contour cut but without the endmill installed.
After some testing with carbide create and the hello world program with the sharpie, since we have already good knowledge of Fusion 360, we gave it a go at creating gcode with it.

By mistake, we totally misplaced in x-y the zero in and our rectangular cut ended up being out of the work area of the machine. I expected to get some error while loading the gcode in motion or at least that the x axis limit switch prevented the carriage from trying to go beyond the limit spinning the motors and grinding the belt, but this is exactly what happened. Now, isn’t the purpose of the limit switch exactly to prevent this? is there something wrong in the initialization or the homing cycle? Or is it just a user mistake which we are not protected against?

Thank you very much, very excited to get into CNC


Hi Marco,

Welcome to the community and the wonderful world of CNC/Shapeoko !
The behavior you saw, though debatable, is the expected one:

  • switches are in fact only used for the homing (initialization) procedure, such that the machine starts from a known mechanical reference. Actually we should call them “homing switches” rather than “limit switches”.
  • it is possible to configure GRBL (the software running inside the Shapeoko controller) to react when “hard limits” (i.e. limit switches) are triggered, but there are a some disadvantages to doing that:
    • first, you only have switches at one end of each axis, so the other end is left unprotected anyway
    • but mainly, switches are electrical devices which have some level of noise in their signal, so one cannot guarantee 100% that they won’t ever trigger falsely during a cut, and people would be very unhappy if this occurred and ruined their 5 hour cut…
  • This is why by default on the Shapeoko, switches are not used to stop the machine during a cut if it exceeds the limits.
  • The recommended approach is to deal with work area compatibility at design time if possible, possibly double-check the generated G-code with a G-code viewer to make sure the toolpaths look as expected, and finally to check your zero carefully before running the file.
  • While crashing against a side of the machine is not a pleasant experience, it’s also not a big deal in 99% of the cases, which is a nice advantage of using belts (and a sturdy machine like the Shapeoko). The motors will stall/skip steps, but apart from that, there is usually no damage at all and one just needs to re-home.
  • There is an alternative if you still want to have automatic stop of your job beyond predefined limits: GRBL supports “soft limits” that you can configure and enable. When you do, GRBL will stop the job whenever the G-code commands tell it to move beyond one of the predefined (X, Y or Z) limit coordinates.
    • however, activating soft limits can be a bit confusing if you are using Carbide Motion, because CM has its own internal soft limits it enforces during jogging, and depending on what soft limit values you have in GRBL, it can end up being inconsistent and hard to understand what’s going on.



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