What am I misunderstanding with end stops and "zero" position?

I am confused… I have my end stops working for the first time, and they “home” to the positive sides of X and Y, which from my arbitrary sitting position, is away and to the right of me, but then that is my “zero” and as soon as it tries to move to start carving in the “positive” direction, it goes straight into the end stop… I’d switch the homing direction, but then it drives the Z axis straight into the board… What am I misunderstanding? Shouldn’t “zero” be toward the lower left if I’m going to be milling in positive X/Y numbers (quadrant “1”)? Is there a way to tell Easel to basically mill everything 180 degrees out of phase so it can start in that corner and basically look “upside down” to me?

I KNOW I must be having a basic misunderstanding of this…


On my unit I have the homing switches on the left end of the x axis when standing in front of the machine with the drag chain on the left side and the y axis switch is also on the left and all the way forward (closest to you)

Thanks for the reply… Let me clarify my problem though - I don’t think it’s placement of the switches per-se…

For example, I have switches on both sides of my X and Y, so I’ll trigger hard lockout if I hit any of the 4 edges of my X/Y grid. I only have a switch at the top of my Z, because I don’t know in advance, how long any particular bit will be, so a low limit doesn’t make sense… For this conversation, I’m just talking X and Y…

SO… When I Do a $H home, the GRBL moves X and Y to the POSITIVE direction as I understand it, and it successfully identifies the corner of my work surface in the positive direction, and then decides that spot is X0 Y0…

The problem comes in when I then try to print. Specifically, in Easel, which directly uses the $H homing, so I know it theoretically is supposed to work, after the homing is done, and X0 Y0 is identified, Easel designs everything in the “positive” X/Y coordinate quadrant… In otherwords, when designing something in Easel, the bottom left corner of the work area is 0/0, and anything to the right or above is positive in either the X or Y axis, accordingly. As soon as I try to carve, as soon as Easel tries to move at all, it is by definition in the positive direction, and it immediately locks out because it hits a switch.

If “positive” was in the opposite direction, it might “home” to a different corner, but the fact that X0 Y0 has just become the most “positive” location in both axis directions means that unless Easel prints in the negative quadrant, it is immediately going to hit a stop, and abort.

It would make sense to me if the homing would find the most NEGATIVE X and Y locations, and that would become the X0 Y0, and then (for example) if I tried to move to the X 1cm Y 1cm location, it would be AWAY from the end stops, but I don’t see any way to do this, as long as the $H is set to go in the positive direction, which is what I read in all the docs I’ve seen.

I KNOW I must be misunderstanding, or misconfiguring SOMETHING, or else it wouldn’t be working for anyone, but I can’t see what it is…

Does this make sense?


Ok, the picture is a bit brighter,now it has me scratching my head…

Steve, can you post your Grbl settings (output from sending $$ to the Arduino)?

It would help to see what your machine settings are.

OK… I’ll post my settings below, but I MIGHT have found an answer… I had previously seen the setting “$5=0 limit pins invert”, and thought maybe that would help, but it didn’t, because in hindsight, that might be just to use normally CLOSED end stops… I just saw “$23=6 (homing dir invert mask:00000110)” and turned this on to invert the homing direction for X and Y (it was set to 0)… I am accessing my computer remotely from work, and as such, I can’t actually DO anything to test it, but I’m hoping perhaps this will be the magic… If it is, then I’m still really surprised I haven’t read anything about it, but I’d be happy to have a solution!

Here’s my settings… the $23, and turning off $21 to run some manual cuts are the only changes I’ve made since my (failed) testing last night, and I’ll update tonight after I get a chance to test again with the new setting:

$0=30 (step pulse, usec)
$1=25 (step idle delay, msec)
$2=0 (step port invert mask:00000000)
$3=0 (dir port invert mask:00000000)
$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.010 (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=6 (homing dir invert mask:00000110)
$24=25.000 (homing feed, mm/min)
$25=50.000 (homing seek, mm/min)
$26=232 (homing debounce, msec)
$27=2.000 (homing pull-off, mm)
$100=40.200 (x, step/mm)
$101=40.200 (y, step/mm)
$102=320.000 (z, step/mm)
$110=500.000 (x max rate, mm/min)
$111=500.000 (y max rate, mm/min)
$112=500.000 (z max rate, mm/min)
$120=10.000 (x accel, mm/sec^2)
$121=10.000 (y accel, mm/sec^2)
$122=10.000 (z accel, mm/sec^2)
$130=290.000 (x max travel, mm)
$131=290.000 (y max travel, mm)
$132=200.000 (z max travel, mm)

Hi @SteveJones,

Did you go through http://easel.inventables.com/setup and make sure that the machine jogs in the correct direction on all three axes? If it doesn’t (which could happen if two wires got crossed during assembly), Easel can update $3 to correct this. I think the homing cycle normally goes to the top, left, and front of the machine.

These settings have me scratching my head. Did you use the machine setup procedure in Easel to initially set up the Grbl parameters?

Typical assembly has the X-carve label on the gantry, the Inventables label on spindle mount, and the Inventables label on the waste board all in the same orientation and if reading them nothing is upside down then I’m going to call that the “front” of the machine. The Homing switches from Inventables are installed on the “left” side for the X axis, the “front” of the Y axis and the “top” of the Z axis.

In Grbl the default Homing operation is defined as moving each axis in the positive direction until the Homing switches are tripped, starting with the Z axis alone and then followed by the X and Y axis simultaneously.

So, for the default setup, Homing involves the Z axis moving to the top, the X axis moving left, and the Y axis moving to the front.

This defines the Machine 0,0,0 position which places the entire waste board in negative Machine space. This is a requirement for some of the functionality of Grbl (namely soft limits – may be others).

Depending on the way you wired your machine, the values for the Grbl parameters vary and should be setup properly by going through the machine setup process in Easel and then projects that you design and carve from Easel should work.

Based on the parameter set you posted above, if you used the Easel setup - something didn’t work right.

On another point the Z carriage can be sent off the end of the Makerslide. A limit switch on the bottom could prevent your spindle from coming off.