<p>For a CoreXY printer to move an axis (X or Y) it requires both stepper motors to turn. If both turn the same direction (at the same speed with the same pulleys), the X-axis will move, if they rotate both in a different direction (at the same speed with the same pulleys) the Y axis will move (see image of CoreXY kinematics below). Rotation of a single stepper would cause a 45&deg; printing pattern.</p>

<p><a href="https://i.sstatic.net/hTsr9.png" rel="nofollow noreferrer" title="CoreXY kinematics"><img src="https://i.sstatic.net/hTsr9.png" alt="CoreXY kinematics" title="CoreXY kinematics"></a></p>

<p><em>All four corner points (two top pulleys and two bottom steppers) are fixed to the CoreXY frame</em></p>

<p>It is therefore highly illogical that you need to use different values for your steps per mm (<code>X = 475.79</code> steps/mm, <code>Y = 482.87</code> steps/mm). If you need to use such values, this implies that your mechanical layout/mechanics is/are incorrect (skew frame, different pulley diameters, slip on pulley, incorrect tension of belts, etc.). It is advised to make them equal and check the mechanical layout and inspect all parts (pulley diameters) and make the tension equal (e.g. using a <a href="https://www.thingiverse.com/thing:2589577" rel="nofollow noreferrer">Belt Tension Gauge</a>). If the head still moves in the perpendicular direction as commanded, you could try to calibrate from there.</p>

CC BY-SA 4.0
2019-10-29T00:34:16.717Z
ok I assert that it is possible that there are variances in the tolerance of the motors, pulleys and belts. The drift in the values was my attempt to compensate for those variances. Would that be something that I compensate for in hardware or firmware?
user77232
CC BY-SA 4.0
2019-10-29T13:17:02.070Z
@user77232 I doubt that the manufacturing tolerances of steppers, pulleys and belts would make that much of an impact. My CoreXY is running with equal X and Y steps per mm and produces square products.
0scar
CC BY-SA 4.0
2019-10-29T13:42:00.387Z
Ok, so I need an actual answer: Do I reset the steps/mm in the firmware and try invest in sorting out the hardware or do I mess with marlin to get it to straighten out?
user77232
CC BY-SA 4.0
2019-10-29T14:09:09.503Z
@user77232 set them to be equal first, then calibrate.
Trish
CC BY-SA 4.0
2019-10-29T15:41:25.637Z
@user77232 Try getting the tension in the belts to the same using a tension gauge, I've updated my answer. This gauge helped me too.
0scar
CC BY-SA 4.0
2019-10-29T20:19:53.433Z
I'd go so far as to say tuning steps_per_mm does not make sense at all; it should be computed from the mechanical specs of the parts, which in turn should involve clean whole number ratios with things like nozzle size/line width. Whenever I played with trying to solve problems by tuning them, rather than mechanically, I ended up with nasty aliasing patterns in skin surfaces because the tuned values did not evenly divide.
R.. GitHub STOP HELPING ICE
CC BY-SA 4.0
2019-10-30T15:17:38.130Z
So how does one do a calibration cube with a CoreXY printer, where you get different values on the micrometer for X and Y ?!?!?!
user77232
CC BY-SA 4.0
2019-10-30T16:05:24.530Z
@user77232 Why not ask that as a separate question? Note that I would not be worried from micrometer differences (thousands of a mm). Note that R. has a point, but it is impossible to measure everything correctly.
0scar
CC BY-SA 4.0
2019-10-28T13:15:49.113Z
2019-10-29T15:39:03.433Z
2019-10-29T15:39:03.433Z
0scar
<p>I have a custom designed and built CoreXY printer. I have noticed that when I order the X to move from one side to the other (right to left) that the Y axis moves back about 0.6&nbsp;mm as well. When I move the X back (from left to right) the Y also moves forward approximately the same amount. </p>

<p>What property of the CoreXY system could be causing this? Note, I am using 608 bearings instead of toothed idler pulleys; which I hope to rectify soon.</p>

<p>Steps per mm from the Marlin configuration.h:</p>

<pre><code>DEFAULT_AXIS_STEPS_PER_UNIT   { 475.79, 482.87, 468.66, 188.1 }
</code></pre>

<p>Note, they are not the same for X and Y. This is because I am trying to run a calibration cube test on the machine.</p>

