Two-sided milling

Will, I’m certain that it did not shift this time: I was really careful to hold it with my hand with significant force. I’m worried about the bumps though: it does move a bit when the dowel pin hits it.

And that still doesn’t tell me much about what I should expect from the BitZero V2: ±1mm? ±0.1mm?

For everyone who mentions dowel pins for two-sided setups: how do you set up your coordinate system then?

1 Like

I bought this one for my Shapeoko, it has a 6mm shank.

I use it at 500 RPM with my spindle, but it may still be safe at 1k RPM, which I saw someone mention was the min RPM on the Nomad (is that correct ? from the MDI maybe)

Yeah from what I recall 1k was lowest value for rpm on nomad 883. I don’t know if anything has changed for the 3.

(Much) lower than 0.1mm. Interestingly I have a hard time digging for actual numbers in the forum, but here’s a mention of “well sub 0.001”) from @mikep, though it was probably with another G-code sender and a custom touch probe macro

Is your actual stock used to mill the fire hydrant the same as what you have defined in Fusion 360. I’m looking at your the fire hydrant and the alignment in the X and Z directions looks pretty good but appears your offset after flipping is on the Y axis. So in Fusion if you have the Y dimension of your stock set to a value such as ‘X’ millimeters and it’s actually ‘X’ millimeters + 2 millimeters would this not throw your alignment off after you flip it? Maybe you need to probe the front left and back left coordinates on your stock being used and split the difference on the Y axis and then jog to that location and set your Y if your using this method without using location pins as @CNCInspiration suggested.

Edit: Then in Fusion your Zero for WCS could have Y centered with the middle of the model.

After the flip, the freshly milled corner is placed at zero and used for WCS zero for next setup. Perhaps I’m missing something, but it seems to me that exact stock dimensions do not matter when using this approach, because I’m milling two sides and facing off the top in the first operation, and then placing the known corner at zero.

The whole purpose of doing this approach is to be able to work with imperfect stock — in principle, your stock doesn’t even need to be square, as long as you have enough of it to cut out the reference faces and your model.

I see what you mean now so around the fire hydrant your doing a contour. I’m still fairly new to Fusion and have a ways to go with it but there are also some parameters about amount of stock to leave (roughing vs finishing) I think. Have you taken the measurements of the contour (Y-axis) and confirmed it’s what you expected it to be?

No, but it doesn’t matter — in fact, if you look at the above screenshot from Fusion (the second one), you will see that only two sides are milled, not all 4. What matters is that I create a milled reference point (the upper left corner in the 2nd CAD screenshot above), which then gets placed at my zero after flipping.

The problems I’m seeing is because I am unable to probe the zero with enough precision and repeatability, and I do not know why.

There’s a lot of talk about the BitZero but:

To be clear, this (“where the blocks meet”) is the same zero point you used for the first setup?

If so, when you run the second setup, do you do it immediately after completing the first setup, without re-initializing or zeroing the machine, or do you run the BitZero again?

If you’re using a fixed position for zero, it shouldn’t move between setups, so you shouldn’t need to run the BitZero again, so the BitZero shouldn’t be part of the problem.

Why two sides? Could you expand to 4?

You create two reference edges but you don’t create what I would rely on enough to call a reference point. That point is the intersection of two edges, one milled, one not, so it will inherit whatever error was present in the stock prior to your machining operations. If your stock wasn’t perfectly square, the error will be retained.

Is the issue always on Y?

And do you have the means (e.g. a dial test indicator) to measure the squareness of your workholding relative to the movement of the machine?

Only trust what a manufacturer is willing to specify with hard numbers. Carbide 3D doesn’t provide numbers for the BitZero so frankly, I’d treat is as completely useless. Other people are able to speculate based on their experiences with it but without some kind of specified tolerance, there’s no guarantee that what they experience with their BitZero is what you should expect of yours.

Of course if you can measure the repeatability yourself, then it might be determined to be reliable.

If you’re willing to pay the price, most of the electronic edge finders (I use this one) have visible indicators that allow them to essentially be used as manual edge-finders. You’ll have to figure out how to wire it up though (e.g. provide a 24V power supply).

Ok, it seems there is some confusion, because I haven’t explained my setup well.

This (simplified) picture shows how things will look after the 1st setup is done. Note the two faces that were milled, the top was also faced off. This means that the figurine inside the box is fixed with regards to the corner reference point. The exact stock dimensions (or stock squareness) do not matter.

Now, this point will become our WCS zero after flipping the part, this picture shows it without actually flipping the part, perhaps this makes it easier to understand.

So, in the second setup, I’m looking at this:

I am not re-zeroing the machine between setups (although that again wouldn’t matter that much here). The important thing is that for the 2nd setup, the milled corner needs to fit tightly into my blocks, and most importantly, my machine needs to be zeroed properly, so that WCS origin is exactly where the blocks and the threaded table meet and where the milled corner from 1st setup will land after flipping.

I don’t think milling 4 sides would change anything here. I am milling three faces that meet, so I do have a good reference corner. Those three faces should be perfectly square after the 1st setup and all other geometry should be correct with respect to those faces.

The issues are on X and Y, to various degrees.

I still think BitZero is the problem. I just did a quick check: zeroed in on the corner of that woodworkers square, then jogged the pin close to the square — it was visibly off, this time more in X than Y.

I also tried a manual approach: I used the BitZero as a manual contact indicator by keeping it pressed against the tiger clamps (and blocks) and jogging the Nomad until contact is made and the LED goes red, then zeroing X or Y and offsetting by 1.5875mm (half the diameter of the dowel pin). This got me much better results: at least visually, the blocks were smack dead in the middle of the pin.

