How can I permanently activate my home switches in Carbide Motion?

Hi, I installed the home switch kit on my SO3. All works fine.

However, some basic things I cannot wrap my head around:

– How can I make Carbide Motion “remember” that I have home switches, and that I’d like them to be used?

– While running a program, is there some setting I can permanently turn on, such that “If machine hits any Home switch, the whole program should STOP?”

Perfect world would be to have Carbide Motion remember these settings. Also, if it needs to re-home every time the app starts up, shouldn’t there at least be a button for that basic function?

Just trying to get clarity while I learn this stuff, thanks everyone!

Once you turn on the homing switch support in Grbl, it should home as soon as it’s turned on:

Nothing on this at: ?

Hi Peter,
After enabling homing in GRBL by following the Homing instructions linked to by @WillAdams ie;($22=1)
To enable the Homing cycle before jogging in Carbide Motion you go to settings window and click TRUE on the line that says: SHAPEOKO HAS HOMING

FYI if you have an XL the table dimensions should be set to 850 X and 430 Y

For the XXL the settings would be 850 X and 850 Y and look like this:

1 Like

OK thanks @ApolloCrowe I’ll give this a shot later tonight. I had indeed already done all the steps @WillAdams outlined, so sounds like I just need to set the flag on the “has homing” parameter.

To clarify, with that set, are the following two statements true:

  1. SO3 will perform a homing cycle before jogging, every time I boot up the machine, without further prompting.
  2. Even mid-job, the SO3 will stop an in-progress cut if any one of the three switches is triggered

If so, awesome, thanks again! Does the table size also act as a limiter? That is, if I go off-table in the non-home-switch direction, will the job automatically stop?

1- Yes, you will be prompted to Home before jogging.

2- During a JOB the switches are not “LIVE” - if they were you could bump them and kill the job by accident.
The switches are only live during the homing cycle.
Its good practice to make sure your job will fit in the work area, and plan the zero position accordingly.

Oh - unexpected on #2. If they don’t serve as a “panic switch” of sorts… what is the actual purpose of the home switches at all? Like, what function do they serve in the process of making something?

Homing switches let you set machine zero, so you can then set your work coordinates for the job. That way if you lose power or some other issue arises you can always get back to your work position. You can work without homing, but homing makes it easier to change bits and maintain your X and Y coordinates. Once I started using homing I would never consider going back.

See this link for how to make your homing switches work as limit switches also. I learned this from Tim just a few minutes ago. Just remember if this works it is only on three points. You need an additional switch for the other X and Y direction and maybe Z depending on your confidence in not running the Z off the lower end of your machine.

1 Like

Sounds reasonable, thanks @dtilton71 - I’m still new to this, learning a lot as I go.

Can you clarify how homing helps bit changes? For example, it took me a while to figure out that bit changes require separate files in Carbide Motion. Once I got that down, I currently finish a rough pass, swap bits, then use the original Z-axis reference to zero ONLY the z-axis with the new smaller bit.

How does Homing help with that?

And thanks @Bonch, I’ll check that out. I’m reasonably sure I won’t be running off the edge of the machine anytime soon, but I’d certainly prefer to know that the SO3 will know what to do in the worst-case!

Yes I beat the hell out of my machine on the end. I finally installed an emergency cutoff switch. Now that I have learned how things work it is much better. I am now in the process of installing hall effect switches on all 3 axis both high and low to make sure I avoid doing any damage should I not be watching and something go wrong.

With homing on you will retain your position even if you have to power down. Not usually necessary, but say you have an e-stop wired and engage it for whatever reason, the power to the router and the controller will be shut off. Without homing you would lose your work position. With homing, you can turn the machine back on, re-home to set the machine position, and your work position will be retained and you can go back to running your job.

Homing is essential when you have a tool measure probe mounted at a know location ala the 883.

Useful to hear, thanks again everyone.

I got a Triquerta (sp?) probe, which I haven’t used yet, so I’m hoping that’s a nice way to do the tool setup, alongside the homing benefits you all have helped me understand here.

You can set “hard limits” to use the homing switches as limit switches, and then “soft limits” to prevent travel past your programmed max X,Y, and Z. My XXL will alarm and stop if it exceeds limits in any of the six directions (-X,+X,-Y,+Y,-Z,+Z). Three of those limits are “hard” (the homing switches) and three are “soft” (max allowed travel away from homing switches, as set in GRBL parameters).

Not at the machine at the moment so I can’t give more specific details. But homing, hard limits, and soft limits all seem to work on my XXL.

awesome @mpfreivald – the link @Bonch posted included the code line: $21=1 (hard limits, bool)

Did you use that, or some other setup format? Would love to hear, whenever you get back to the machine, thanks!

Still not at the machine, but @WillAdams posted a link upthread that has what you need:

Specifically, $21 turns on hard limits, $20 turns on soft limits, and $130 through $132 set the max travel used by the soft limits – again as best as I recall.

You can use the MDI interface on whatever control software you are using to query and set the GRBL parameters and generally “talk to” GRBL. I’ve done this on both my Nomad Pro and my XXL using Carbide Motion, Universal Gcode Sender, and GRBLweb – all of which have their pluses and minuses. Carbide Motion for example requires you to set some things like the table X and Y in the software GUI itself, not just in GRBL (GRBL is the software that runs on the Arduino based microcontroller on the hardware board that directly controls your machine).

1 Like

So I followed @ApolloCrowe directions and enabled the setting for homing on my XXL and set the table X and Y to 850 each. I go to the jog function and click to home. and get the following:

Here are my settings:

So, how do I get my machine to home? Any help is appreciated…thx!


Heres the link to the process for activating Homing in GRBL:
At the bottom of the article you will see how to enter $22=1 on the MDI line.

That did the trick! I tried doing my first homing operation and got an error right away “Limit Switch Hit”. Found out my Z homing switch was bad. Fortunately I had an extra and replaced it. Homes like a champ now.

Now that question is…How the heck do I use them now? I’ve read on the wiki about it, but it’s kind of confusing about how to actually implement it. It seems to me that it would be awesome to use to set a precise zero every time for a jig to hold plaques that I need to machine the same operation over and ovedr again.

Thx again! :grin:

Actually I spoke too soon… when opening the jog menu CM says to home the machine. I click the button, it starts to go, them when it’s almost all the way to the switches limit, it stops and hangs.

If I turn off everything and restart CM (with the cutting head still near the home limits), go to jog, tell it to home, then it works right.

It’s almost it doesn’t like how big my table is and wont home when it’s furthest away from the limit switches.

Any thoughts?