Fixing Z-axis slop using software

We just purchased a Maslow CNC for the college that I work at. We have put everything together and it seems to be mostly working fine. We purchased a Maximum brand router from Canadian Tire and it seems to fit well, but there is about 6mm of movement (control motor rotation) before the gears reengage when we switch the Z axis direction. Looking closer at the router, the mechanism is a worm gear to rack-and-pinion design. Most of the slop is caused by a gap between the worm gear and the pinion gear.

One thing I have noticed, is that the slop and lag in engagement is quite consistently 6mm. I’m wondering if there is a way to alter the software to compensate for this 6mm every time the Z-axis motor switches directions. Something along the lines of:

if(motor switches directions)
plunge distance =+ 6mm

I’ve taken a quick look at the arduino code, but there seems to be a lot of it. I’m also not sure if it would be better to do this in the arduino code or the python code for Ground Control.

Has anyone tried this or have any suggestions?



the best fix for this slop is a bungee across the top of the router so that
there is always downforce (and the slop doesn’t matter)

you have to be careful, if the bungee is too strong, the adjuster can pop out of
it’s slot on the router, causing the router to plunge all the way down.

David Lang

I’ve got the same router to install soon. Very interested in what you decide to do.


It’s called backlash compensation. Some machine controllers will compensate for it, and quite likely some CAM software. It’s how you compensate for your clapped out Bridgeport’s worn out mechanism and stretch out the time before an expensive rebuild or trip to the scrap melting furnace.

Fortunately, while bungee cords won’t help that BilgePort, they are a better fix for a Maslow

they are using this router with a metal rack and pinion, not the Ridgid R2200

at 12 lbs pretty heavy, but should work.

Others here have made it work. There was a student in the Prairies who posted about fixing it by jamming something in to increase the tension I think. Will see if I can find the post…