I've been aware ever since I got it that my Ender 3's X-axis isn't level. Measuring from the top of it to the top of the frame, the right-hand (positive) side is about 4.7mm higher than the left.

During assembly, the vertical rails were not entirely parallel, and had to be pulled together to get the X axis on and to bolt the cross beam on the top. I suspect this is related, but I'm not sure.

Anyway, aside from the bed having to be tilted to be level with respect to the X axis, this never seemed to cause any problem, so I've left it alone until now. However I have measured almost exactly a 1% dimensional error in the X direction that I've now compensated for by setting the steps per mm, and wonder if the tilted axis could be the cause. Doing the trig, that doesn't make sense - a 4.7 mm error across the width of the bed should translate to something like one part in 2000, not 1%. But maybe something's wrong in my analysis so I'd like second opinions.

Aside from that, is this something I should try to correct, or just let be? I suspect it's the base that's warped or tapped/cut incorrectly where the vertical rails bolt on, in which case it seems unlikely there's any way to fix it without replacing that part, which is something I'd rather not get into as long as the printer is working. But if there are other possibilities that are non-invasive to try, I might.

whole printer with x axis at low z

x axis raised to top of frame

Further update: if this is the cause of the dimensional error (which turned out to be more like 0.41% than 1%, thus closer to plausible) I probably need to fix it. Using firmware steps/mm adjustment is not viable because it produces aliasing patterns in skin layers presumably due to step width no longer dividing nozzle size/line width.

  • 1
    $\begingroup$ Could you add a picture to sustain the text? $\endgroup$
    – 0scar
    Commented May 29, 2019 at 19:28
  • $\begingroup$ 0scar: Yes, I think it's sufficiently visibly obvious that I can take a good pic. Will do soon. $\endgroup$ Commented May 29, 2019 at 20:09
  • $\begingroup$ @0scar: added pics. $\endgroup$ Commented May 31, 2019 at 18:24

2 Answers 2


i've just bought an Ender 3 Pro and on assembly I carefully checked and deburred the uprigh rails on their bottom faces to ensure they did not splay out or in etc.

Once the 2 uprights are loosely attached to the base rails I laid the assembly flat onto a table on the uprights to ensure the uprights were square to one another and tightened the screws.

Check the uprights are parallel to one another by placing the top crossbeam on the top of the uprights and check if the screw holes are alligned...….if the screws are tight to enter their holes the uprights are splayed out or in and need correcting etc......a small amount of pressure "can" make them line up.

The X axis rail slides up and down on the two uprights with two 3 wheeled brackets, one either side, that have 3 wheels on them, one wheel on each bracket is the adjuster and it is easy to have the X axis cross beam out of square if you tighten the one bracket to the rail before you test the rail for squareness.

Firstly, place only the 2 wheel brackets on their uprights and adjust the wheels for smooth running, then attach the X axis rail to each wheel bracket and just nip up the 2 screws loosely to hold them to the cross beam.

Now, check the cross beam for squareness by running it to the top of the uprights and measuring the gap left to right between the X axis rail and the top rail, then tighten the left hand wheel bracket screws to the X axis rail......and then tighten the right hand wheel bracket to the cross beam.

Leave the Z axis leadscrew off for the moment and run the crossbeam up and down on the uprights making sure there are no tight spots due to out of squareness.

if it's all freely moving.....fit the Z axis leadscrew.

The bed plate can only be set once you have the machine itself squared up. Ian.


So I disassembled the printer and first found something very suspicious: the left (Z-motor side) vertical rail was not mounted flush against the base, because the edge of the control board cover panel was under the edge of it. Fixing this made the vertical rails parallel and made the X-axis unit easily slide back on, but it did not fix the issue; the X-axis was still non-level.

Next, I started playing with eccentric nuts, which was probably a mistake. They were already the appropriate tightness, and I might have messed them up, in which case I'll have to go back and tune them more later. I then found a second point of adjustment: the attachment of the roughly-triangular bracket that holds the three roller wheels on the right side to the X-axis aluminum extrusion rail. I as soon as I loosened the bolts, I was able to get a plenty play to level the axis. In order to get it level, with the top beam mounted, I raised both sides so that the top outer wheels would hit the plastic end caps of the top beam. This relied on a dubious assumption that the triangular roller wheel arrangements on both sides are symmetric, but it seems correct, and after re-tightening the bracket, lowering it to the bed, and re-leveling the bed, everything seems fully level.

Further, after the fix, my dimensional accuracy test piece is 119.6 mm instead of 119.5 mm, which works out to the difference before the fix being undersized by 0.084%, very close to my "1 part in 2000" estimate of the error that the non-level axis should cause. Sadly it still wasn't 120.0 mm like it should be, so I went looking for another source of the inaccuracy. Tensioning the X-axis belt seems to have done the job, and I'm now getting 120.0 mm.

I took some pictures in the process, which I'll try to attach later to improve this answer for others who may hit the same problem.

Caveats: In the process of doing this, I badly messed up the Z axis. I was getting prints coming out almost 1mm shorter than they should be and having to relevel the bed continually. The whole system is "over-constrained" by all the points at which it can be tightened, so if anything is inconsistent when it's tightened, everything goes catastrophically wrong. This entry on Maker Steve's blog was very helpful in figuring out how to get it back in order. After making the adjustments, however, I still had a problem: a horrible grinding squeal whenever the Z motor moved in the negative direction. It turned out I'd also over-tightened the screws holding the Z lead screw nut on the carriage (after mistakenly removing it during all this), forgetting that the assembly instructions specify that it shouldn't be tightened down. loosening both screws by about half a turn finally got everything working right again.

  • $\begingroup$ 0.4 mm indeed sounds like it missed part of the movement from the slop in the belt. $\endgroup$
    – Trish
    Commented Jun 4, 2019 at 19:16
  • $\begingroup$ @Trish: Yep. I think it just had enough slack that it would be off by about 0.2 mm in the opposite of whatever direction it had last traveled. $\endgroup$ Commented Jun 8, 2019 at 19:46
  • $\begingroup$ Thanks for the tip on not over tightening it fixed a z axis binding problem for me :) $\endgroup$
    – rogerdpack
    Commented Apr 15, 2023 at 19:18

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .