Jump to content

Y-axis layer shift with Cura

Recommended Posts

Posted · Y-axis layer shift with Cura
Hello there, I am new to this forum, I have been 3d printing for a few years so far and though I have been reading this forum in the shadows now I registered to try to get some answers. Hope I can keep learning from you and contribute a bit with my little knowledge now that I am registered ūüėÉ
Having said this, the problem is: I have been experiencing Y-axis layer shifts on different 3d printers, several Anet E12 and my new Creality CR10-s Pro. 
Belt tension is ok, iddle pulleys, teethed gears, jerk control both disabled and enable at lower mm/s, smooth carriage movement, and everything that comes to your mind after reading the dreaded y-axis layer shift, basically hardware stuff has been double-checked hundreds of times. The point is that it all started after updating to Cura 3.6, then I downgraded to 3.5.1 thinking that it could be a bug (i've read quite a few comments about people experiencing the same issues with 3.6) but the point is that I still have it, Y-axis layer shifts at same heights (and sometimes at different heights)
The point is that I SOLVED the problem simply by using Repetier Host with Cura Engine as a slicer, and it prints as a charm. However, the question that is driving me crazy is: WHY? Why can't I print without a bloody y-axis layer shift using Cura instead?
Please find attached 4 pictures printed today with Cura 3.5.1:
at 0.1 layer height and 60mm/s
at 0.1 layer height and 40mm/s
at 0.2 layer height and 60mm/s (shifted 2 layers then got back to its original position)
at 0.2 layer height and 40mm/s
Prints at 0.1 layer height have the layer shift earlier and at slightly different heights 
Prints at 0.2 layer height have the layer shift later on and at exactly the same height.
I'd appreciate some help and comments on this topic.
Thanks in advance.







Share this post

Link to post
Share on other sites
Posted · Y-axis layer shift with Cura

These 2 printers (anet, creality) are very similar in that the Y axis moves the entire print bed.  I believe they both have Marlin.  Hopefully you have a variant of Marlin that lets you see and change the acceleration and jerk as it's possible that jerk or acceleration is too high for that axis.


Anyway to clarify - in both cases you slice with Cura (but different versions and possibly at least one change to the settings)?  But in on e case you print through a USB using Cura software and in the other case you print through a USB using cura software?


I have to warn you that the people who wrote that "print through usb cable" section of cura probably did not have their heart in it since none of the currently sold UM printers use that feature anymore and that feature was no longer supported when they started cura version 2.X which was a total rewrite of that feature.


Anyway I have 2 theories.  One is that for some reason cura isn't sending the gcodes fast enough and sometimes marlin has to stop (even if only for a few milliseconds) because it's waiting for the next gcode and sometimes it exceeds the default accelerations in order to stop (Marlin has 2 absolute acceleration limits - on the UM2 they are 5000 and 9000 mm/sec/sec).  I know - it's strange that there are 2 limits.  One is the normal acceleration/decel and one is absolute max.  Normally it never ever uses the second limit.  So maybe the solution is to lower that second absolute max deceleration.


The second theory which seems more likely is that some slicer setting is ever so slightly different.  I'm not surprised that your Y axis is "on the edge" of what it can do.  Just a little extra acceleration or jerk and it loses a step.  It could be an infill setting for example.  The way it does very fast moves and then changes speed for the infill and switches back and forth between these speeds several times per second, or maybe if the moves are 90 degress (all in X then all in Y) and they are quick vibrations that are resonant with your Y axis (the bed and cables make a resonant vibration).  It could be many things.


The solution for the second theory is to lower your Y acceleration and jerk a little bit.  Maybe use 75% of current value.  So if current value is 1 meter/s/s then try 0.75 M/S/S.  And if the current jerk is 15mm/sec change it to 11mm/sec.  Some versions of Marlin (like tinkerMarlin which only works on UM2) will let you change this in the motion controls.  Some versions make you change it using gcodes.  If you use gcodes don't forget to do the M500 to save the settings change for the next time you boot.


You can definitely view and change these values (acceleration and jerk) using marlin gcodes.  Personally I like using pronterface.  When you first connect to the printer, pronterface lists all these settings out including the gcodes to change the values.  There is more info here:



  • Like 1

Share this post

Link to post
Share on other sites
Posted · Y-axis layer shift with Cura

Thank you very much for your quick, detailed and long response Gr5, it'll surely be of great help not just for me but for other people with the same kind of issues. So thanks on their behalf too ūüėČ


I'll try what you suggested whenever I have some spare time and will let you know if it worked out, though I get totally lost when it comes down to Gcodes and Marlin stuff, but I'll figure it out and try to do what you recommended.:

-lower the absolute max acceleration limit in Marlin.

-lower the jerk a 75% more.


In response to your answer, I'll try to be as specific as possible:


No, I do not print through a USB cable, I always print via mini SD card. And yes, both printers run on Marlin -as far as I'm concerned.


I tried using Cura 3.6 and then I downgraded to Cura 3.5.1, I printed the same design in both versions of Cura and with each version I used 3 different settings per print -just to find out and compare the results. Interestingly enough, the shifted layers always appeared at the same heights, but depending on the version of Cura I would get the shifted layers at different heights. I mean, using Cura 3.6, I would get them at some particular point (regardless the settings) and using Cura 3.5.1 I would get them at a different one, that's why I thought the problem could be the program itself and not a hardware problem, having shifter layers at exactly the same points is quite meaningful I'd say.


Also, printing at 0.1 layer height and 40mm/s I noticed that after shifting 2 layers in a row, then it'll get back to its right position and continue printing, which is even weirder to me. I spent hours right in front of the printer just to get the exact moment in which they happened and I got them; and yes, as you said, there was a resonant vibration each time and they normally took place in the transition between the infill and the perimeter of a new layer (infill speeds were down to 40 and 60mm/s, walls were at 30 and 40mm/s, and jerks were at 15 and 20mm/s).


The point is that even having the jerk down to 15mm/s and printing at 40mm/s in Cura, I was still getting them, but when I used Repetier Host, I tried printing at 60mm/s and jerk up to 20mm/s and the print was absolutely flawless. It's not that I can't print, it's just that I want to know why I can't get the results with Cura that I used to get before.


When I use Repetier Host it lets me choose a slicer, either CuraEngine or Slic3r, I chose CuraEngine and used quite standard settings and as I said, flawless prints using Repetier Host. I even tried printing at 120mm/s, quality was obviously affected but no layer shifts whatsoever. So it's definitely something to do with Cura.


Thanks one more time for your time and suggestions, I will reply once I try them and let you know.ūüėɬ†



Share this post

Link to post
Share on other sites
Posted · Y-axis layer shift with Cura

It can be the difference between 23% infill and 24% infill where they run at slightly different lengths on a particular area of your print.  Marlin is used on 90% of the printer brands and printers out there but I've been through the code carefully and it's still a bit buggy and hacky.  It's possible that Marlin will exceed the acceleration limits if it receives the right movements with the right speeds in the right order.


It could also be one of the new features that appear to be on by default.  Some of these add just an extra move or two when starting and finishing an outer wall or inner wall.  If you know the exact spot you can look at it in cura layer view (actually repetier is pretty amazing at looking at the gcodes) and see what's different between the 2 gcode files.


Some features that could be related to your issue:


fill gaps between walls

???? - I can't find it but there is a feature that has the print head keep following the skin like it's going to print twice on the same loop but only for a mm or so and it doesn't extrude.

travel avoid distance


It could even be the nozzle width.  Cura defaults to .35 for a .4 nozzle but I assume repetier defaults to 0.4.


Travel moves are probably more serious as they tend to be at higher speeds.  That's why I mention "travel avoid distance" but there are tons of travel moves when doing infill.  All those dark blue lines in layer view.


I notice that you can actually set the acceleration in cura.  Try dropping the acceleration in half for whatever the default is for your printer.  Again - I'm just guessing 1M/s/s but it could be much slower than that since you are moving the entire bed.

Share this post

Link to post
Share on other sites
Posted · Y-axis layer shift with Cura

Today for the 1st time I had a Y axis shift at about 50% of the print.

It was not like these pictures where it's gradual.  It was literally, 0 to 49% correct, then BAMN! The next layer, say 50% started over about 20mm or so!


All the build is, is just an end piece for a 2x8 piece of wood.

It's designed in Fusion 360 is is nothing more that a rectangle that is (using parameters) just slightly over the size of the wood.


It's only filleted.  Other than that, a rectangle that is about 30mm "deep."


Nothing special at all.


So, I sliced it with Cura using "Draft" option.  Pretty much kept defaults.


I sent it to the printer and the above happened.


I have had this before, BUT in that case, it was the print itself lost adhesion and actually moved.


In this case, it was solid.


The ONLY difference with this build and others I've done, was printing in Draft. This was the first time.


Ok, so I thought, perhaps that's the issue.


I re-sliced in "Normal", again, using mostly defaults.  Just some temperature differences.


This time, it's printing just fine.


As for the printer, there is no issue with any belts, rollers, rails, drive gears, nothing.  All nice and tight as they should be.


I'm just throwing this out there in case this affects someone else.


If you are printing in draft, perhaps try normal.



Share this post

Link to post
Share on other sites
Posted · Y-axis layer shift with Cura

Almost always this is caused by one of the pulleys that needs it's set screw tightened - most often the pulley on the stepper (the hardest one to get to - murphy's law).


