Is anyone else having bitsetter issues?

Almost every time I run a Vcarve job, bitsetter throws out the zeroed Z. I have now learned to be careful by watching CM’s Z-axis reading very carefully after the bitsetter stage. This is tricky because the bit is now flying over from position S to the workpiece and I have to eyeball the distance between the mill tip and the workpiece and compare it to the reported Z height. In most cases, the height is around 10mm more than I think iit should be. If I let CM carry in it is going to dig a nice big hole in my workpiece. I quickly hit pause then stop. I then jog over to XY=0 and jog down to the surface and look at Z. Surprise: it is not zero but usually out by 6, 9 or 12 mm (always an exact no of mm oddly). I then re-zero the Z, click start job and I’m good.

My workflow is precisely this

  1. Save gcode in CC
  2. Fit my bit into the collet
  3. In CM, jog over to my XYZ=0 and “zero all” in CM
  4. Load gcode file
  5. Start Job

NB, I’ve noticed there is a “Load new tool” button. I never press this as I cannot see the point as CM always drives via bitsetter anyway.
NB2. I also noticed a Clear All Offsets button which I never touch either

I feel like it may be a bug in the software because my Z=0 point is definitely getting changed. It is always in the “dangerous” direction i.e. increasing Z such that my workpiece is damaged. Also there is no logical reason why my workaround works. All I am doing is interrupting the job and resetting Z but still goes via bitsetter.

FYI this usually happens when I am vcarving so I have ruled out the bit picking up the magnet out of bitsetter’s little tray.

That’s the problem. When Carbide Motion measures a tool length it does so in two different ways:

  • checking for a change in tool length offset
  • confirming tool length offset

If the second confirmation measurement is run then the tool length offset will be off by the difference between the previously measured tool and the unmeasured tool which was loaded w/o using the “Load New Tool” button — always use the interface to interact w/ tools when the BitSetter is enabled.

Thanks for this solution.
After I initialise the Shapeoko, it visits bitsetter. Then it will visit again when I click Loan New Tool. And then a 3rd time when I start the job. I couldn’t understand why 3 visits were required.
Is there ever a scenario where I don’t click Load New Tool?

You can avoid the need to use “Load New Tool” by only doing tool changes when the machine expects them:

  • at initialization before the machine measures the tool at first
  • when prompted to load a new tool when running G-Code

The BitSetter is setting Z zero during initialization and during commanded bit changes by comparing the last time you set Z zero to the current tool. So the last time you set Z zero may have been yesterday when you used your machine. If you had a 1/4 inch piece of plywood in the machine yesterday and set zero on top of the 1/4 inch plywood then any bit that is in the router during initialization will be measured and the Z for that bit will be set to 1/4 inch above the wasteboard just like the last time you set Z zero. So if you initialize and put a new bit in when the prompt is to insert a tool, any tool, that tool is compared to the 1/4 inch Z zero and set to 1/4 inch above the wasteboard. However if you initialized the machine and just rapid to S and replace the bit the machine has no reference to how far your bit is sticking out because the BitSetter is expecting the existing bit to be 1/4 inch from the wasteboard. So when you start a job and you are prompted for a particular bit, you insert it, and the machine goes to BitSetter there is no reference for the machine to compare to and your Z zero will be wrong. The only way to recover is to let BitSetter do its thing and then jog over to the material and set your zeros with a BitZero and/or paper method. Now your bit stickout and the BitSetter are synchronized.

If you want to change to another bit after initialization you must use the change tool button to keep the BitSetter synchronized. All the BitSetter is doing is comparing the bit in the router to t he last time you physically Z zeroed.

If you want to check your tool position you can go into jog and Rapid Positions. One of the buttons is to move to current X and Y position. Another button is move Z to 6MM above Z zero. If you make a 6MM spacer you can quickly verify X Y and Z positions without a lot of jogging. You can see visually the X and Y position and with a 6MM spacer you can see if Z zero is as expected. It is a good practice because sometimes you get so caught up in a jog that you jog over to set zero but forget to actually set the zero. The machines remembers the last time you zeroed any axis and returns to that position when you use the rapid positions.

1 Like

Thanks for this and hope it’s helpful for others.
I only ever change the bit when asked except I have occasionally done it before initialisation so that must be where the error creeps in. Perhaps the software could detect when you just zeroed Z and issue a warning.

