Inconsistent Z origin point

My Z origin depth setting doesn’t seem to set/reset properly?
I’ve noticed that if I set my XY origin and then reset my Z for a different height, that the machine seems to get “lost”, but only on the Z

For example. I cut a 1.5" x 1" .040 deep pocket out of 1/4" acrylic - no issue.
In that pocket, I then set a piece of aluminum that protrudes slightly above that pocket.
New G-Code file, set to engrave at .010.
Load new bit
Manually reset Z with paper. Do not reset XY
Run job and the bit goes right through the material. Or once, air cut.

I set Z off the top of the work piece.

Any idea what’s wrong here?

Are you using the change tool button in CM’s interface to load that new bit ?

1 Like

No - But should I need too? I’m not using one file with a bit change, it’s two separate files. What I typically do is, zero the machine load the file, then run.

Also, if I zero out Z and then press “rapid +6mm” my Z origin changes. I don’t reset Z after the rapid command.
I’m struggling to understand how Z operates. XY makes sense. I set Zero where i want it, I can move it anywhere and when I run a file, it goes there. But Z? I can’t figure out how it operates - why it changes so much. I’ve even spent time making sure a bit change is fairly close in length, just to rule that out.

I have the bitsetter and the machine goes though its processes, as expected.

BitSetter does not actually set Zero. The BitSetter only compares the bit in the router to the LAST time you either manually set Z zero or used BitZero to set the Z Zero. So the BitSetter is comparing the current bit in the machine to the last time you set Z zero. If you change the bit manually without going through the software interface, either when prompted for the proper tool or using the change bit button you have lost the calibration between the last time Z zero was set and the BitSetter position it thinks is where Z Zero is.

It is important to only change a bit when prompted to or by using the change bit button in the software interface. Manually changing a bit without one of the two proceeding prompts will cause issues with Z zero.

If you do not have a BitSetter or have it unchecked in the software (CM Configuration) you can change a bit any time you want you just have to rezero after the bit change either manually or with BitZero.

1 Like

That I understand - it’s a measuring device of cutter length only.

Also makes sense. When I run a new file, it prompts for the new bit - and then I zero out. But if I’m missing a step, it’s got to be here.

I’m going to disable the bitsetter and see if I run into the same issue.

Just to add to this:

  • you can indeed temporarily disable bitsetter and the Z zero will behave as you would expect, i.e. no behind the scenes adjustments. Note however that everytime you enable of disable bitsetter you shall (re)set the zeroes after that. Failing to do so would lead to more/different Z issues.
  • you can leave BitSetter enabled at all times and still run single tool jobs, but in this case you shall stick to the rule of always using the change tool button when you need to swap the tool. When bitsetter is enabled, Z zero is adjusted behind the scenes to compensate for successive tool length differences, and this only works is CM is aware of the bit that is loaded, at all times.
1 Like


Tested, and now have a much clearer understanding how the Bitsetter influences Z.

Long story short, I had a few Z issues. A bad limit switch connection and the router fixture had gotten loose. So any bad behavior I attributed to those conditions, but I see there was a third variable in the mix.


Actually, this is what the bitsetter is not. It does not measure the cutter length. I think that notion is why it can cause issues like yours since it’s easy to think that when it touches off it has measured the tool and stored its length, when it hasn’t.


At risk of showing my ignorance is it correct to say that the bitsetter reading is used to calculate the distance the tip of the bit is from the value established from the Z homing sensor ?


Almost… but not quite, since the position of the spindle in its mount is arbitrary, the router is variable, and the position of the bitsetter is imprecise.

It’s more like the BitSetter is a zero point for an imaginary baseboard.

You can imagine a “manual” BitSetter using the baseboard you have.

  1. touch the end of the endmill to the baseboard and remember the Z position.
  2. touch the end of the endmill to the top of your stock and remember the Z position
  3. change the endmill for a different one of different length
  4. touch the end of the new endmill to the top of the baseboard and remember this Z

Here, after step 4, you can figure out what value of Z would make the top of the new endmill touch the top of the stock without actually doing it.

Through this entire process, the thickness of the stock, thickness and position of the baseboard and where the router sits in its mount are all unknown and unused. And consequently, the length of the endmill itself is unknown and unused.

1 Like


Trying to keep my mind off my wife’s dementia as she is being cared for by others I will delve slowly into this discussion. I may leap back in fear if it gets too far over my head :slight_smile:

Reference your reply “since the position of the spindle in its mount is arbitrary, the router is variable, and the position of the bitsetter is imprecise”
I am not sure what the difference is between the spindle and router. I would consider them the same thing just with a different name. As to their (or its) position once the machine is initialized their position is not arbitrary. It is known relative to the proximity switches.
Likewise the x,y position of the bitsetter is also known as it was established when first installed.

Comment or correct as needed.


The spindle/router position within its mount is constant. But it is not known by any bit of the software. It is arbitrary, but constant.

The main gist is that only the z-position travelled since homing is known. But the actual sizes of things like the router and the endmill is unknown.

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.