However, you might just need to oil something.  Higher friction can also cause this problem.


Or you might want to lower the acceleration setting for this axis if you have one of those printers where the Y axis moves the entire print bed.

Share this post

Link to post
Share on other sites
Posted · Y-axis layer shift with Cura

Now months later and the problem is worse than every.

If only I could go back and never buy this P.O.S.

I replaced its glass texture hotbed with a thinner and lighter one.  The orig. plate is like 1.8kg while the replacement is only 1.3kg.

It works fine if I slow the print speed down to a crawl.

But today, I started a print that seemed to be doing pretty well.  I monitor my printer with a camera that I can access away from home.

Well, the print shifted 3 times!!!

So I flipped over the machine and checked tensions and such.  I did notice that the 2 alignment screws where not set right, so the belt would ride on the edge of the roller and the gear (on the stepper).  So I've adjusted that.

The tension seems fine.

I did tighten the screw on the gear that's on the stepper, although, that wasn't loose, really.

The ONLY other thing that I"m suspecting and this is from day 1, is that the 2 Y axis rails are not 100% aligned.

This bed has 8 rollers, 4 for each rail.  There are 2 screws that adjust each side to balance off the tension on the rollers on each side.

But on one side of both, even backing off the screws to where they are loose, the 1 or 2 rollers remain pretty tight.

That indicates to me that from factory, it was never aligned right.

I'm kind of afraid to try to loosen everything up, maybe even take the rails, rollers and bed right off and try to put them back perfectly aligned.  I'm afraid that I'll make things worse.


I'm about to start the printer over with new slicer settings.  Slowing things down a lot.  What was supposed to be about 12 hours to print is now going to be over 24, due to the slowed down slicing.


We'll see.

I so wish that I did not buy this Wanhua Duplicator 9 400 MK2.

I do hate the thing.


Share this post

Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • Our picks

    • Ultimaker Cura 4.0 | Stable available!
      Ultimaker Cura 4.0 is mainly focused on the improved user interface and cloud integration.
      As always, we want to collect your user feedback for this release. If there are any improvements you can think of, feel free to mention it here and help us to shape the next release.
      • 98 replies
  • Create New...

Important Information

Welcome to the Ultimaker Community of 3D printing experts. Visit the following links to read more about our Terms of Use or our Privacy Policy. Thank you!