When pushing the limits of the bed size (235x235 mm) for two Creality Ender 3 V2 printers running the same mriscoc firmware and the same config and upgrades. I noticed that despite using the same G-code for these two fairly identical printers resulted in offsets that was not accounted for.
I sliced and printed a test model 175mm_bed_center_calibration_crosshair.stl from Thingiverse.com and when slicing in Cura it is perfectly centered as shown below:
However when printed on each printer and measured, the position in mm for both printers (namely Owl and Fox) are off as shown below:
I would like to setup the printers fairly similar, I only print from OctoPi over USB to these printers, one Pi for each printer, so that I can slice once and use the same G-code on both printers. How do I calibrate this without recompiling the firmware? Can I setup a start or end G-code in OctoPi per printer to set a proper center offset? And moreover, why does this happen for identical printers? Shouldn't the tolerance be much smaller than 3 mm difference horizontally and 2 mm vertically (shown from above)?
Additional measurements
For reference, based on request in the comments some measurements of the end stops relative to the frame of the XY-axes of both printers.
Measurement of the Z-axes are irrelevant for this purpose.
I also measured the size between the bed and the frame as shown below and it's precisely 7mm on each side of the bed on both printers.
I think these are the only measurements that make sense, but correct me if you have other suggestions for measuring it.
Also, the only offset that is reported after running the M503 G-code in G-cod M851 it not relevant for centering, the Z-offset. For Fox M851 X-41.50 Y-7.00 Z-1.13 ; (mm)
and for Owl M851 X-41.50 Y-7.00 Z-1.06 ; (mm)
.