Limit Switches

how is that? the x-carve is just the machine. still using grbl and universal g-code sender.

Im not really sure how it is either butI have mine wired up like the schematic that sketch has as well and my spindle control and limit switches work just fine!!! Thats weird, maybe at some point between SO2 and X CARVE the Arduino change ??lol. Also I had a question, I am tring to extend the length of my Limit switch wiring but no one local to me has 22/2 stranded insulated wire, but they do have 20/2 would this cause any problem if I were to use the larger wire?? If it would then does any one know a good place to get 22/2?

Yep the change is made in the GRBL version that X-Carve came with, which is version 9i. There is a specific hex for the X-Carve as well…

Found here:

I am guessing there is even a specific hex for the 1000mm and both options with Lead screws instead of ACME screws too.

I guess the point I was trying to make is that even though it is based on the Shapeoko 2 and is all the better for it, we can’t make assumptions based on that knowledge. The machine has changed, the firmware has changed, and the software has changed.

Here is a pic I just took of my pin locations for the PWM and Limit Switches and it works great.

Well that’s great to know. I’m glad I put pin connectors on mine so I can swap them out easily. Unfortunately I did not see your picture till just now. I didn’t think of bending the pins to the side for easier access. I’m not going to fuss with trying to resolder though, I’m lucky enough to get the pins in there with good solder at all.

I’m a SO2 up-grader, I have grbl 9.0 I believe. I am continually noticing that the information for the up-graders are completely lacking. From knowing exactly what your getting in the upgrade packages, to the dependencies like this with the software change. I didn’t know the PWM system didn’t come with the spindle upgrade, as there was no description of exactly what was in there at the time, not to mention there was no separate upgrade option in the pick your parts section. Now I have to order another 50 bucks or so for all that and have to wait for all that to actually start doing things :frowning: I feel like the newb I was when I just got the SO2 all over again.

Thanks for your clarity though and the link to the file. could I get a link to the directory for those files?

I’m not sure that there is a directory for those files just yet… someone like @TaitLeswing at inventible would need to chime in here with info.

I posted this over in another thread, but I thought it could be relevant here.


Very cool would love to buy this setup for my x-carve.

nice cable management. I have sugru in key spots on my machine as well.

That same fellow (Kevin Patterson) has a video on YouTube showing his Shapeoko playing Greensleeves. Makes me a little sad that while I struggle just to keep my machine working, he has time to learn how to make his play music (it is surprisingly good)


I’ve messed around with those Hall sensors before, had intended to use them on the DIY machine I never finished. There’s a great thread over at CNCzone with a lot of wiring, testing, mounting, and tuning information. If I can find my bag of sensors, I may revisit this, because I managed to smash my Z switch yesterday. :smiley:

1 Like

i killed my z switch today!

1 Like

Honestly I feel like the first one’s a right of passage. Maybe we should see about getting a forum profile badge for the people in the club…


So is the limit switch just not stopping the machine? I’m assuming this is happening on a rapid since that switch looks pretty destroyed.

Try this link. I found easy way to guard switch after kill two in same day.

Unless you have configured your machine so the switches you have installed are both homing switches and limit switches. The switch is ignored when you are moving an axis and hit the switch. The only time the software pays attention to the switches is when you start the machine and home the 3 axis. Then and only then the software knows where the carrage is located on the machine.
If you want true limit switches that stop movement when one is triggered and you want limit switches on both ends of X and Y You have to wire up 2 more switches and configure them in the software as limit switches.



@DavidSohlstrom is right… They are sold as limit switches and until you set them up as such, it is best to consider them homing sensors and nothing more.

Is there somewhere that shows how to set up for “limit” switches?? Arduino website maybe??

The Pins will be the same, you will just need to set it up in GRBL… and in order to really have limit switches on, you will need to add at least 2 more on the other ends of the X and Y like @DavidSohlstrom said.

Here is the link to the GRBL configuration page that should help in understanding how to configure the software side of it:

You’ll want to use something like Universal G-Code Sender to do this.

I say all of this with a bit of reservation… It is probably something I might look into doing in the future with hall effect sensors, but in the end I personally feel it is better to think through an operation before pressing buttons and so far it has helped me not need limit switches. This isn’t advice really, it is just an explanation as to why I haven’t really crashed mine yet and to help others understand that my words should be taken with a grain of salt seeing as I don’t have the wisdom that comes from experience yet. fingers crossed :slight_smile:

i replaced the switch i destroyed above with one i bought off amazon and now when i run a homing sequence the z axis goes up and clicks the switch, comes down about 1/8" then goes back up and clicks the switch again and comes down, then does thattwo more times and then goes back up one more time and finally moves on to the X and Y axis

any idea why it does that now?

Did you update your version of grbl? There’s a setting in the config.h that specifies how many times it engages and backs off from the homing switch.