Manual homing and soft limits

I manually home (literally move the gantry and carriage by hand) to the lower-left corner of the table every time before I power it up. I would like to know if I can set soft limits in GRBL, even though I’m not using homing switches? i.e, if I set the “$130, $131, $132 – [X,Y,Z] Max travel, mm” values in Grbl, will the machine respect those dimensions from my manual start point?

Every time?

Ok, makes sense. Wonder if there is a CLI command that says essentially “home”. I’ll have to look.


Yeah, will give it a shot when I get home tonight. Am scrambling to get a bug fixed and then get the heck out of Dodge.

1 Like

If you move to Zero corner manually, (Editing after Brian’s reminder comment) connect UGS, go to Machine control
Click on $X than move your gantry with the jog keys, not by hand;
Click Reset Zero. That’s your manual homing for machine.
After clamp your job you can jog it with the keys to job corner and
Click Reset X Axis - Reset Y Axis. Jog it to some flat surface on your work piece and set your Z zero and
Click Reset Z Axis. You’re good to go. Don’t confuse yourself with Soft/Hard limits.

1 Like

Just a FYI, not a great idea to manually move your gantrys even with the power off, because the motors still generate power when off and moved. Always use the jogging buttons.

1 Like

By the way, this is only gives you easy start.
If you want to do this by the book, You better contact Profile - BrianSaban - Inventables Community Forum, ask his advice and his products for Home/Limit Switch option.

I’m not sure what you are trying to accomplish with this step. Can you clarify?

If he has homing enabled ($22=1) then when he starts his machine, grbl will be locked and he would have to use the $X to unlock his machine. If homing is not enabled ($22=0), then he doesn’t need the $X. $X (or a “Soft Reset”) does not change either Machine Zero or Work Zero.

Then the “Reset Zero” would set the Work Zero position as the current position of the spindle. (Does not change Machine Zero).

Then later you have him move the machine to the job corner and then set Work Zero for X and Y to that location, move the spindle to a flat spot and set Work Zero for Z to that location.

None of these operations change Machine Zero, which is what homing does.

1 Like

I didn’t say it changes Machine Zero. It puts machine to Work Zero.
Also when you connect UGS, you have red alarm to release by clicking $X at the beginning.
If you read his post at the beginning, he is moving his gantry by hand to machine zero. Not running Machine Homing sequence. I suggest him to hit the reset zero button when you think spindle at the home location. This time GRBL assumes that is XY Zero. Than I suggest him to do Work Zero by jogging to clamped work piece’s lower left corner.
Zero Z Axis on any flat surface of the work piece.
Here is my GRBL configuration I never change, never fail without soft limit since beginning.
“None of these operations change Machine Zero, which is what homing does.”
It does change. If you jog it anywhere and hit the reset Zero, machine zero changes to that spot. Is that makes any difference, answer is NO, if you run work zero and hitting Reset X Axis and Reset Y Axis.

$0=10 (step pulse, usec)
$1=255 (step idle delay, msec)
$2=0 (step port invert mask:00000000)
$3=3 (dir port invert mask:00000011)
$4=0 (step enable invert, bool)
$5=0 (limit pins invert, bool)
$6=0 (probe pin invert, bool)
$10=3 (status report mask:00000011)
$11=0.050 (junction deviation, mm)
$12=0.002 (arc tolerance, mm)
$13=0 (report inches, bool)
$20=0 (soft limits, bool)
$21=0 (hard limits, bool)
$22=1 (homing cycle, bool)
$23=3 (homing dir invert mask:00000011)
$24=25.000 (homing feed, mm/min)
$25=750.000 (homing seek, mm/min)
$26=250 (homing debounce, msec)
$27=1.000 (homing pull-off, mm)
$100=40.080 (x, step/mm)
$101=40.000 (y, step/mm)
$102=188.976 (z, step/mm)
$110=8000.000 (x max rate, mm/min)
$111=8000.000 (y max rate, mm/min)
$112=500.000 (z max rate, mm/min)
$120=500.000 (x accel, mm/sec^2)
$121=500.000 (y accel, mm/sec^2)
$122=50.000 (z accel, mm/sec^2)
$130=790.000 (x max travel, mm)
$131=790.000 (y max travel, mm)
$132=100.000 (z max travel, mm)

This is not true.

“Reset Zero” changes Work Zero to the location where the spindle is when you press it.

It’s really easy to test, All you have to do is look at the position information displayed by UGCS in the “active status” display area.

Jog your machine to a location in the middle of your X/Y space and press “Reset Zero” you will see the Work Position change to 0 for all axes, however, the Machine Position does not change.

Therefore, “Reset Zero” does not change Machine Zero.

It might not make any difference to you, but it is an important concept, especially if you use multiple co-ordinate systems in one job (and soft limits which is the title to this thread).

This is with UGCS version 1.0.9, I have found other things changed radically from version to version, so maybe your version is different in its behavior.


All the homing and limit switch talk still seems like voodoo to me… I need to figure this stuff out I guess.

You are correct Larry as always.I try again, Machine position is not changing.
Never pay attention, because I don’t run Home. I always hit Reset zero and set XY manually jogging to work piece.
Sorry for the confusion,

Since you are not homing anyway, you can change $22=0 and grbl will not come up locked. You wouldn’t need to do the $X to unlock it.

1 Like

Here is a very compact summary of the homing/limit switch function.

1 Like

Thanks, but my questions is simpler than that (and it probably going to sound really stupid): I don’t really understand the point.

Is the point just to reliably and repeatably find 0,0? That’s always been something I can do well eye-balling it. My larger issue is finding Z=0 (material surface) in a repeatable manner (for multi-bit cuts). Homing doesn’t help with Z=0 (material surface), correct?

That is correct.

There are functions within grbl that depend on homing to work correctly, consistently.

One is soft limits.

Another function which can be used without homing, but requires the user to know exactly what they are doing (without homing), is the G28/G30 functionality. G28/G30 are much easier to use when you home the machine.

If you don’t use any of the functions that operate based on Machine co-ordinates then homing becomes less of an issue.