Friday 26 October 2018

Fix Backlash - episode 222

Following on from the last video I explore further the problem of backlash on our CNC machines and how we can use backlash compensation to fix it. Before we start we first need to now what Backlash is and what causes it. 
Put simply backlash is the effective loss of steps when an axis changes direction. These steps are used to take up the slack in the system before it starts moving in the opposite direction. These steps are not translated into movement in the axis so it doesn't travel the full distance. Backlash is non cumulative so will not increase as the cut progresses.

Click to watch

To measure this we need a dial who's resolution matches or is better than the axis it is measuring. 

Resolution = 1 / Steps per unit

X & Y axis
1mm / 75steps = 0.0133mm    or   1" / 1908steps = 0.0005"

Z axis
1mm / 315steps = 0.0032mm  or  1" / 8000 steps = 0.000125"

It is really important to have realistic expectations from Backlash compensation.
        The best you can hope for from Backlash compensation is 1/2 a step.
Divide the calculated figure by 2 and if you get better than that then you are like me, lucky.

Measuring tools
For this video I purchased a Digital Dial indicator. Up until now I have borrowed an analogue one but for this I decided a digital display was easier to read.  I have put a link below showing the dial indicator I purchased for this video.

Ebay Affiliate Links. By using this link a small commission is paid to me at no additional cost to you. There are many such dial indicators on the market. The seller who sold mine no longer stocks them but here are some similar ones.

Dial Indicator

Magnetic Dial Base

Macros For UCCNC and Mach3
Thanks once again to John Revill for his work in making Macros for UCCNC and sharing them with us. Over the last few weeks he has made and shared several Macros that I am excited to be sharing with you soon. It is thanks to his Backlash measuring Macro that I was able to easily measure my Axis backlash and was inspired to try and replicate it in a Mach3 macro.


Mach3 Macro

Backlash Gcode test file  (See update below)

Installing the macros and running them is basically the same for both Mach3 and UCCNC.
It is surprising how similar these control systems are in their programming and us.
Just drag and drop the macro into the macro folder and Type M1040 into the MDI command line. If you find you already have a macro M1040 or want to call it something else just rename it as M followed by a number eg M666
So long as it isn't used for something else it should work for you.

The results
John sent me some photo's that illustrated the improvement he experienced by setting up Backlash compensation on his Stepcraft machine. The Laser really shows the backlash and I can see how this will make using the laser much better in the future.

Before Compensation applied 

After Compensation applied

You can see the lines are now aligned correctly compared to the before shot where there is a definite comb effect

How noticeable the effect will be in normal machining I don't know but I envisage it may show improvement in VCarve and PhotoVcarve machining where a fine cutter is used.

Final Thoughts
I have been using my machine for many years without thinking about backlash and I hadn't really noticed an issue. If John hadn't sent me the Macro I wouldn't have givenbacklasha 2nd thought but I'm glad I did.
It makes sense if you have a dial, to spend a little time and check each axis to see how much backlash you have and if you have a problem. Even if the dial you have doesn't have the needed resolution it will still show a major problem on an axis and may also allow you to get most backlash under control. The advantage of a lower resolution dial is it is easier to get those readings looking really good.



For those who are not using Mach3 or UCCNC software and so cannot use the macro's provided, here is some Gcode that you can use instead. It will provide all of the required movements to allow you to measure the Backlash on your machine.

Use the comments in the Gcode file to know when to  

Backlash Gcode test file



  1. Thanks much for the macro. I've been chasing some Y axis chatter & dimensional issues and suspected some backlash - not much, but some.

    Your macro worked like a charm - took 0.0003" and now it's on the money.

    If you haven't already, I'd suggest posting a link in the UCCNC forum. Good forum and good people frequent it.

    Bonus - Any ideas on how to edit the macro for a rotary (A) axis? Setting up an indicator is no issue, but UCCNC macros in C# are a bit beyond me.


  3. Peter,
    I just wanted to tell you how much I appreciate your videos. I have learned so much from you and am thankful to have you as a resource. Keep up the good work. Thanks again, Joel King, Tennessee USA

    1. Thank you Joel, Glad to know it helps.

  4. Thank you for your very good and complete tutorials.

  5. hi CNCnutz,
    i came from your youtube videos and like you videos a lot. i have build a cnc machine with the openbuilds controller. can you show me how i can use or implant the backlash software you made?
    thank you an have a good 2021

    1. Hi Ben,
      You cannot use the macros for either MACH3 or UCCNC unless you are running those pieces of software. Please download the Backlash Gcode test files from the link provided on this page and use them. There are comments in the files telling you what to do. It is does the same as using the Macros.
      Cheers Peter

    2. Will the Mach3 macro work on Mach4?

    3. I don't know but if it doesn't the 3 Gcode files I recently added will work on every CNC Machine and uses the same process as the Mach3 & UCCNC Macros.
      Cheers Peter