What is the purpose of partial (<100%) backlash correction?

3D Printing Asked by neurozero on December 14, 2020

Marlin has an option to fade out the amount of backlash correction, given as BACKLASH_CORRECTION. It is also available in GCode as M425 [F<value>], where 0.0 = none and 1.0 = 100%.

Assuming backlash correction is otherwise well tuned at 100%, when is useful to reduce its effect? Why not always keep it at 100%?

One Answer

The developers explained the use of the M425 code themselves.

We devised a routine for measuring Z backlash automatically during G29 and found that software backlash compensation does wonders for the first layer. However, this comes at the expense of artifacts on the rest of the print. In particular, any rapid motions of the motor to try to take up any backlash will inevitably create a small pause and vibration, leading to a seam in the print. We devised a smoothing algorithm that allowed backlash correction to be gradually applied over a distance, this eliminated any harsh transitions, which again lead to a huge improvement. Alas, we learned that the feature was very sensitive to the variances in the printer build, working amazingly well in some cases, but leading to a degraded quality other printers. This perhaps is a feature that could be used by someone who wished to hand tune the algorithm, but not something we could use in a mass produced printer.


"M425 F" sets a value from 0 to 1 which is multiplied by the backlash distance. This command is meant for use by the slicer, and allows it to "fade" away the backlash compensation gradually over several layers, or to turn it off completely after the first layer (with a "M425 F0").

Correct answer by FarO on December 14, 2020

Add your own answers!

Ask a Question

Get help from others!

© 2024 All rights reserved. Sites we Love: PCI Database, UKBizDB, Menu Kuliner, Sharing RPP