CC BY-SA 4.0
2019-10-25T21:26:28.290Z
that sounds like either a firmware or a hardware problem...
Trish
CC BY-SA 4.0
2019-10-25T22:50:40.867Z
Is the motor turning causing the movement? Or is this a measurement you've taken for the y-axis travel?
Pᴀᴜʟsᴛᴇʀ2
CC BY-SA 4.0
2019-10-26T12:03:22.173Z
@Paulster2, This is a measurement I've taken for the y-xis travel;
user77232
CC BY-SA 4.0
2019-10-26T12:03:25.307Z
@Trish, So you're saying that it could be the firmware is commanding the incorrect movement? How on earth do I test that.
user77232
CC BY-SA 4.0
2019-10-26T12:12:56.743Z
Are the steps per mm for X and Y set to the same value?
Tom van der Zanden
CC BY-SA 4.0
2019-10-26T12:24:19.673Z
@user77232 it could be a pinning error (as in the firmware pins are messed up) or steps/mm (which is in the firmware). try to check hardware first.
Trish
<diy-3d-printer><corexy>
CoreXY Carriage moves on the Y when moving the X
user77232
# CoreXY Carriage moves on the Y when moving the X

(Asked by: username_0 on 2019-10-25)

I have a custom designed and built CoreXY printer. I have noticed that when I order the X to move from one side to the other (right to left) that the Y axis moves back about 0.6 mm as well. When I move the X back (from left to right) the Y also moves forward approximately the same amount.

What property of the CoreXY system could be causing this? Note, I am using 608 bearings instead of toothed idler pulleys; which I hope to rectify soon.

Steps per mm from the Marlin configuration.h:

```
DEFAULT_AXIS_STEPS_PER_UNIT   { 475.79, 482.87, 468.66, 188.1 }

```

Note, they are not the same for X and Y. This is because I am trying to run a calibration cube test on the machine.

**Tags:** diy-3d-printer, corexy

> **Comments:**
> **username_1**: that sounds like either a firmware or a hardware problem...  
> **username_2**: Is the motor turning causing the movement? Or is this a measurement you've taken for the y-axis travel?  
> **username_0**: @Paulster2, This is a measurement I've taken for the y-xis travel;  
> **username_0**: @username_1, So you're saying that it could be the firmware is commanding the incorrect movement? How on earth do I test that.  
> **username_3**: Are the steps per mm for X and Y set to the same value?  
> **username_1**: @username_0 it could be a pinning error (as in the firmware pins are messed up) or steps/mm (which is in the firmware). try to check hardware first.  

---

## 1 answers

### Answer by username_4 on 2019-10-28. Score: 4 | Accepted answer

For a CoreXY printer to move an axis (X or Y) it requires both stepper motors to turn. If both turn the same direction (at the same speed with the same pulleys), the X-axis will move, if they rotate both in a different direction (at the same speed with the same pulleys) the Y axis will move (see image of CoreXY kinematics below). Rotation of a single stepper would cause a 45° printing pattern.

[![CoreXY kinematics](https://i.sstatic.net/hTsr9.png "CoreXY kinematics")](https://i.sstatic.net/hTsr9.png "CoreXY kinematics")

*All four corner points (two top pulleys and two bottom steppers) are fixed to the CoreXY frame*

It is therefore highly illogical that you need to use different values for your steps per mm (`X = 475.79` steps/mm, `Y = 482.87` steps/mm). If you need to use such values, this implies that your mechanical layout/mechanics is/are incorrect (skew frame, different pulley diameters, slip on pulley, incorrect tension of belts, etc.). It is advised to make them equal and check the mechanical layout and inspect all parts (pulley diameters) and make the tension equal (e.g. using a [Belt Tension Gauge](https://www.thingiverse.com/thing:2589577)). If the head still moves in the perpendicular direction as commanded, you could try to calibrate from there.

> **Comments:**
> **username_0**: ok I assert that it is possible that there are variances in the tolerance of the motors, pulleys and belts. The drift in the values was my attempt to compensate for those variances. Would that be something that I compensate for in hardware or firmware?  
> **username_4**: @username_0 I doubt that the manufacturing tolerances of steppers, pulleys and belts would make that much of an impact. My CoreXY is running with equal X and Y steps per mm and produces square products.  
> **username_0**: Ok, so I need an actual answer: Do I reset the steps/mm in the firmware and try invest in sorting out the hardware or do I mess with marlin to get it to straighten out?  
> **username_1**: @username_0 set them to be equal first, then calibrate.  
> **username_4**: @username_0 Try getting the tension in the belts to the same using a tension gauge, I've updated my answer. This gauge helped me too.  
> **username_5**: I'd go so far as to say tuning steps_per_mm does not make sense at all; it should be computed from the mechanical specs of the parts, which in turn should involve clean whole number ratios with things like nozzle size/line width. Whenever I played with trying to solve problems by tuning them, rather than mechanically, I ended up with nasty aliasing patterns in skin surfaces because the tuned values did not evenly divide.  
> **username_0**: So how does one do a calibration cube with a CoreXY printer, where you get different values on the micrometer for X and Y ?!?!?!  
> **username_4**: @username_0 Why not ask that as a separate question? Note that I would not be worried from micrometer differences (thousands of a mm). Note that R. has a point, but it is impossible to measure everything correctly.  

---

