Resting x,y zero point

I’m extremely new to cnc. I had this issue twice now. When changing to smaller bit for the detail pass I moved the router when trying to loosen the collet. The first time I just went ahead and told the machine to use last x,y zero and it was way off. This time, remember how bad that was i manually reset the x,y zero and it’s still off by about 1/4 inch, which is probably about how much the router carriage jumped when i loosened the collet. The obvious question is what in the world do i do when this happens? I’ve been just leaving the bit a little looser so I didnt have to crank as hard to loosen it but for some reason this time it was tight again. Fortunately, the first time it happened I was able to just plane down the workpiece and start over. Unfortunately that’s not a possibility on this one so I’ll either have to scrap it and start over or maybe save it with some chisel or dremel work. Someone please help. If this topic has already been discussed I’ll gladly take a link to the discussion but I couldn’t find anything. Maybe wording the search wrong.

Do you have homing switches installed and enabled? If yes, did you do a homing cycle prior to setting your work zero and start carving?

If no, you dont have a known reference point.

Work zero is stored as an offset from machine zero, which is wherever the machine is powered on - until you do a homing cycle ($H). Only then will the design coordinates be in sync with the machine coordinates.

As work zero is stored as an offset, you could re-home (re-establish machine/design sync) and proceed within the precision of the homing switches.

Also - to prevent you from unintentionally shift position during tool change do the following:

  • Set $1=255 (Step idle delay, 255=never)
  • Inside the Xcontroller box, red dip switch boxes, set switch#4 = OFF (When ON idle current is reduced to 30%)

I recently went through the process of changing the 4th dip switches to lock the motors for a tool change. You can do it easily. Here is the link. XController disassembly. With the nema 23 motors I got from inventables, the z axis stays put during a bit change.

Another thing I do is to make my home position( home with the switches…$H) the x0,y0 point on my drawings. That way if anything moves or go wrong, I can re home the machine to the original spot I started out at.

@MartinW.Mcclary Your work zero will stay the same regardless of where it is. You can set zero anywhere. As long as you home, that zero will persist (until you change it).

I’ve found that GRBL, UGS , and my laptop have their quirks and can’t be trusted 100%. Setting my drawing xoyo, and home at the same place guarantees that I can start over in the same place between programs, assuming that the x carve homes properly. An emergency stop situation is just one example where things go wrong, at least with my machine. I haven’t reflashed my Grbl, so home resets to the opposite corner. I home and then close GRBL and re-open it without rehoming again to get around that.

I have experienced that several with Easel, after an abort it will lower z and traverse back to an imagined wr\ork zero screwing up the work piece. Never had that happen with UGS.

It all depends on what’s in the buffer of GRBL/Arduino I guess. To eliminate this, opening and closing of UGS seems to clear things out and prevent an unwanted material screw up. My now standard routine is to get the wood into position, jog the Z up and over to the left side. Next I home the machine. After homing I then close the UGS window. I re- open the UGS window and will have to reset machine Zero. I manually set the bit Z zero to the top of the material visually or with the Zero tool. I Jog up and over again to clear the material. I press “Return to Zero”. I close UGS again and re open it again. Now everything is 0,0,0. Finally I start the router and run the program. It is a lot more steps than I’d like to do, especially after a bit change, but after you ruin a few expensive pieces of wood, you realize that it is time well spent.

1 Like

Certainly true, tedious though but I see your point.

My routine is power-on, $H (upper left), clamp material down, jog/set work zero and carve. I use a Fusion360-GRBL PP (Strooom post) that traverse with Z raised, then lower before carving, and park at user-specified position (Upper right)

Easel and other PP’s may lower Z to set safety height first, then traverse. Not logical.

1 Like

I power on, home, jog to desired zero (if different than last time), set that as my origin and carve. If I’ve already set zero (same workpiece, same location on wasteboard), I just home and carve. On tool changes, I typically try to run them in one job. I use CNCjs and some macros that precisely set the Z for new tools.
When I’m using a fixed location on my wasteboard (I use dowel pins) as my XY zero, I can run endless jobs without ever re-zeroing X & Y. Just home, set Z, go.

The work offsets are stored in the non-volatile memory of the arduino. Those offsets are distances from your home position. They really shouldn’t be changing. You can send $# to see the offset values.

1 Like

If I’ve already set zero (same workpiece, same location on wasteboard), I just home and carve


With CNCjs, if you set your zero somewhere else, say at X10y10, and you home it…are you going back to the switches or to that x10y10 location?

Like @HaldorLonningdal, my homing switches are back right. When I home the machine ($H), it goes to the switches. Once home (machine zero) is established, all work coordinates are just an offset from that position. Many people take issue with the negative values (all of my work area is in negative machine space), but it does not matter. If my work zero is set on the front left corner of my workpiece, and I have it the same in my CAM, I can just home and carve. You do not need to be at work zero when you start a carve.
I hope that was clear. :crazy_face:

1 Like

I am just finding it simpler for my drawings and work zero to be in the same place as the machine zero. When I use Meshcam on a 3d carve, it has a simple function to use create program zero from the “set to the geometry” button. That way when I’m doing work with multiple tool changes, I can isolate the operations from each other in individual modules. That actually speeds up the process and keeps the cutter within the confines of the operations I’ve defined. This also allows me to mix and match programs together, which is a benefit to what I’m doing with these guitar parts.

The last time I homed my machine the dust shoe rails interfered. Havent homes it since then. I just make sure not to move the work piece or the router during the bit change and tell machine to use the last x,y zero. Works perfectly until something goes just a little bit wrong. When you say to set switch 4 off to lock the motor… I thought the motors were locked when the machine was powered on and not in use, like during a bit change. I’ll definitely have to get in there and tinker with that switch. This last project I ruined was extremely cheap wood but I spent a day on the build before putting it on the cnc. That hurt. I appreciate all the responses.

This explains it nicely:


They are locked, but getting reduced power (Switch#4, ON=30% avail power, OFF=100%) due to their idle status ($1=less than 255)

Like Martin linked to :slight_smile:

1 Like

Great information. If you’ve dealt with this then I’m sure you know exactly how much i appreciate the link. Thank you sir.

I did not have homing switches for the longest time. I would set my zero positing and lower the spindle until I could scratch a circle in the material using the end mill. I would do this by just rotating the spindle by hand. I always made sure my zero position was outside the work area so that it would not get lost by a cut. This way I could recover from a failed cut or changing bits by just centering the bit on the existing scratched area. This got me plenty close for the work I was doing.

lots of good suggestions about homing etc. You might also include a more gentle method of tightening and loosing the collet. If you position the two wrenches in the right way you can squeeze them together with one hand to loosen (or tighten) the collet. This reduces the force on the steppers caused by pulling and pushing the wrenches.

This may help.

That has happened to me twice. The first time after an Estop it started back up and lowered the Z then proceeded to rapid back home and rammed through a work clamp and broke my bit. The second time it did the same thing and ruined a nice piece of laminated walnut and maple a friend at work gave me to carve for him. Only reason I didn’t break a bit was because I left the spindle on and it was able to plow through.

I thought maybe I had done something wrong, but sounds like it’s a goofy Easel setting. :angry: