Constants of CNC Accuracy Testing – Travel Accuracy / Backlash / Squareness / Deflection / Repeatability

In this video I’m going to answer some of the questions about the accuracy and performance of my CNC router machine.

The most common questions I get is – can it cut aluminium? This question alone isn’t a good measure of accuracy. The quick answer is yes, but I must admit I even managed to cut aluminium with the x carve when I still had one. The real question is can it cut aluminium well? Can it cut anything well? This machine can cut material better than any belt or leads-screw driven machines I’ve used. The other question is, can it cut aluminium all day, all week and all month? And the answer to that is, I don’t think so. I’d imagine the machine would either rattle itself apart, or the tool would overheat. The thing is, to cut aluminium over long periods of time, you’d need flood coolant or a lubricating mist which would make a massive mess. You’d have to cut smart using drill toolpaths instead of milling where possible, and countless other things.

While this is the most rigid machine I’ve built and I’d happily describe it as an advanced hobbyist machine, it’s not a mill. You don’t need a concrete floor to sit this thing down. So how do we measure accuracy and performance? These are the parameters that come to mind. Travel accuracy, backlash, squareness, deflection and repeatability. Travel accuracy, backlash, squareness deflection and repeatability.

  • Travel accuracy = Do the axis move the distance we require? For example, if I instruct the machine to move forward along the Y axis 50mm what is the actual measurement?
  • Blacklash = What is the tolerance when changing direction along an axis? If I now move backwards along the Y axis, what amount is subtracted from the returning distance.
  • Squareness = Are the axis perpendicular to one another? How similar will a physical shape cut, be to the one designed in CAD?
  • Deflection = How much force is needed and by how far will the spindle bend along a given axis? Will a drill hole produce a perfectly round hole throughout the depth of the cut?
  • Repeatability = Will the machine move back to a known location consistently. If I cut a second shape at another position and orientation on the wasteboard will it be identical to the first.

I’m going to try address these constants in measuring accuracy and performance. Here goes.


The first thing I did while setting up the machine was to square the X and Y axis. I have two proximity sensors for either Y axis steppers. I would home the machine and measure the distance between the Y plates and the plates holding their respective proximity sensors – using a Vernier Calliper.

I would then fine adjust the proximity sensors, using the locking nut until there was under 0.5mm of difference.  I then further adjusted the remaining distance using the homing offset in code – measuring after re-homing to check this was applied correctly.

Once that was done, I checked the Z axis was also square and any nod caused by the overhanging weight of the spindle dropping the tool was compensated for. To be honest much of that was achieved in the machine assembly process – but to double check I first use my large engineers square to check the X Carriage Plate along the Y axis, and then the Z Axis Rail Profile along the X Axis.

I also placed a 6mm tool with a small cutting face upside down in the collet, so I could hold up an engineer’s square to the shaft. I measured this again along the X and Y Axes – holding a light behind the tool and square to check for light bleeding. There’s a small amount of manoeuvrability if I need to make corrections. To pivot the spindle back along the Y axis, I can loosen the machine screws holding the Y plates to the rail carriage blocks and ball screw nut. To pivot along the x axis I’ll need to loosen the machine screws holding the Z Axis Rail Profiles through the X Carriage Plate – which are accessed from the rear.

There final test involved spot marking four points on the wasteboard. The points need to be the four corners of a square. I can then measure diagonally between them and if they are the same, that means the earlier calibration were successful.

I carefully circle and dab the spot-marked points with a pencil to make locating easier. After moving the gantry out of my way, I use a steel ruler to measure diagonally between opposite points. I’m getting 509mm from either measurement, so the earlier calibration was successful.

If I wanted more accuracy, I could use a beam-compass with pin locators tightened along the beam when the points were located, in the impression on the wasteboard. I could then move that assembly to the other diagonal to check if they line up – but I don’t have a beam compass.

Here I’m checking my measurement against the CAD drawings and as you can see they are pretty good.


Deflection is hard to measure because it’s a combination of movement and force needed to create that movement, but you may notice it while drilling small diameter holes, where there isn’t enough time for the tool to remove material from the cut while plunging. In this case the tool may lift upwards and drop into the cut along the nod, making the entry look a little oval.

I’m checking the deflection of the spindle using a dial gauge indicator pressed and zeroed on the collets inner cone. If I rotate the collet the runout is minimal, and if I then push the top of the spindle assembly by hand I can see the distance move on the dial indicator. There’s some twist in the assembly although naturally the Y axis is a lot worse than the X. You’re looking at just over half a mm along the Y and 0.1mm along the X. There’s not much you can do with the Y deflection other than re-cutting some of the plates in aluminium, or building some additional bracing along the gantry  – but providing you are sensible with your feeds while cutting, you won’t notice this in your finished pieces. I might also add this looks a lot worse as the entire machine is moving because the stand is on caster wheels.

Travel Accuracy:

The first thing I noticed moving to a ballscrew, was the steps/mm became a round whole number – which wasn’t the case with previous belt or leadscrew machines. This sum was based on the distance the nut-block travelled per rotation, and the micro-stepping settings on the driver.

I can then confirm the movement accuracy in a few different ways.

  • I can move along the X or Y axis to check the travel accuracy using a dial gauge indicator.
  • I can place a v-cutting bit in the collect and move the tool along a steal ruler and compare the point of the tool to the increment on the ruler after moving from a known location.
  • I can also cut a shape out and measure it using the digital Vernier Calliper.

I noticed that my X axis was a little more off than the Y axis – and realised I hadn’t fully tightened the locking nut on the FK12 fixed support. To tighten this up I used a boa strap to hold the motor coupler while tightening the nut. I made sure the nut was fitted the correct orientation with the flat ground face pressing against the bushing, and I also replaced the small grub screw with a larger socket head screw so I could get better purchase while tightening its final position.

You can see the difference here.


Unfortunately, backlash isn’t something you can fully eliminate without pre-loading the nut which runs along the screw. For my purposes the amount found with these ballscrews is small enough to not cause a real problem with the type of things I’ll be cutting. Some controllers have backlash compensation features built in – but this is not the case with the duet or GRBL. Also be aware if the FK12 locking nut isn’t fully tightened as mentioned previous this may appear as backlash.

You can see the backlash here is pretty small.


Coming back to the deflection and the spindle nod – I decided to check the y plate deflection along the y axis (so from front to back) and you can see it’s a lot less than when I measured from the spindle collet. I’m trying to imagine where this additional deflection is coming from, and I think it’s the aluminium profile twisting. I’m going cut a brace to bolt to the rear of the x axis to see if that makes any difference. I could also adapt the Y plates in future to use square 40x40mm profiles which will provide additional rigidity.

I designed and tooled this part in Vectrics Aspire and you can see it’s cutting well without the brace but Valchromat is quite a forgiving material. I’m using a 4mm single flute up-spiral cutting bit from Europa Tools. My pass depth a 4mm, feed rate is 1200 mm/min, rapid movement 1800 mm/min, plunge rate is 700 mm/min, spindle speed 21000 RPM and the machine acceleration is 60mm/s^2. I think it’s important to mention the acceleration speed as this determines the final speed.

This job took about 12 minutes to cut. After cutting the tabs from the model, I fix it to the rear of the x axis using socket head machine screws and drop-in tee nuts. I can then repeat the experiment and it looks like I’ve shaved about 0.2mm of the deflection along the y axis. The brace also acts like a plaque for the name of the machine which I’m calling MOOT_ONE. Let me know if you like the name and think it’s catchy. It’s taken my quite a while to make a decision.


The next thing to do is check the repeatability. I’m going to cut two shapes at two different locations and orientations on the wasteboard and compare them. I’m cutting two squares, one with its sides parallel to the X and Y axis, and the other rotated 45 degrees. Essentially one shape will cut with one axis and its associated steppers moving at a time, while the other shape requires both the X and Y axis to move simultaneously. You’ve got to imagine these two shapes use two entirely different cutting methods. It’s as different as trying to make a circle with a compass, and with two-point elliptical jig. Or to put it another way – drawing two identical squares on an etchosketch – where you use one dial at a time to draw the first but need to use both dials simulations for the second.

Thinking about it, I could have used this method with the spot marking test earlier, but here we’ll get to see how cutting effects movement as well.


There is an overall difference of less than 0.1mm – that’s as good as I can hope for, and a really good indication of the overall squareness, and the machines ability to cut repeatable shapes across the wasteboard. I’m really happy with this, and the last thing I need to do is re-surface or flatten the wasteboard.

I do this with a 22mm two flute flat bit, cutting 0.5mm into the wasteboard. The tool stepover is set to 85% which is roughly 19mm and the feed rate is 1800 mm/min. I use a conventional offset toolpath which means the tool spirals and includes movement across and along the wasteboard. The advantage of this method is that if the spindle and its tool are still not entirely square, I’ll be able to see signs of this on the wasteboard.

It’s barely noticeable but if I run my fingers across the wasteboard, or look carefully form a particular angle, I can tell that the spindle is off by a tiny fraction of a degree counter-clockwise along the x axis, and there’s a nod present along the y axis at a similar amount.

In the manual I’m writing for this machine, I use a different spindle mount which you can see on this machine. It’s not as clunky as the other, and I think it’ll be easier to get the final calibration down with that – possibly shimming the spindle itself out around 0.2 or 0.3mm

Anyway, this video has lasted long enough and I’m going to leave this video here. I hope it’s been useful and will help you with your projects. I’m still not sure when this manual will be ready but when it is – I’ll link to it everywhere. Thanks again for watching, to my patreons for their continued support, and you’ll catch me in the next one.

Leave a Reply