Layer offset on Lulzbot Mini 2

I’m printing several pieces on the bed. They are narrow and broadly oriented. I’ve tried dental times and each time, not very far into the print, the layers offset. Not sure what’s causing this…

This is “layer shift”. We need to work out which axis is shifting.

Can you reprint but leave them on the bed and take a photo? We need to work out if the X-axis vs. Y-axis is shifting.

Your X or Y axis may be binding enough to result in this shift and we need to work out which axis has the issue … and why.

Fair enough. I’ll run a print today and see. I’ve not witnessed this on any other prints thus far, just this one.

The latest print. Three pieces. Lots of stringing and clear offset in the x direction, it seems.

Looks like a very loose belt, could also be a bad power supply for the x-axis motor. I had a problem with binding but it was the y-axis with the wiring harness getting in the way. Lulzebot had a printable solution for that.

Thanks for the picture while still on the print bed. From this we can determine that the layer shifting is on the X-axis. But I see you also have rather poor print quality, loads of stringing, and the z-axis is rather inconsistent.

I would guess that either you have a loose X-axis belt or something is causing some binding on that axis.

I’d be interested to learn you print settings to see if we can suggest some changes to clean up your print quality.

Can you share info on:

  • What filament are you using?
  • Layer height?
  • Print temperature?
  • Print speed?
  • Travel speed?
  • Part cooling fan at what percent?
  • Retraction settings?

I did a quick check with the belt - pressing down on the middle seemed as though it had plenty of tension. I haven’t tried tightening anything.

Filament: 3.85mm PLA (standard stuff from Lulzbot’s store)
Layer height: 0.14 mm
Print temperature: 205 (initial layer) to 195 / 190.
Flow Rate: 94%
Print Speed: 20 mm/s. 5 mm/s initial layer
Travel Speed: 175 mm/s
Jerk speeds at 5 mm/s
Retraction Distance: 2.5 mm
Retraction Speed: 50 mm/s
Fan speeds at 100%

This profile is for a high-quality print I’m attempting - mostly to control warping for a large, flat surface and to avoid excess material on the initial layer. As I’m reviewing them, I see some of the settings look a bit odd - though they’ve not caused me issues on the prints that I’ve been doing.

I would disable Jerk Control and let the printer’s firmware handle that.

I think your print temp is a bit low. Print the PLA at 205°C for the whole job – not just the first layer. To find the ideal temp, print a “temperature tower”.

Visit a website such as,, or and search for a “temperature tower” (you might include “pla” in the search terms). There are TONS of these. You’ll find stuff that looks like this:

Screen Shot 2022-05-09 at 9.17.09 PM

Note that it repeats a pattern (like floors on a high-rise building) and the idea is to print each section at the different temperature, then evaluate the model for quality to determine which temp did best.

To do this in Cura LulzBot Edition, load the model, set Cura to use the settings for just the BASE section (e.g. in this model it would be 190°). Suppose the height of a section of the model is 10mm (which is common), and you’re doing .25mm layer heights (so that’s 40 layers) – you use a Cura Extension to control this.

In Cura LE from the main menu, select: Extensions -> Post Processing -> Modify G-Code
In the new window that opens, click Add a script -> Tweak at Z or Layer.
You’ll set the “Trigger” to either “Height” or “Layer” (your choice).
If you set “Layer” then determine the layer number where the temperature needs to change … or if you set it to “Height” then enter the height.

Then tell it what you want to tweak (Tweak Extruder Temp) and enter the NEW temperature.

That gets you just ONE temperature change.

Now do ANOTHER “Add a script → Tweak at Z or Layer” and repeat for the next section … and so on until you’d done them all.

Then slice it and print it. The post-processing scripts will insert the temperature changes into the G-code as needed.

When the part is finished, you can either quit & restart Cura -or- go back into the post processing plug-in and delete all those layer changes. This is because clearing the build plate and loading a new part does NOT clear the plug-in (you’d be rather surprised when you load the next part you want to print and get some rather wonky results due to temperature changes.)

I’m wondering why your flow is reduced to 94%. There are times when I tweak flow-rate for specific materials … but normally I leave it at 100%. If you feel you are over-extruding and need to reduce it then you may need to perform the E-steps calibration (the number of “steps” that need to be performed by the extruder’s stepper motor to advance 1mm of cold filament into the extruder.)

Fans at 100% are fine for PLA – no issues there.

If you tap the belt on the X-axis … how tight or sloppy is it? It should be fairly tight (almost as if you can play a note on it – like a string-bass)

I’d say the belt tightness was where it should be. I can try tightening it if all else fails.

I had the flow at 94% because the bottom layer overflowed. I’ve also seen a relative consensus on reducing flow for better quality / finer details on models as I’ve picked through sites, though I think 95% - 97% are more what people prefer. Anyway, it likely helps me because my Z offset is lower (because I need a large, flat, smooth surface). As for the lower temps, I did that because, again, it appeared to give me better results on what I was printing - I’m guessing it reduced the overflow on the lower layers. Granted, this is an entirely different model - I should have reset it to some reasonable defaults, I suppose.

Anyway, how would you get the temp tower printed in regular Cura? I can’t run Cura LE because Lulzbot no longer supports Linux. Even if it did, Cura seems to be less buggy, now that I’ve had to use it for a year… I do miss the fact that I didn’t have to manually preheat my nozzle before starting a print, though. :confused:

In Ultimaker Cura go to Extensions, Post Processing, Modify G-Code, click Add a script and select ChangeAtZ.

I printed a temperature tower, but first switched my settings to a default “draft” print (0.2mm layer height). The tower printed without any X offset issues and seems to indicate that 200 - 205C is ideal for the PLA I’m using, not surprisingly.

So, it seems the x-offset problem is entirely in the settings for the profile I was using previously. WIll keep an eye on that in the future. Probably should try rebuilding the profile to see if I can get better results without such extreme values.

Thanks for the help!

Since we’re on the topic of belt tensioning, does anyone know how to tighten the x axis belt (or all of the axis) for the mini 2?

I can’t seem to figure it out based on the OHAI, I got as far as trying to tighten it at the connector behind the x-carriage but it was very difficult and ineffective to do it there.

Thank you.

This can also be caused by the stepper drivers overheating. If the stepper driver overheats it can reset or skip steps leading to an offset in the location (and therefore layer shift). More common problem on printers with Trinamic (TMC) drivers, especially the sidekick line in my experience. DIY enclosures / insulating the print area can cause the drivers to overheat.