1mm off in X and Y

Hello everyone!

I would like to ask you if you could help me with wrong size after cutting. I spent whole weekend trying to figure out what’s going on there and I’ve decided to look into internet and ask here also.
My problem is that machine is always 1mm missing both in X and Y direction when cutting. With the same adjustments on cnc controller (estlcam) and with the same miling bit (3mm diameter) I did several tests:

  • cnc program for 50 x 50mm square result was 49x49mm
  • cnc program for 100 x100mm square result was 99x99 mm

Microstepping X/Y/Z are 1600/1600/800. Distance per revolution are 59,94mm/59,88mm/8mm. In jog mode when I put “X100” the machine is going exactly 100,00mm in straight line, when I put go “X1200” the result is 1200,00mm. In Y axis is the same, not matter if travel is small like 100mm or long like 1200mm, so everything seems to be allright with “distance per revolution” and microstepping.

When the machine is executing some .NC program, altought it’s written correctly, the results are always 1mm to small on X and Y. It’s not up to resulution of the steps (distance per revolution), because in jog mode everything is fine

I’ve just found few posts on some forums in the internet like “My CNC is always cut 1mm to much in xy”, but unfortunately there is no any solution or just a comment how someone who had asked figured out finally what was going on…
I’ve taken note of that those question were up to big size OX (like 1000 or 1500mm size) and double belt solution… so maybe this is a key: not really smooth movement because of “tight” assembly of Xtreme Solid Wheels on double belt + decceleration before corner when .nc program executing + 85% of intertia for X and Y motor = reason of lost dimension(losts steps). When trying to measure travels in jog mode “X100” means go straight 100mm - so there is no corner, so different decceleration way and value… Maybe. I don’t know. It’s just my idea right now.

Have anybody heard about this problem and solution? Thanks in advance!!

My machine is built with

  • 1500mm*1500mm v-slot profiles,
  • double belt (GT2-3m timming belt, pitch 3mm, 6mm width) & ACME rod 8mm pitch
  • Nema23 178.5oz/inch on each axis + 20 teeth pulleys
  • V-solid wheels
  • Arduino Uno R3 (original one, not a clone) + 4*TB6600 set to 1/8
  • all wires with shielding:
  • from Arduino to TB6600 (step and dir) grounded on TB’s GND pin
  • from nema23 to TB6600 (A+,A-,B+,B-) grounded on TB’s GND

You dont mention your program/CAM.

For instance, Fusion360 CAM may “hold back” 0.5mm of material intended to be done using a finishing pass. Various CAM solutions will have different terminology for this.

In F360 its defined as “Stock to leave” and by default is set to 0.5mm.

gcode was prepared with ESTLCAM and different ones to give a try, also written manually in notepad. Everytime this problem occured. It’s not up to tool diameter correction… i’m sure because I had one important thing to cut during the weekend which was 320 x 80 mm. When I was preparing .nc file, in the section of tools parameters I put value of diameter 4mm, but I mounted 3mm bit to the spindle. Finally I achieved more or less like 320 x 80mm, but I had cheated my machine by telling that bit diameter is different.

In my opinion it can be related with overtensioning of eccentric nuts on xtreme solid wheels + double belt system.

Appreciate any suggestion

If gode is good and diameter of bit is true then any deviation from this will be due to mechanical factors like backlash, flex and belt tension/stretch.

I’ve got an idea that the root might be related with overtensioning of something that causes not smooth movement of gantry (Y axis with two motors) and carriage (X axis, one motor).
If the eccentric nuts are to tight and the machine during program execution by estlcam is slowing down according to “decceleration distance” in settings AND percentage value of inertia (I put 85% which was nominative) which is also a value responsable for slowing down machine before make a turn THEN it can make together that machine will turn a little bit before programmed distance.

Maybe that 1mm missing in every cut is a result of described above resistance of mechanism + decceleration and the value (1mm) it’s just a coincidence.

I will try to check it later today, but If someone is reading it and knows the reason or had fight with similiar issue I will apreciate any suggestion


Was the 320 x 80 mm interior or exterior of the cut?

Are you setting your cut ‘on the line’ rather than outside the line for a square piece or inside the line for a square hole of your given dimensions?

The diameter of the bit doesn’t always equate to the width of it’s cut. For example, if you’re using what’s referred to as a 1/8"(.125) bit, it may only cut .122. Always test your bits by cutting a straight line and measuring with a gauge, then specify that exact value as the bit diameter in your software.

1 Like

320 x 80 was exterior and the bit was outside of the cutting line. All settings were done properly. I used 3mm bit (not 1/8" which is 3.175mm) and the gauge was 3,00mm

Yesterday I dismounted gantry and saw that bottom belt of my dual-belt system wasn’t well attached to the v-slot rail, despite the fact that I had used 3M tape… It could be the reason of higher resistance in the movement.
Later on today I will set up the machine once again and we will see. I will let you know