Steps per unit calibration

I was doing some maintenance over the last few days and came across a situation I’m not sure how to sort out.

Background info.

In mach 4 my motors steps per unit are set differently from the X axis and Y axis motors. X axis is set to 2040 steps per unit and the Y’s are set to 2038 per unit. i would have expected them to be the same as they are the same motors and gear ratios.

now heres where it gets tricky. if i cut a small file. say a square that’s 1.25" square. i would manually measure this at 1.217, so a little undersized. it would be the same for both x and y axis.

Using a calculator i can figure out what my distance it was supposed to move (1.25") and what my actual distance was (1.217) divide those two and multiply that by my current steps per unit for y (2038) giving me 2,093.2621 steps per unit. this should be the value i input for y’s steps per unit. then doing the same again subing in my values for X then run my test cut again. my cut will be perfect. within .001. perfect.

but when i run a larger file, say 7" square. my cuts are off again, in this case 0.030 off. so doing the same steps as above i can calculate a new steps per unit value for X and Y and try again. you guessed its. the cut at the larger size will be spot on. but now my smaller cut will be out to lunch.

I can’t find a way to get my machine to cut accurately on both large cuts and small. if i setup a tape measure and move the machine an inch, then 96 inches to the end. by the time it gets down there i have a error of over .5 inches. if i correct the steps for the far distance, the short will be out to lunch.

some weird things in my mach4…
When adjusting the steps per unit and clicking apply. when i leave the configuration screen my steppers will jutter and the measurement value seen on the mach 4 screen will change a random amount. sometimes its only a few thou other times its 10’s of thou. from what i have been reading and one video i found of someone adjust steps per unit in mach 4 on an avid cnc the machine should not move after making a change in the configuration. so im not sure if because my machine is moving while exiting configuration im compounding the error and chasing my tail.

With that i don’t know how to fix it or where to start.

I dont think this is a tramming error as i can get perfect results at times.

Appreciate some adivce. i have reached out to the guys at avid for this as it seems like a unique situation.

Sounds like when I try to calibrate my 3D printer :wink:

I think for this type of calibration you need to ignore (or discount) the size and shape of the features you’re milling, and look only at their location. So plan an array of small square holes, say every 10", and measure from a point on one hole to the same point on other holes (i.e. measure right side to right side, or Y+ side to Y+ side). This will remove any affects from bit size, warping due to cut pressure, and backlash. Anyway, the measurement across the farthest apart features is likely to be the most accurate for setting steps per unit. In my case, everything looked fine until I measured across 100 inches and was off by 0.25; the smaller movements were too close to be seen as “wrong”

You can even just mount a pointer in your spindle and run it along a tape measure.

(for those of you doing the math yourself, if you have a pro setup, note that the gear/rack is NOT 4mm pitch, despite looking like it. It’s PI/20 inch pitch, which is 3.9898mm)

Hey thanks for the response.

I did use a v bit method with a .25mm point. And then ran that along a tape measure the whole length of the machine to get a rough accuracy measurment.
I know the accuracy of the measurement is only as good as my eyes and being off is a very real thing. But it’s easy to see if you off by .5 inches like I am.

So once I knew that and I did a few step calculations I was able to get the vbit to line up at the 96" mark as well as the 1" mark as perfect as I can see with my own eyes.

After that I started running test patterns on smaller movements. 4 inch square (cuts 3.966). 7 in square (cuts 6.969) 1.25 inch square (cuts 1.217) and noticed they were way off in both directions. However the larger the square the more accurate. So it seems i can either hit a target at a far distance or a close distance but never both by recalculating the steps per unit dependant on how much traveling is required.

I messaged the guys at avid to see what they thought. They were thinking my spindle gears were worn out. So I sent in some images but they now think they are ok. Wearing but not worn out. I am a bit surprised at the wear on them since I’ve only had the machine a year. 180 usd to replace yearly

We also noted my steps per unit were different for both x and y when those should be the same. The mathematical value should be 2037.18 but actual value is more in the real world. The z axis should be different since it’s a ball screw but the other axis should match.

So I have a couple things to try. One will be to delete mach 4 and reinstall. I had done a bunch of calibrating to compensate for backlash but getting this sorted is more important.
The second is to keep trying to adjust my steps per unit until I find a happy medium.
The third is to pull off all my stepper motors and carriges to check those carriage bolts they pivot on. Apparently they can become cantered resulting in steps being off.
Which could be the case since I have wear of the drive gears.

I would be curious if someone would send me the steps per unit they have on their mach 4 for x and y.

I will try cutting a series of 6 inch points along the table and measure to see how the error grows. I suppose then I could take each measurement from point to point and add them all up. Divide by the total and get an average error. Then use that to recalculate the steps per unit and see if that helps.


the As long as you trammed the best of your ability and you are positive it’s not a tramming issue then First thing I would do is Swap the X Y motors and see what happens in your testing. Then recheck your steps. I would just swap the wiring at the drivers at first, then see what happens and if the results match in your head what you think is going on. If the same thing is happening or the opposite. Next if that doesn’t miraculously just fix it(I have seen stranger fixes) I would physically swap motors. This might allow you to see something that could be causing it structurally. The tram and test again. Over the years I have had and seen so many issues and simple things like swapping drivers and motor locations either solved it or at least helped me figure the issue out.

If you have an extra driver for a 4th axis as many do use that driver in the place of the driver that in your swap test seems might be the culprit. Same if you have an extra motor.

Another idea use a totally different computer and start from scratch with steps set up and testing.

I am lucky I could also just swap in a new spindle, motor or any part, it’s a lot tougher without the access to all new parts.

I assume your 220 V and 120 volt power is rock solid, I once simply replaced a power cord and it solved a small steps issue. I know it make no sense and tTo this day I have no idea why it worked. Make sure all the wiring to the motors and drivers are fully seated.

My gut is telling me this is not electrical though, I am thinking something is loose or some flex somewhere that comes and goes.

Errors like this can be so many different things it can drive us crazy, especially when it looks like a pattern then of of a sudden you find there is no pattern to the error, which makes it even harder to find the culprit. I am betting one day all of a sudden you figure it out. So my last suggestion, walk away from it for awhile. It is so tough to assist when not right there with you.

I have 4076 for Y, and 4082 for X. Mine are twice yours because I increased by microstepping by 2x (because I was doing an experiment a long time ago and didn’t change them back).

If you go through a calibration of each axis you will likely find each motor needs a slightly different number of steps per unit, most likely becaues there is a slight variation in the engagment depth of the rack and pinion and that can change your ratios ever so slightly. Technically your two Y motors could have different values too.

That reminds me, I should revisit my X calibration since I recently changed out my rack and pinion gear.

BTW, I have noticed the motor clunk you are talking about sometimes in mach when you make config changes (especially with motor settings) and then come out of it and re-enable the system. I haven’t noticed any problem with that, but I would re-home after that happens.

It shouldn’t work that way, because it’s the number of teeth per inch on the rack that sets the “steps per unit”. Regardless of the depthing, one rotation of the pinion moves you 20 teeth along the rack.

On mine, all three R&P motors have exactly the same steps per unit[*], based on the math, and the motion works out. I checked mine by moving from Y=2" to Y=102". Any deviation at small scale is not going to be due to the steps setting so check it with the largest motion your bed allows.

Trust the math.

[*] 1000 steps/rot * (64/20) / (pi inches/rot) = 1018.59 steps/in. For 4000 uS/r, that’s 4074.366 steps/in; for 2000 uS/r, it’s 2037.183

I’ll buy that. And the toothed pullies are theoretically locked in their ratios by tooth count. But where does the variation come from? I had a consistent error in one axis vs the other (used the same tools to measure each axis), and could fix it with tweaks to the steps per inch setting.

The only thing I can think of would be the accuracy of the rack maching itself, unless my electronics are under or over stepping by the same number of steps per inch (but that seems unlikely).

hey everyone. so i have made a change to my x step count. default was 2038 steps for both x and y. i reinstalled mach with the latest version. i changed my x to 2036.80. it made my distance traveled from 0" to 60" bang on, but when i cut a test pattern that was 1.25 square my error grew from 0.032 to .040. so its a weird issue, i can adjust my steps per unit to either allow me to go short distances and be bang on or long ones, i can’t have both and be accurate. if i run a tape measure the length of my machine and job the machine 2" to anywhere in-between, on the tape it looks good. but when it comes to actually cutting a small detail and measuring it afterwards. i have the same amount of error 1.25 square will be 1.217. i can run that pattern 10 times, it’ll always be the same.
now i can recalculate my steps per unit for the 1.25 square. and input that. cut the pattern again and it’ll be bang on. within .001. but jog the machine around and my error over the whole machine will be insane. upwards of .5"

i never tired rehoming after making a change in mach4. i unusually just click to re-zero each axis when that clunk is heard. i never rehomed the machine. maybe i should try that. This is my error on the X axis pre step per unit adjustment.

in my case, i can get my machine to be bang on going from y2 to y96. just like you can. but if i go and cut something small. say a 1.25 inch square to test accuracy, measure it with a caliper. i have a big error.
so if i calculate a new steps per unit for the small square 1.25 / 1.217 = 1.02711 * 2038= 2,093.2621 (new steps per unit) run the 1.25 inch square again. the cut will be bang on. .001 within. but if i run y2 to y96 again. my error by the time it gets down there will be massive.
So its like i can have accuracy in a small tight area or large, just not both.

You could be loosing steps during acceleration or deceleration. You might lower your acceleration settings and see if anything changes. Also, try the tape measure trick, but going from 1 to 96 in several short moves instead of on long move. If this is where the error is it may show up as a multiple of the original error.

The difference between your value and the value I calculated (2037.1833) amounts to a 0.011" difference over 60 inches. You might as well admit that the math is right and use that value :wink:

Now that you have the steps set correctly, errors at the small scale will be something else.

Who’s to say that tape measures dead on!! :grin:


So I have NEMA 34 motors and only traveling at 50 inches per minute. Acceleration is also at 25. Roughly half of the default. I would be really sad if I was losing steps at those speeds.

I have done multiple stops and starts at different lengths to see if the error grows or shrinks. I’ll attached a few others for reference

Someone said it already, but it’s the tape.

Please try some checks again with something more reliable like a nice framing square.

Also, I’d bet on some XY squareness issues. Check these carefully by sweeping a dial indicator along one blade of a square and then the other. I’m betting that a combo of these issues is causing your problems.

hey, did you ever resolve this issue? I have two 4896 pro’s running dead on accurate, one from 2019 and the other from 2021. On the newer one I extended to 10 ft and the only setting I changed was the soft limit extended to 124 inch. Yesterday I cut a large piece of monkey pod 38" x 123" customer comes to see the 38" is spot on and the 123 is actually 122.375. So I load up a vbit dialed it right over one edge and went to end of the slab and it read 124.00. So the machine is off by .675 in 10’. So I was digging into it and found this thread. Any ideas for a fix?


.sorry for the late reply, I’m not on here much anymore.

After discussing the issue with avid support, rebuilding the machine, and replacing the drive spindles. I could not get any better accuracy. It seems Abbe error may be a culprit which is essentially a bowed gantry rail that leads to one or more axis having a scaling error. This is just a side effect of aluminum or other metals that are not precision ground. There’s always error in the straightness of the material.

After trying to solve the issue over multiple attempts and continued premature wear on the rack and pinions I decided to sell my machine and go with another brand. I had noticed majority of posts were about users adding ATC versions spindles, so in my search I found a few machines worth a tiny bit more money but had helical rack and pinions, servo motors, ATC and all steel construction. With a little negotiation I even got vacuum pumps.

So by no means is this supposed to be negative towards avid. But it was taking to much of my time trying to get things sorted to where I thought it should be for the cost.

Something for folks to think about when calibrating a machine: It’s only as good as the tool you use.

A framing square might be a good route, but any amount you’re off gets exaggerated the bigger your part is from the square.

Using a tape measure is fine for checking machine square because even if the tape is inaccurate if you’re pulling diagonals all you need is the same reading across each diagional.

If you’re calibrating length you might want to consider this:

There are actually different “classes” of tape measures. The ones I’m sure all of us have are class 2 or worse.

Class ones like a Tajima:

Or a Starret: Starrett Tape Measure – 35 Ft - Certified – Atema are likely more accurate.

All that being said: Our machines are setup and tuned to our rack drives, gearing and steps so you shouldn’t have to do this unless there is something odd going on.