Ender 3 has developed a tendancy to skip Y steps


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.


Posted 2019-08-07T01:33:39.507

Reputation: 5 311

OK, trying some longer prints, I'm getting even worse layer shifts. The symptoms are almost exactly like https://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...

– R.. GitHub STOP HELPING ICE – 2019-08-07T02:27:52.740

Uhg, this seems to be an ongoing issue in Marlin with no clear indication of what was wrong or if it's fixed. https://github.com/MarlinFirmware/Marlin/issues/10446 and many more bug threads closed without proper conclusions...

– R.. GitHub STOP HELPING ICE – 2019-08-07T04:00:57.933

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. – Carl Witthoft – 2019-08-07T13:55:27.320

I'm pretty sure at this point it's Marlin not the printer. Will update later. – R.. GitHub STOP HELPING ICE – 2019-08-07T15:00:13.983

Check your belt tensions. Too tight is as bad as too loose. – Mick – 2019-08-07T17:00:09.810

I've had Y-skipping issues on my prusa, but that is due to switching to plastic bearings and them not being lubricated enough. Essentially too much friction and a little bit of misalignment on the y axes. Make sure that the y axis is not blocked, the axes are parallel to each other and perpendicular to X axis, that the bearings slide with little friction, and that the axis is properly lubricated. – toshiomagic – 2019-08-07T17:08:59.787

@Mick: I've adjusted X belt tension a few times, but never adjusted Y since factory; it feels the same as it always has. I'll look at that if it doesn't prove to be firmware. – R.. GitHub STOP HELPING ICE – 2019-08-07T17:21:12.643

And if it is firmware, I'll open a new question for that rather than edit this one, and close this one with a self-answer that it was firmware. – R.. GitHub STOP HELPING ICE – 2019-08-07T17:21:36.647



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.


Posted 2019-08-07T01:33:39.507

Reputation: 5 311

And this looks promising: https://github.com/MarlinFirmware/Marlin/issues/12491#issuecomment-443464603

– R.. GitHub STOP HELPING ICE – 2019-08-07T22:44:36.937

And this might finally be the fix for a second aspect to the issue: https://github.com/MarlinFirmware/Marlin/pull/16128. I'll update with further info if it is, since I hit layer shifts (albeit more rare) again.

– R.. GitHub STOP HELPING ICE – 2019-12-24T01:24:35.187

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... – R.. GitHub STOP HELPING ICE – 2021-01-14T16:16:16.897

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. – R.. GitHub STOP HELPING ICE – 2021-01-14T16:18:12.893