Assigning NEW Home Position?

Another naive question guys, I apologize.

How do I change my X-Carve/GBRL’s home position? Right now, when I send it home thru Easel (and hopefully this will apply to UGCS/GRBL), it doesn’t line up perfectly in the bottom left corner like I want it to, directly above the bottom left corner of my X-Carve waste board.

I’ve seen how I “think” it’s done, on UGSC website, but commands/changing GBRL setting, is still new to me. . .

I DO have the limit switches installed.

I’m sorry if this topic has been covered over and over again…

To get it to align properly, as Bob suggested, you need to physically change the location of the switch actuators. What I did was jogged the carriage where I wanted it and then carefully moved the tee nut and screw till the switch was fully depressed and then tightened the screw to lock the position.


Ok, thanks a lot guys for that!

Curious though, will this also change the home position in UGCS?

Yes, you are mechanically changing the “Machine Home” position of your machine.

When you first power up using GRBL whatever physical position your machine is at is the Machine Home 0,0,0
When you run the “Home” sequence GRBL resets the “Machine Home” to the position determined by using the homing switches.

1 Like

Ok, thank you!

Do I need to tell UGCS that I have Home/Limit switches? I thought I saw a command I had to send, to tell it I did.

This will explain all the settings in detail

It is assumed you have homing switches when you run a “$H” - Run homing cycle.

You need to tell GRBL if you are using limit switches as well
$21 - Hard limits, (true/false)

Homing switches are one side of each axis (there are additional setting to tell GRBL which side / and direction)
Limit Switches are on BOTH sides of each axis and can act both as a homing switch and a mechanical stop switch if the axis moves too far.
(Most people are not using limit switches because RF noise can trigger a false switch signal and cause your cut to randomly stop mid print. I had this problem myself. There are ways to prevent this using additional filter circuitry, but I haven’t bothered.)

FYI all of this stuff is in GRBL.
Which is the operating system / CNC language running in the controller which you set vial all the $ variables.

You don’t need $21. You need:

$22=0 (homing cycle, bool)

By setting that to ‘1’, GRBL will lock on boot until a homing cycle ($H) is run. Setting $21 does nothing concerning homing.