Recently my Ender 3 has developed a problem of skipping Y steps (layer shift in the Y direction), and it seems to be getting progressively worse. I'd never experienced layer shift before a few weeks ago when I tried some extreme accelerations (up to 3000 mm/s²), which mostly worked fine, but I stopped after getting a couple layer shifts, and now have X acceleration at 2000 mm/s² and Y acceleration back at the default of 500 mm/s².

When the layer shifts happen, I usually hear "grinding" sounds that seem like they're coming from friction of the nozzle moving over the already-deposited material. Bed leveling/height is correct though.

Magnitude of the layer shifts varies between 1 mm and 3 mm. They're all in the positive direction (layers shifts towards the back of the bed).

Speeds are reasonable, 30 mm/s for outer walls, 60 mm/s for inner and infill, 120 mm/s for travel.

Is there a likely mechanical or electrical cause for the onset of skipped steps/layer shift?

Is it possible that the high X acceleration is what's allowing the very high travel speed to be achieved, and that such high travel speed is putting the nozzle on top of cold material that it drags on without giving it a chance to soften it first? Or is the printer underpowered such that there's insufficient current to provide the necessary Y motor torque while the X is under high acceleration? Lowering the X acceleration back to default (500 mm/s²) does seem to make it less likely or less severe, but it's still happening.

  • $\begingroup$ OK, trying some longer prints, I'm getting even worse layer shifts. The symptoms are almost exactly like github.com/MarlinFirmware/Marlin/issues/9768 making me think it's a bug in Marlin 1.1.9, which I recently upgraded to, and that the very-high-Y-acceleration skips/layer shifts I saw before were unrelated... $\endgroup$ Aug 7 '19 at 2:27
  • $\begingroup$ Uhg, this seems to be an ongoing issue in Marlin with no clear indication of what was wrong or if it's fixed. github.com/MarlinFirmware/Marlin/issues/10446 and many more bug threads closed without proper conclusions... $\endgroup$ Aug 7 '19 at 4:00
  • $\begingroup$ If you're observing 'grinding,' then you may be extruding too much material, causing a buildup higher than the next layer. Even so, a little drag shouldn't cause stepper skipping. Then again, as I've noted in the past, something like 75% of all "my printer isn't working right" questions here are for Creality Ender models. Maybe dump it for a more reliable manufacturer. $\endgroup$ Aug 7 '19 at 13:55
  • $\begingroup$ I'm pretty sure at this point it's Marlin not the printer. Will update later. $\endgroup$ Aug 7 '19 at 15:00
  • $\begingroup$ Check your belt tensions. Too tight is as bad as too loose. $\endgroup$
    – Mick
    Aug 7 '19 at 17:00

While I first experienced layer shifts a couple times before upgrading, only while using extreme acceleration settings (3000 mm/s² is fairly extreme for moving the bed), their regular occurrance, which is near-constant with some files, seems to have started after I upgraded the firmware to Marlin 1.1.9. Reverting to the manufacturer's firmware, with no mechanical changes to the printer whatsoever, has the same file printing now with no layer shifts. So I think it's safe to say that this is a firmware problem - either a bug in Marlin, or a problem with the Ender 3 configuration headers for it. The bug tracker suggests this kind of thing is an ongoing issue; here are two among a large number of related bug tracker threads:

I'll try the latest 2.0.x, and/or turning features off one at a time in 1.1.9, and see if I can isolate the cause, then open a new question about bugs in Marlin causing layer shifts if needed.

  • $\begingroup$ And this looks promising: github.com/MarlinFirmware/Marlin/issues/… $\endgroup$ Aug 7 '19 at 22:44
  • $\begingroup$ And this might finally be the fix for a second aspect to the issue: github.com/MarlinFirmware/Marlin/pull/16128. I'll update with further info if it is, since I hit layer shifts (albeit more rare) again. $\endgroup$ Dec 24 '19 at 1:24
  • $\begingroup$ This was never clearly resolved on the tracker, and in hindsight it isn't clear that it was my problem. It might have just been that Marlin 1.1.9/2.0.x were interpreting jerk limits differently than the original vendor firmware, and the jerk limits configured (and corresponding JD constant) were way too high. I won't be revisiting it though since I ended up replacing the board with the SKR mini E3 and the problem went away entirely after that even with much more extreme acceleration profiles... $\endgroup$ Jan 14 '21 at 16:16
  • $\begingroup$ Of course that leaves plenty of possible mechanisms for how it failed: weak or overheating stepper drivers, slow AVR unable to keep up with stepping schedule, bugs in Marlin only affecting AVR, etc. etc. $\endgroup$ Jan 14 '21 at 16:18

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.