Losing zero position

I did search and saw several posts from last year, but never found a resolution.

I’m using Fusion 360 to model and generate multiple Pass CAM files. I’m using UGS 1.0.9 to send the code.

Everything works fine on the first past, and even the second pass. However between the 2nd/3rd pass the return to zero button moved it to an invalid zero. I corrected best I could and restarted, was off, etc. Tried a few more times and the return to zero went insane several times driving the z axis to max Z+ and then later crashing it to max Z-.

Has anyone solved this issue? I need to be able to do multiple passes somehow, a single pass CNC machine isn’t much use to me.

Losing zero can be many things, most of them mechanical.

Here is something you can check to see if it’s a controller issue.

When you get ready to start a pass, after zeroing and all the setup, issue a $# command this will dump out the machine position for each of the work spaces. Most likely you are going to be using G54. Write down the machine position from the G54 (or other system if it’s the one you use). Then run your pass.

After the pass finishes, do the $# command again before you press “return to zero” and see if the machine position for G54 (or other) is the same as it was when you started the pass.

If G54 (or other) doesn’t change throughout your project, then the problem is most likely mechanical.

Also, take note of the command that UGCS sends when you press “return to zero”. Post this here. Also post the $G and $# output.

Read this thread:

I’ve had this happen several times also. Sadly, I have no solution. I keep my hand on the e-stop every time i try return to zero in UGS.

ok good to know. Won’t do that anymore :slight_smile:

1 Like

Patient: Doctor, it hurts when I do this.
Doctor: Don’t do that.


Let me guess, don’t use $H also. Did that on 3rd stage carve and it fubar’d the work zero also. Damn, any other massive UGS bugs I should know about? I’ve done all of these things commonly on shopbot and Tormach with no problem. But can’t seem to get any reliability on this thing.

Homing works fine, and I usually use it in the beginning. However, last time i used it after the first pass, it majorly messed up the work position and my next carve went to the middle of the table (10-15 inches in X/Y) away from where it should be cutting.

I just did another 2 phases from scratch and the second phase was about 1/4 inch shifted to the +X direction messing up the carve. I tightened the X belt in case it was missing steps (first round worked fine so doubt thats it).

Only thing I can think of is when I use the keyboard between carves to move it to change the bit and then move to set the Z-axis zero. Not sure, still experimenting. Any tips are welcome.

Normally you would home your machine when you first power it up, or as a pre-caution before you start a job, or because you have reason to believe that grbl has lost position.

You don’t need to home the machine between passes. Homing establishes Machine Zero. Work Zero is relative to Machine Zero. Once you establish Work Zero then you don’t want to change it until your job is finished, with the exception of re-zeroing the Z axis after you change your bit/mill. You don’t want to change the Work Zero for X or Y as that would cause your subsequent passes to lose registration.

Just as a check - post the first 10-20 lines of the G-code file here. Maybe there is an issue with the setup.

Are you using “Enable Keyboard Movement” in UGCS?

Below is the gcode. Yes I enabled keyboard movement and used it to move fast. This current carve I’m doing I made sure to only click the buttons with the mouse to move it. So far the second pass is running perfectly, and it’s almost done.


(STOCK/BLOCK,16.5,3.5,1.5,0, 0, 0)

I have not used the “Enable Keyboard Movement” before, but I checked it on my system and it seems to do the right thing (UGCS 1.0.9).

Your start up code looks ok.

You might want to remove the T1M6, as some people have had problems with that and the Xcarve doesn’t use it anyway.

Phil, so you’re saying that if you are running to separate files (Roughing and finishing for example) on the same piece and as long as you don’ move the work piece, UGS will remember your work zero and all you need to do is change Z zero if necessary?

When I was using UGS, I would zero everything, run the first pass with the first bit. The, I would swap bits, zero only the z-axis and run the second pass with the second bit.

That’s what I did my last run last night and all 4 (4 bits, 1/4inch roughing, 1/8 inch roughing, 1/16 finishing, 90 degree chamfer tracing) passes worked correctly. So one of the problems was either using the numeric keys for moving the gantry and/or belt tension. The X-axis belt tension was a little low (by touch) so that was probably part of it. However, no way it could of been the problem when I re-homed after two passes and it messed up work zero by nearly a dozen inches in x/y plane. I’m thinking the culprit is keyboard movement, but that needs validation.

My belts are tensioned by feel, need to buy a fish scale to be more accurate.

Things I learned (order of importance):

  1. Shallower cuts in Fusion 360 are needed due to gantry stiffness. I used Max roughing z-step ~1/2 bit diameter for adaptive clearing. Worked great, was breaking bits with defaults of 0.31xxx inches due to chatter.
  2. UGS bug(s) familiarity is nice.
  3. Standard tuning like belt tension, wasteboard leveling (my board is higher in middle than edges).

Fixed my re-connect problem also, VMWare fusion was grabbing the USB ports (even though no vm’s were running) and preventing anyone else from using them. Uninstall and I can reconnect now.

Good stuff, learning the intricacies of CNC, Fusion 360 etc is why i bought the X-Carve. Using the shared Tormach/Shopbot at the Tech shop in my free time was waaaay to slow and annoying to learn with. If I have big/specialty jobs I need run I’ll go there and use their higher end machines.

Thanks for everyones help. I’m going through the forums and picking up tips/tricks and experimenting still and probably will be for the foreseeable future.

I never had any issues with keyboard movement.

When using my probe plate to re-zero the z-axis, occasionally it would not take, so I would need to run it twice. But that should have no effect on X or Y axis location.

I have the z-probe but haven’t yet used it. I’ve only been doing test carves in 2x4’s so zero’s don’t need to be very accurate as I’d just trim down the edges if I decide to save anything, most is just going to be firewood/trash when done with it.

Once I get things tuned and learn the machine limits/intricacies I’ll probably make the aluminum edge finder I’ve seen floating around the forums. Right now I need to decide how I’m going to level my wasteboard, a level bed is super important for almost everything you’ll ever want to do and mine has a ~0.68mm upward bow in the middle of the wasteboard X axis right now.

My potentiometers I turned up to max, and then backed off about 1/8th or 1/16th of a turn for all 3 axis. I’m still calibrating things as I do test cuts so will know more as I progress through it. My wasteboard isn’t very level so need to tackle that asap.

T1 M6 = load Tool #1

This may be part of the problem. For some reason the tool change commands can cause UGS to go a bit odd at times. Unless you have a automatic tool changer there is no need for it. I recommend editing your post processor to not add that command, or manual remove it from your code. I found UGS was a lot more stable after that.

And the “return to Zero” button can be unpredictable. I think a lot of how it behaves depends on what coordinate mode you are in, what offset may be loaded, or left over in memory from a previous carve, etc. Instead, I recommend writing a macro that will return your bit to your preferred start point or bit change point and use that. (something like G1 Z10 Y0 X-10)

I agree UGS did not like the tool change g-code…some times it would ignore it, other times it would lose its mind. :slight_smile:

1 Like

T1M6 is a nightmare for me makes my machine think the z can go on vacation to the moon.

I may have missed it stated but Fusion360 was adding the tool commands for me. I had to edit the bit settings and choose manual tool change for it to not be included. It’s under the CAM setup options when you select the bit size.