It can be very frustrating initially when you don’t get the accuracy and precision you were expecting, you certainly can get much better outcomes but it takes a bit of learning and understanding each key element of your workflow.
It might be worth posting a step by step, with photos, of how you’re clamping, aligning and zero-ing your workpiece, it’s frequently small things that matter.
I expect to get to < 0.25mm accuracy on any reasonably small part and would expect to be able to remove the workpiece, return it, clamp, indicate and re-machine to this accuracy as well on my SO3 XXL. For workpieces over, say, 500mm I might reduce this expectation to 0.5mm repeatability. Where I’m working in Aluminium I use an edge finder and dial gauge to make sure I really have the setup nailed.
If you’re going to try to do two sided jobs then it is probably worth, once you’ve got the machine giving you repeatable results on single sided, checking out one of the threads on ensuring squareness otherwise this can bite you if your two sided machining needs to line up accurately.
Here’s a job I just ran, which I was able to remove, replace, re-zero and get to < 0.25mm of the previous features.
This is the workpiece (an Ikea shelf), it’s clamped on the spoilboard aligned against some 6mm Aluminium rod. Once I had squared up my machine I ran a toolpath to bore 6mm holes in a grid around the machine to let me easily align things.
Hint - align long workpieces along the Y axis, not the X, this way small errors in X axis squareness are minimised.
I push the workpiece up against the rods in the Y axis to get it straight, the rod in the X is there as a stop just for repeatability (I had more than one shelf to butcher)
I then used the BitZero with my 1/4" cutter installed, carefully pushed up against two square, clean edges on the workpiece, if you want a repeatable position, ensure you have a feature you can re-zero from partway or after the cuts you plan. I hold the BitZero in place during probing to ensure it doesn’t wobble about.
Probe Corner
Select the right size bit
I then ran the toolpaths, which included boring a 10mm diameter hole at 226.4mm X and 25.0mm Y in the workpiece.
I removed the workpiece, re clamped it up against the pegs, re-zeroed with the BitZero and sent the machine to X226.4mm Y25.0mm.
I put a peg made from 10mm Aluminium rod into a 10mm collet and jogged down, it’s pretty close, I’d say < 0.25mm error, which, for the BitZero is about as good as it gets, if I need better than this I use an edge finder and ensure the workpiece is straight with a dial gauge.
HTH
Edit - Re Craig’s point - I watch the cutter as the machine probes and make sure that it’s rotated to have the peak of the flute touch the bitzero if not using the Carbide 3 flute high helix where the machine jogs down far enough to ensure that the peak of one flute must be present.