That electronic edge finder looks good, @Moded1952 — do you use that with the Nomad? I can’t see the shank diameter in the specs. Price might be acceptable, but I’m looking for something that I could use right away (like I hoped the BitZero would work), ideally as automated as possible. In other words, I’d rather not hack on G-code probing routines :slight_smile:

There is also another interesting probe here: Touch trigger probe TPA2

Unless I get better suggestions, I think I will try running some jobs using this manual method I just used and see where that gets me.

1 Like

Ah, sorry, I misunderstood and thought you milled the two edges parallel to the X-axis.

What you’ve described here looks perfectly reasonable, the only thing I see as a potential source of physical error is that your workholding is parallel to the X-axis. If it’s not, your work piece will be milled as a trapezoid and some error will be introduced because your reference edge is intended to be parallel to X but isn’t.

Ah, I see. That makes tons of sense and seems pretty reasonable to me.

And that seems like a smoking gun. Do you have feeler gauges? You should be able to use them to quantify how off it is. Run the test a few times and you’ll have a good idea of just how reliable your BitZero is.

Yep, even on my stock Nomad, though I use one of these in the middle since it allows me to swap out sensors easily (I also use a Z-probe).

Though assuming the BitZero has some kind of connection to the Nomad, I guess there’s already a hot-swap connector on it somewhere?

It uses a holder for adjustment. The stock holder is 8mm but there’s a 6mm one too. The latter is the one I’ve always used.

If you’re using Carbide Motion, in my opinion nothing like that is likely to be possible. If you’re using another sender, I suspect there are existing macros you can use.

Oooh, new shop.

Looks like that one has a 7mm non-replaceable shank though which makes its compatability with the Nomad somewhat dubious.

The main competitor I’d be looking at is, which is a bit cheaper than both our options.

One thing to pay a lot of attention to though is the length of the probe. I don’t know about the Nomad 3 but the 883 Pro didn’t have a whole lot of Z travel. The reason I chose the 3D-Finder specifically was that it was 49mm stickout + probe. With the shorter probe that brought it to 59mm which still left some space for the stuff I was actually machining.

The probe you linked has a short body which is good but the stylii that they sell are pretty long. With the 2mm stylus it’s a bit shorter than the 3D-probe.

1 Like

What are you probing with in the chuck? An endmill, or a metal dowel?

If an endmill, the geometry of the flutes may be causing problems. Is the problem as reproducible if you start the probe process with the bit deeper in the bore of the bit-zero?


For this sort of operation on a nomad you only need to set the zero once for the first side. Then flip and run the other side without rezeroing.

It wasn’t clear if this was your approach.

He answered that here:

Sorry - I missed that.

Would that not mean the the BitZero is not relevant? If the model is as described, it doesn’t matter where the zero point is so long as it doesn’t change between runs, which it tends not to on a Nomad.

EDIT: Slow morning brain - I can see how it might count if the stock rotation relies heavily on the zero being the actual stock corner.

I am not re-zeroing between setups. But the more I think about it, the more I realize that it doesn’t matter at all. I could equally well set the zero at the top corner of my stock for the first operation.

The only things that actually matter for accuracy of the flipped match are:

  1. Precise zeroing at the corner (table level) for the second operation.
  2. As @Moded1952 pointed out, squareness of the fixtures (I’m relying on the Nomad threaded table for that, and it seems good enough for my purposes).

My approach is different from most approaches I’ve seen online — in most cases, people use the same WCS for both sides. In my case, the second operation has a WCS in the milled corner, not in the original stock corner (see my CAD snapshots with the little coordinate system in the corner).

So, what matters with this method is not that the zero doesn’t change between runs, but that the zero be precise for the 2nd setup. Hence the finger-pointing at the BitZero.

1 Like

I find the rapid positions to be pretty reliable.

If you get the get the machine to cut into a bit of acetal/delrin to create a corner angle at one of these rapid positions, perhaps that could be a better corner anchor that doesn’t need any X/Y zeroing?

Using rapid positions moves the source of error from the BitZero to the homing switches, which might be an improvement, might not. I don’t know how accurate the switches on the Nomad 3 are.

You could maybe test repeatability/accurary of your setup (including fixtures + BitZero), to either confirm your suspicion or rule it out ?

Repeatability: by just checking the X/Y/Z value you get from probing a fixed part, ten times (randomly jogging the machine around in between, too)

Accuracy: by probing using the BitZero, and then manually jogging to the corner (e.g. with a very pointy vbit?) and visually inspecting whether it is spot on (anything larger than 0.1-0.2mm should be visible to the naked eye)

Honestly, if we are talking about a 2.4mm shift like you illustrated above, and if the BitZero did not move during probing, I would be extremely surprised that it (or any other probe) has anything to do with it. It’s a glorified switch, GRBL reports the current X/Y/Z absolute position when the tool touches it, and then it’s only a little bit of math (that could be wrong, but not intermittently).

Also, I found @mhotchin’s question interesting. Did you probe with an endmill or a pin ? Probing with a low-flute count endmill could easily explain 0.1mm error (but obviously nowhere near 2.4mm…)


@Julien, that is exactly what I plan to do today or tomorrow, as time allows. I thought for accuracy testing I’d zero using the BitZero first, then move to 1.588mm in X and Y, which should place me so that the dowel just barely touches the machinist blocks. Or zero first, and then set a -1.588mm offset for X and Y, then check.

And yes, I am using the 1/8" dowel pin from Carbide3d, not an endmill, for probing.

1 Like