Patrick, do yourself a favor and get at least one (1/4") precision machined rod for your zeroing tasks. There’s both a 1/4" and a 1/8" version. C3D supplies them with the BitZero V2 so you could buy from them.

Put that rod in for your initialization routine. Then when you “Start”, you can put in the bit that you will use for cutting.


Yes I was sent these but couldn’t see the point of them so now I think I may be misunderstanding the process. It seems to add an unnecessary iteration as I can zero with the bit I plan to use.

On a separate note, I quite often want to do some wood surfacing and I have a surfacing bit (flat thing around 1 inch wide with 3 blades). I cannot use it with bitsetter because it picks up the magnet on first contact and then the magnet always gets crooked when it goes down for the slow contact stage. Because of this I started using the Shapeoko without bitsetter and found it a whole quicker for single bit jobs without the risk of wondering whether I have clicked the Load New Tool button.

For surfacing (or any other) endmills which the BitSetter won’t work w/ please temporarily disable it.

1 Like

Also watch Your toolpaths with a surfacing cutter, you don’t want to mangle your BitSetter.


Experience told me to slow down and get done quicker. :grin:

The “Load New Tool” button is one I haven’t used either, but my understanding is it should be used if an end mill breaks and is replaced mid-project.

Peter, Everytime you change a tool you must use the Change Tool Button if you have a BitSetter. If you do not you are asking for trouble. For me if I were to break a Tool the job is over and I would start over with a new tool. You could salvage our project by editing your gcode at start a few lines before the breakage. You would need to edit the gcode with the preamble, a few lines before the break, post gcode settings. Depending on the length of the job I might just let it start over.

NEVER NEVER NEVER change a tool without going through the software interface with the Change Tool Button.if you have a BitSetter Let me repeat NEVER NEVER NEVER. Never unless you want your project messed up.


What about in a multi-bit job (advanced vcarve or 3D, say)?

If I were to physically change a tool without being prompted by the machine I would use that button, but the only reason I have ever changed a tool without being prompted is when I broke one.

Maybe I’m relying on the machine to do the work I tell it to do, but prior to owning a BitSetter I exported a separate toolpath for each tool being used and zeroed it before every run. Now I have the BitSetter I export a single toolpath file and let CM prompt me to change the bit before it does it’s thing.

Is this wrong?

When I cut a new wasteboard, I tried salvaging the job exactly as you suggested, but that didn’t go well for me. For some reason editing the code resulted in a deep gash across the board, but I managed to catch it in time to prevent too much damage - but it was annoying as it was 1.5 hours in to a 2.5 hour project. Fortunately it was only a wasteboard, so it’s not a big deal, but I would like to know what went wrong (it wasn’t a broken tool).

Just to clear up the confusion about the Change Tool button - it is not a requirement that you use this button as part of your normal workflow.

Instead, concentrate on the times that you are allowed to change a bit when using the BitSetter flow. These times are:

  1. When the machine is switched off
  2. When the router/spindle comes to the front of the machine and Carbide Motion says “Insert Tool X” or “Insert a Tool”.

There are no other times that you can change the bit when using the BitSetter flow and have the tool length calculated.

Now, given that, the “Change Tool” button is simply a way to cause “2” to happen outside the automatic nature of the BitSetter flow. That’s all it is.


Will Can you explain to me how to disable the bit setter and turn it back on.
Also is the new

There is a checkbox in the Settings/options menu. Uncheck to temporarily disable the Bitsetter. Re-check to re-enable it (no need to resend machine configuration)

1 Like

As per @Julien comments above, but be aware that once you re-enable it, you’ll have to reinitialise the machine.


Just got my bitsetter (and using with my v1 bitzero) and I’m having the same issue. Attaching my 302 v-carve bit after running my v-carve code and CM prompting me. It looks successful going over to bitsetter, doing it’s thing and returning to center for a prompt to turn the router on. After turning it on and hitting resume the bit is moved correctly in the X and Y to be over the work piece but the Z is off. The bit is anywhere from a 1/4"-1/2" above the work-piece. It feels like bitsetter just isn’t adjusting the Z for the new bit.

I use the 201 bit for the initialization bitsetter probe and for the following bit-zero operation. I use the X/Y probe selection which does the Z in the process (why is the Z only option highlighted when these show up?) I even measured the distance of the 201 tip to the work-piece top afterward to see it was the 28mm CM said it was.

Prior to the bitsetter, setting everything to zero was a required step. With the new probes I haven’t been doing it since the process doesn’t seem to give an opportunity to do it except just after the bitzero process. Should I be zeroing out the Z at this step?

My thought are:

  1. I’m just missing one of these zeroing steps somewhere.
  2. My bitsetter isn’t working properly.
    a. (My adapter plug board that came with it had glue all over the plugs that I had to dig out. I thought maybe I damaged something possibly. Maybe one side of the connection is broke so it goes through the motion but doesn’t get the right info?
    b. Maybe I got the plugs swapped on the board - bitzero and bitsetter.
    c. CM has some issue especially with a V-carve process.
    Any thoughts would be appreciated. I’ll try to narrow some of these down when I can get back to it.