Hello guys, newbie here.

Not really sure where to post this. Is there a Mach4 Sub-Forum? Maybe G-Code forum? Feel free to move if necessary.

I built the R-CNC from makerfr.com, using a PMDX-416 and Mach4 as a controller.
CAD and CAM are done in Fusion 360 with the mach4 post-processor.

Setting it up, I've noticed that the machine is not accurate. "Well, adjust the steps-per-unit, duh!"
Been there, done that. Multiple times. With multiple different measuring methods. 30+ year old Mitutoyo 10mm 0.01mm resolution indicator and a long ruler. Interestingly they differ quite a lot.
Calculated the steps-per-unit (SPU) with the built-in wizard in mach4 using the mitutoyo. That resulted a movement of 390mm when told to move 400mm, reading on the long ruler. Its a cheap basic ruler but it can't be off by 10mm over 400mm, can it?!
So I used the ruler to re-calculate it as I trust a long distance more than the 10mm of the mitutoyo and it looks to be ok when running manual code:

I wrote a little piece of test code, using a 4mm endmill, I plunged about 0.2mm into a piece of wood before running the code.
G00 x24
G00 y24
G00 x0
G00 y0

The result was a perfect rectangle, measuring 20x20mm with my calipers and above mentioned ruler.

Now comes the fun part.

I created a small 15x15mm square pocket and a 15mm diameter hole in Fusion, 3mm deep.
Used a 2D Pocket to generate the toolpath with my 4mm Endmill, all well and good in the simulation.

Ran the code on the machine and measured the diameters.

Both the square and the hole were 13mm in diameter. WTF

I checked everything. Tooldiameter in Fusion is correct, even in the G-Code there's a line finishing the rectangle:
G1 X35.998
Y-46.438
X46.998
Y-35.438
X37.619

I'm no expert but seeing y-46.438 and y-35.438 looks suspiciously like a 15mm distance routed with a 4mm endmill. (11mm distance + 2mm on each side of the endmill)
So there must be a problem with mach4, right? But then again, the dimensions are fine with the handwritten code.

I'm slowly going insane.

Beginning of the G-Code looks like so:
(ACCURACY-TEST)
(T2 D=4. CR=0. - ZMIN=-3. - SCHAFTFRSER)
G90 G94 G91.1 G40 G49 G17
G21

(2D POCKET3)
M5
T2 M6
(4MM ALUFRSER 12MM)
S10000 M3
G54
G0 X61.651 Y-42.757
G43 Z15. H0
Z5.
G1 Z2.898 F500.
X61.677 Y-42.764 Z2.754 F333.
X61.753 Y-42.784 Z2.628
X61.868 Y-42.808 Z2.54
X62.009 Y-42.828 Z2.5

Just noticed it uses G54 while I'm using G55. Or do I? Offsets have not been an issue. idk.


Any hints would be greatly appreciated.

cheers