Layer Shift with a new CoreXY printer I've started assembling a Sapphire Plus CoreXY printer and produced a nice calibration cube (no layer shift, although a bit of over extrusion in the corner). Then, I started printing a 3D benchy, and got this:


I've checked belt tension and it seems correct (I've printed this belt gauge with another printer and checked that both belts are tensionned the same), with a bass sound when pluked.
I've checked both Z-axis lead screw and it's not 100% perfect (one lead screw has a 1mm deviation on one side when rolled over my desk). When the bed goes down, the effect of the lead screw is only visible when the bed is half the height or more, so it shouldn't matter here.
Also, I had multiple filament breaking before entering the extruder in other prints, so I'm not 100% confident with the extruder.
The machine is a Core XY printer with a Bowden extruder, with linear rails for all axis, and 2 lead screws for Z axis (and 2 stepper motors attached by the same belt). It's level, on a concrete base.
Shifts in a diagonal direction in CoreXY indicate loss of synch between the two belts.
If it's the belt very loose skipping, you may not hear much but such a loose belt is easy to notice.
If it's the belt a bit loose skipping, you would hear relatively loud noises which make very clear what's happening.
If there are no particular noises, it's the motor skipping steps. One motor move along the X+Y diagonal, one along the X-Y diagonal, so you know which one it is.
If you have missed steps it could be because of excessive friction (maybe one motor is mounted tilted, or it is damaged), or because of excessive acceleration setting, which the motor cannot handle, or because of too low current.
If you decide to increase the current be aware that it may work on simple tests, but during longer prints the stepper driver may overheat and lose steps for self protection.
To check what acceleration and/or current you actually need per each motor and to compare whether motors are significantly different from each other, try this.
Without printing, you set the maximum acceleration relatively high (5000 mm/s^2).
Place a paper square (relatively big) on the printing area, parallel to the axes and tape it.
Align the printing head to one corner of the paper square.
Give a G0 command to move the printing head to the opposite corner of the square (G0 F600 X... Y...) and check that the alignment is correct. Also, only one motor should be moving.
Bring back the head to the opposite corner.
Set the feed rate to high values, like F9000 (150 mm/s) and move the head again. If it reaches the correct spot, the current of the motor is sufficient for that acceleration.
Try for the other diagonal of the square you taped to test the other motor.
You can now reduce the current of the motors which successfully passed the test. If you have Klipper it's super easy and requires only the command &quot;SET_TMC_CURRENT STEPPER=name CURRENT=amps&quot;, with Marlin I don't know.
See at what current each stepper fails the test, then decide whether to reduce the acceleration (5000 mm/s^2 is anyway probably too high for your printer frame, you would get artifacts like ringing) or to dial back up the current. I would say that 20% above the current required to pass the test is enough. More than that and you are just overheating the TMC2008.