It's not you - it's the printer!
The M3D Micro is not a very sturdy setup. The X-axis is a single pair of thin rods, hung up on a pair of similarly thin rods in Y and mounted on 3 very thin pillars in Z. While the idea is good, the execution is not particularly well: The rods are too thin and the design is virtually unchanged since 2015 and thus this review ...
Layer shifting can be caused by a number of different things. The following list of solutions is from All3DP's article "Troubleshooting Common 3D Printing Problems" under the heading Print Offset in Some Places:
CHECK THE PRINTER HAS A STABLE BASE
Place the printer on a stable base and in a location where it will avoid being knocked, poked and ...
This is varying underextrusion due to loss of material to oozing in the interior of the model.
When printing the infill pattern, the nozzle doesn't follow a single continuous extrusion path, but moves from the end of one path to the beginning of the next, and under Cura defaults, does this without retracting the filament. This causes unpredictable amounts to ...
Unscrewing the mainboard enclosure and tilting it to allow better airflow like in the picture shown below. This is the same issue as many others.
I appreciate the assistance.
You mentioned a noticeable 'clunk' when it shifts, are you sure it isn't a physical obstruction? You said you checked that all axis run smoothly but are you sure you checked the full extents of the printable area?
Watch carefully when the issue happens, are any of the cables getting snagged on the machine or surrounding workspace? Check under the bed in ...
This is classic Layer Shift in the Y plane. This happens in one of three cases:
Belt too loose
Belt too tight
Bed movement hindered
The belt should ring and resonate when tapped, giving a nice tune. I haven't really tuned mines, but my ender3 (250 mm bed movement in total) has about a G major.
The bed movement should be, with motors off, easy and smooth. ...