# CoreXY Calibration Issue

I have a Tronxy X5S and I am having issues calibrating my X and Y axis. When I print a 20 mm3 cube it comes out 19.9 mm x 20.4 mm x 20 mm. I have already made the belt tensions as even as I can get them but it did not change the calibration cube size.

I have added this upgrade to my printer for the idlers and motor mounts:

I have also upgraded the hotend to a V6 clone, after this change is when I noticed the discrepancy in the calibration print.

What else can cause the X and Y axis to be uneven in a CoreXY printer besides uneven tension in the belts?

UPDATE:

Its seems Oscar was correct in his assessment that my printer is not printing square. I printed this calibration square to measure the diagonals and I got: $$\overline{AC} = 141.82$$, $$\overline{BD} = 141.35$$. I believe the correct value for these diagonals should be $$\sqrt{2} \times 100 \approx 141.42$$.

Oscar also mentioned that I can adjust my firmware to correct this but I would rather fix the problem than apply a band-aid. Does this indicate that I did not assemble the printer frame correctly?

• To be honest, the values are not too bad, it could be that the cube itself is not perfectly square. Just apply the values in the firmware and you're good to go. Also please read "How do I calibrate the extruder of my printer?" – 0scar Sep 28 '18 at 9:59

Indeed, even belt tension is important, what helped me enormously to set the same tension in the belts on my self build CoreXY is a tool like this:

Furthermore, be sure that you do not have any binding on the Y carriages over the whole range. This causes inaccurate printing, e.g. outer walls not adhering to the inner walls (as I encountered myself in the beginning when tuning the printer), and thus inaccurate dimensions.

Also make sure that the print is not skew, i.e. are you sure that the printer prints squares? This can be easily checked by printing a large square and measure the diagonals; I used this as it will also help you find the center of the bed and the level of the bed all at once:

but many calibration prints can be found on the internet, e.g. this one but this requires way more filament to print). Schematically this results in something like depicted below:

If it is not square, you can adjust this by using a different firmware like e.g. Marlin Firmware which has options for skewness compensation that can be addressed in the Marlin Configuration.h file. A "cube" that is printed by stacking parallelograms also shows different dimensions is X and Y (one being smaller, the other being larger).

Edit
You mention that you changed the hotend; it is recommended to calibrate the extruder after changing. Note that a few tenths of a mm are very common, usually X and Y should be in the range of 20.1 mm ± 0.1 mm for such a calibration cube.

Oscar's answer is the correct solution to this issue. My printer was printing skewed and there is a built in correction for this in Marlin. Unfortunately the X5S does not have a boot loader and I don't have an ISP programmer (yet), so I am unable to re-flash my board at the moment.

In the mean time I created a software fix for this issue. I used a script to add a Affine Shear Transformation to the stl file. This adds a reverse skew to the model so the print comes out (closer to) square. Basically read all the points from the triangle mesh (STL file), apply XY shear transformation preserving Z, re-save the STL.

• Nice solution to circumvent not being able to get to the firmware! +1 for this innovative solution! – 0scar Sep 30 '18 at 21:32
• aye, very creative! – Mtl Dev Jan 23 '20 at 4:53