Hi All!

I am new to this site but I have already learned a lot about CNC milling by looking around.
I am just starting off with CNC machining so apologies in advance if I use the wrong terminology if I talk total nonsense.

So here is my situation.
I bought a small Chinese CNC router. This one except that mine is 3020 not 3040 otherwise the same thing:
https://www.ebay.co.uk/itm/4Axis-304....c100009.m1982

I use it with a laptop and Mach 3 licensed v3.041
I generate the G-code in Fusion 360

I only machine out of various wood materials and only very small parts. No bigger than 50mmx50mmx10mm

The issue is, when I try to do any operation with multiple passes (when the machine does a new path around the part at a lower depth) every new pass will shift to the left around 0.5 mm or around that much. Each pass in itself is the correct size but they are all shifted to the left on the X axis so I end up with a stairs effect as I have 5-6 passes each shifting to the left.
What I don't understand is that the machine is accurate as the first pass is perfect size on each axis, and every other pass is perfectly accurate, but they are all shifted to the left.

Here is what I have done so far to investigate:
I have turned by part 90 degrees then generated a new G-CODE to see if its the code, but the same thing happened, each pass was shifted to the left on the X axis but in this case the shifting occurred from top of the object to its bottom due to the 90 degree rotation, but from a machine perspective it was on the same axis(X)

I have also run an axis calibration in Mach 3 on the Settings tab where I told Mach 3 to move on the X axis 100mm left and right then measured the actual travel of on the machine with a caliper and it perfectly accurate. i have done this a number of times and it was always the same distance traveled what I have set it Mach 3.

I have also tried to run some G-Code that is a 2d trace where the machine has to lift the tool on the X axis several times to travel to a new starting point in the Code which is similar to a new pass in a 3D pocket processing and the machined part turned out to be perfect.

I have also checked all the screws around the X axis on the machine, tightened them, oiled up parts where it was needed, and could not see and loose movement anywhere.

I swapped the USB cable to a new USB slot on the Laptop, which had no effect on the outcome.


Can somebody please help me as I have no idea what is going on. Why is my machine 100% accurate in some operations consistently and inaccurate in some others? It makes no sense to me at all.

Please see image attached.

Any help is much appreciated. Have a nice day!