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.
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:


https://github.com/MarlinFirmware/Marlin/issues/9768
https://github.com/MarlinFirmware/Marlin/issues/10446


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.