Stupid homing switch question

I guess I’m not understanding the purpose of the homing switches. Hoping that the only stupid question is the unasked one! Are they supposed to be homed to X0 and Y0 on the work surface, or are they moved to XO and Y0 of the material you are carving in relation to where you place it on the work surface, so you’re actually homing to your material? I cannot get to Y0 on my work surface.

When you apply power to the Arduino and grbl starts running, grbl doesn’t have any idea of where your spindle is located in space. The homing sequence is used to establish the Machine Space 0,0,0 location of the spindle. When grbl sees trips on each of the three axes, then grbl establishes that location as Machine Space 0,0,0.

After you have placed your material in the machine then you have to tell grbl where the position of Work Space 0,0,0 is with respect to Machine Space 0,0,0.

Machine Space 0,0,0 and Work Space 0,0,0 can be the same location, but they are usually different.


They are for zeroing out on your work surface, which is located based on where you put the bolts that hit the homing switches. Ideally, you can make the work surface zero and the material zero the same, but the best way to ensure that is to put an X and Y “stop” on the workboard itself so you can be sure the material stops there.

you most likely wont be able to line up your XY 0 points with the X0 and Y0 on the waste board. you would have to mount your waste board differently to give enough room for the spindle to reach those points. as they now they are more for lining up work pieces than lining up your workspace

so just to make sure I’m understanding, the X, Y homing switches will move to where ever I place the material. Once I place material on the wasteboard, I move the spindle to the bottom left of the material, then move my X, Y bolts so they just engage the contact in the switch (when I hear the click). Basically now I’m telling the machine where X0, Y0 of my material is at and then the grbl takes it from there… Is this correct in my newbie language??? If I don’t use the homing switches I do the same procedure, less moving the bolts, correct? but I then have to do that everytime, even if I place the material at the same coordinates.

I guess where I got confused is my Y axis can never hit zero, I hit the end stop of the rail with the bit about 1.5 centimeters short. Is this just because of the diameter of my spindle? I have the 24vdc spindle, I’m assuming the larger diameter of the DeWalt or Bosch would get it closer, but I would think the system should be designed to hit that point with any spindle installed. Right now to calibrate during setup I set them at X2, Y2 on the wasteboard.

OK, understood now, methinks. But I still question the fact I can’t get all the way forward on the Y axis. Is that because of my spindle model and the small diameter of the spindle housing? I’m about a 2 centimeters short of hitting 0 right now, the closest I can get is about Y2. So I set 0/0 at X2/Y2 (in relation to the marking on the wasteboard).

Don’t be concerned about the silkscreen on the wasteboard. Use it as a guide.

What you want to do is set your hard stops for the homing switches at the location where your machine does not hit anything at that position. If you are looking at the front of your machine, then X would be as far to the left as it can go without causing a mechanical problem by touching any of the other components of the machine, likewise for Y to the front, and Z to the top. Once you have placed the mechanical stops for the switches then every time you home your machine it will go to that location.

This gives the maximum usable space on the lower end of you co-ordinate space that the machine uses.

Once you have that established you determine where in that usable space you want to place your work piece. Then, if you have told your design software to use the lower left corner of your work piece as Work Zero you jog your machine to the lower left corner of your work piece and set your Work Zero at that location. Usually you do this in something like UGS by pressing the Reset Zero button. Easel has a way to do it, but I don’t use Easel so I don’t know where it lets you set Work Zero.

At that point your machine knows where it is, and it knows where the work piece is and your design software set up the G code to start at your Work Zero. Then you can send your file to be carved.

Your Machine Zero usually never changes, it should always be at the Home position except for rare special cases which you would almost never need to do.

Your Work Zero changes with every job unless you have a method for placing the work piece at exactly the same location every time.

Hope this helps clear things up.

Totally ignore the markings on the waste board when you think about homing and work position. The home position will be exactly the same every time you home the machine, it will move until the homing switches are tripped and then backup a predetermined amount. The position of the work material is set before every cutting operation to let the machine know where the 0,0,0 work coordinates are. The waste board markings should be considered fancy graphics for the most part, at the best they can be used to roughly line up your work piece relative to your spindle travel.

I don’t think any of the X carve machines would allow you to get the tool bit directly over the Y0 X0 coordinate on the waste board and since that’s not something you would ever need to do it’s pretty much ignored.


One other thing to remember is when you put your material down and set the work zeros that your Gcode has to have the same corner of the material as 0,0,0
If you set work zero to the lower left but the Gcode has it at the lower right things will go bad real fast.


Actually, I have the X-carve 500mm and I do have the wasteboard silkscreen lined up with the spindle at Machine 0,0,0.

thanks for all your help, gentlemen… much appreciated!