<p>Two things:</p>

<ol>
<li>Did you bring the bed up to operating temperature to do the levelling (manual or automatic). The metal &amp; glass will expand/warp at different levels depending on temp.</li>
<li>Check your G-code to make sure it is not doing a <code>G28</code> (auto home). That turns off auto-levelling. If it is there you can add:</li>
</ol>

<pre>
G28 ;Home
M420 S1 ; turn levelling on
M501 ; reload your last-saved bed levelling from EEPROM
</pre>

<p>This assumes you saved the results from your auto-levelling with <code>M500</code>:</p>

<pre><code>G29 ; Automatic Bed Levelling
M500 ; save the bed levelling data to EEPROM
</code></pre>

CC BY-SA 4.0
2020-01-08T09:14:20.577Z
I have been bringing the bed up to operating temperature by manually preheating it before starting a print. I auto-home with `G28` before leveling with `G29`.
Robert
CC BY-SA 4.0
2020-01-08T05:20:30.317Z
2020-01-08T07:43:11.953Z
2020-01-08T07:43:11.953Z
Steve061
<p>This turned out to be a problem with the tightness of the rollers at the left and right sides of the X-axis gantry (that roll up and down the Z rails).</p>
<p>Z-axis motion is driven by a single stepper motor on the left side, so the rollers have to be just the right amount of tight to keep the right side in sync. If the right side is tighter or looser than the left then it lags behind, which gives the gantry a slight slant which changes as it goes up and down.</p>
<p>If the gantry is changing pitch throughout the print, no amount of bed leveling will help. Even auto-leveling is worthless, because the readings the BLTouch takes become immediately out of sync with the gantry as soon as it moves again.</p>
<p>The solution is to adjust the eccentric nuts in the rollers on the left and right. The best description I could find is that they need to be just tight enough that there's some resistance if you roll the top wheel with your finger, but loose enough that you can roll it without forcing the gantry up and down.</p>
<p>I ended up putting a magnetic digital level on top of the gantry rail so I could see exactly how much its incline changed. Send gcode to slide it up and down, then adjust the eccentric nuts a little bit, then repeat. Once I got it so the level didn't change, I re-leveled the bed and printed a beautiful first layer.</p>
<p>That was almost a year ago and it's been working ever since. I've had to re-adjust the eccentric nuts periodically when things start to get off, probably due to thermal expansion when the weather changes.</p>

CC BY-SA 4.0
2021-02-01T21:43:47.950Z
Isn't this always the problem with this design . Nine times out of ten it is something with the rollers. Although the printers have a stiff and cheap frame, the motion system (rollers and single lead screw) seem to be the Achilles heel. Thanks for posting the answer, much appreciated, please accept after 48 hours!
0scar
CC BY-SA 4.0
2021-02-01T18:42:35.387Z
2021-02-01T18:42:35.387Z
Robert
<p>I'm having a problem getting a clean first layer on an Ender 3 with BLTouch auto bed leveling. Thickness seems to fluctuate all over the bed, but in a consistent (repeatable) way. Here's my attempt to print a <a href="https://www.thingiverse.com/thing:2187071" rel="nofollow noreferrer">single layer 5 square bed calibration test</a>:</p>

<p><a href="https://i.sstatic.net/bKYFc.jpg" rel="nofollow noreferrer"><img src="https://i.sstatic.net/bKYFc.jpg" alt="Full bed"></a>
I stopped the print midway through filling the first square, but you get the idea. Lines go from too low so no filament comes out to too high.</p>

<p>I printed this several (many) times with slight settings tweaks and it looks pretty much the same every time; the ups and downs aren't random. For example, the center square always is always too low on the left and too high on the right:</p>

<p><a href="https://i.sstatic.net/2wI8h.jpg" rel="nofollow noreferrer"><img src="https://i.sstatic.net/2wI8h.jpg" alt="Center square"></a></p>

<p>The printer is a SainSmart Ender 3 Pro with a BLTouch V3.1 and Creality glass bed, otherwise stock. I flashed a bootloader and Marlin 2.0 using the <a href="https://github.com/3d-printing-canada/Ender-3-BL-Touch-Installation" rel="nofollow noreferrer">instructions and pre-compiled firmware</a> from 3D Printing Canada. I'm using the glass bed upside-down on the plain glass side (no coating).</p>

<p>I pre-heated and leveled the four corners manually using the paper method. I auto-homed and then lowered the hot end until it would just catch a piece of paper and used that height to set the Z offset using M851 and saved it with M500. It's currently set at -2.80.</p>

<p>I added <code>G29</code> to GCode start in Cura, and it does a 3x3 probe before the print starts. Here's the output when I run <code>M420 V</code>:</p>

<pre><code>Bilinear Leveling Grid:
      0      1      2
 0 -0.207 +0.172 +0.162
 1 -0.100 -0.160 +0.220
 2 -0.118 +0.215 +0.295
</code></pre>

<p>Here's what it looks like in the Bed Visualizer plug-in in Octoprint:</p>

<p><a href="https://i.sstatic.net/Vy4YI.png" rel="nofollow noreferrer"><img src="https://i.sstatic.net/Vy4YI.png" alt="Bed visualization"></a></p>

<p>If I understand this right (dubious) it's showing that the glass is lower toward the front and left, highest at back-right. But it's only 0.4mm from the lowest to highest points. And the whole point of mesh leveling is to compensate for this anyway.</p>

<p>At Paulster's suggestion I turned off mesh leveling using <code>M420 S0</code>, leveled manually, and printed again. The result is pretty similar (note that this time I let it run all the way through):</p>

<p><a href="https://i.sstatic.net/hwWJ1.jpg" rel="nofollow noreferrer"><img src="https://i.sstatic.net/hwWJ1.jpg" alt="Second print without mesh leveling"></a></p>

<p>Where should I start looking to diagnose this problem?</p>

<p><strong>Update</strong></p>

<p>I noticed my X-axis belt was a bit loose, so I tightened it up. It seems to have helped with the odd Z slanting. My test print is still not great though, so this may not be the whole problem. Also I've never seen this effect listed as one caused by loose belts, so it's dubious as the cause. Here's the current test print after tightening the belt:</p>

<p><a href="https://i.sstatic.net/RWlJd.jpg" rel="nofollow noreferrer"><img src="https://i.sstatic.net/RWlJd.jpg" alt="Updated test print"></a>
<a href="https://i.sstatic.net/1deao.jpg" rel="nofollow noreferrer"><img src="https://i.sstatic.net/1deao.jpg" alt="Closeup test print"></a></p>

<p>It's flatter, but I'm still getting (I think) under-extrusion and some odd wobbles at the corners.</p>

CC BY-SA 4.0
2020-01-04T16:44:05.123Z
Did you try just leveling manually then running it to see what it would do without the z-offset?
Pᴀᴜʟsᴛᴇʀ2
CC BY-SA 4.0
2020-01-05T10:15:28.133Z
@Pᴀᴜʟsᴛᴇʀ2 I did as you suggested and got a pretty similar result (added to question). Not sure what to make of this. I guess this means it's not an autoleveling issue? So where should I start?
Robert
CC BY-SA 4.0
2020-01-08T09:42:16.000Z
The Ender uses a single stepper for the Z height positioning, this is not optimal and many times the cause for misalignment between the X-min and X-max side. Maybe you need to inspect the XZ carriage on the non driven Z side? Regarding your update, I doubt this is under extrusion, it looks as if the gap is just bigger on the X-max side. As this is a single Z stepper driven carriage, a higher X belt tension may indeed stress the XZ assembly such that it prints better.
0scar
CC BY-SA 4.0
2020-01-09T06:26:09.127Z
@0scar Thank you for your help. What should I be looking for when inspecting the XZ carriage? This was a new-in-box unit that I assembled, and I think everything looked right and I did it correctly, but I lack expertise to be sure.
Robert
CC BY-SA 4.0
2020-01-09T07:24:03.440Z
Basically you're looking for play in the system; e.g. loose nuts or misalignments. You can also do some measurements of the four corners with respect to the carriage at different heights. I would also look if the bed is stable, not wobbling/tilting, to be sure.
0scar
CC BY-SA 4.0
2020-02-07T13:48:34.077Z
@Robert: Make sure both of the mounting plates (the one with the extruder and the one at the other side) are bolted perfectly level with the gantry (horizontal aluminum extrusion bar). Because of the way they mount, there is significant play, when they're not tightened down, and if you tighten them down misaligned you'll have all sorts of trouble. If this weren't a new unit I would also suspect uneven wear on the wheels; it's possible that one or more of the wheels is just defective and not centered correctly.
R.. GitHub STOP HELPING ICE
<creality-ender-3><bed-leveling><bltouch>
Ender 3 with BLTouch prints slanted lines
Robert
# Ender 3 with BLTouch prints slanted lines

(Asked by: username_0 on 2020-01-04)

I'm having a problem getting a clean first layer on an Ender 3 with BLTouch auto bed leveling. Thickness seems to fluctuate all over the bed, but in a consistent (repeatable) way. Here's my attempt to print a [single layer 5 square bed calibration test](https://www.thingiverse.com/thing:2187071):

[![Full bed](https://i.sstatic.net/bKYFc.jpg)](https://i.sstatic.net/bKYFc.jpg)
I stopped the print midway through filling the first square, but you get the idea. Lines go from too low so no filament comes out to too high.

I printed this several (many) times with slight settings tweaks and it looks pretty much the same every time; the ups and downs aren't random. For example, the center square always is always too low on the left and too high on the right:

[![Center square](https://i.sstatic.net/2wI8h.jpg)](https://i.sstatic.net/2wI8h.jpg)

The printer is a SainSmart Ender 3 Pro with a BLTouch V3.1 and Creality glass bed, otherwise stock. I flashed a bootloader and Marlin 2.0 using the [instructions and pre-compiled firmware](https://github.com/3d-printing-canada/Ender-3-BL-Touch-Installation) from 3D Printing Canada. I'm using the glass bed upside-down on the plain glass side (no coating).

I pre-heated and leveled the four corners manually using the paper method. I auto-homed and then lowered the hot end until it would just catch a piece of paper and used that height to set the Z offset using M851 and saved it with M500. It's currently set at -2.80.

I added `G29` to GCode start in Cura, and it does a 3x3 probe before the print starts. Here's the output when I run `M420 V`:

```
Bilinear Leveling Grid:
      0      1      2
 0 -0.207 +0.172 +0.162
 1 -0.100 -0.160 +0.220
 2 -0.118 +0.215 +0.295

```

Here's what it looks like in the Bed Visualizer plug-in in Octoprint:

[![Bed visualization](https://i.sstatic.net/Vy4YI.png)](https://i.sstatic.net/Vy4YI.png)

If I understand this right (dubious) it's showing that the glass is lower toward the front and left, highest at back-right. But it's only 0.4mm from the lowest to highest points. And the whole point of mesh leveling is to compensate for this anyway.

At Paulster's suggestion I turned off mesh leveling using `M420 S0`, leveled manually, and printed again. The result is pretty similar (note that this time I let it run all the way through):

[![Second print without mesh leveling](https://i.sstatic.net/hwWJ1.jpg)](https://i.sstatic.net/hwWJ1.jpg)

Where should I start looking to diagnose this problem?

**Update**

I noticed my X-axis belt was a bit loose, so I tightened it up. It seems to have helped with the odd Z slanting. My test print is still not great though, so this may not be the whole problem. Also I've never seen this effect listed as one caused by loose belts, so it's dubious as the cause. Here's the current test print after tightening the belt:

[![Updated test print](https://i.sstatic.net/RWlJd.jpg)](https://i.sstatic.net/RWlJd.jpg)
[![Closeup test print](https://i.sstatic.net/1deao.jpg)](https://i.sstatic.net/1deao.jpg)

It's flatter, but I'm still getting (I think) under-extrusion and some odd wobbles at the corners.

**Tags:** creality-ender-3, bed-leveling, bltouch

> **Comments:**
> **username_1**: Did you try just leveling manually then running it to see what it would do without the z-offset?  
> **username_0**: @username_1 I did as you suggested and got a pretty similar result (added to question). Not sure what to make of this. I guess this means it's not an autoleveling issue? So where should I start?  
> **username_2**: The Ender uses a single stepper for the Z height positioning, this is not optimal and many times the cause for misalignment between the X-min and X-max side. Maybe you need to inspect the XZ carriage on the non driven Z side? Regarding your update, I doubt this is under extrusion, it looks as if the gap is just bigger on the X-max side. As this is a single Z stepper driven carriage, a higher X belt tension may indeed stress the XZ assembly such that it prints better.  
> **username_0**: @username_2 Thank you for your help. What should I be looking for when inspecting the XZ carriage? This was a new-in-box unit that I assembled, and I think everything looked right and I did it correctly, but I lack expertise to be sure.  
> **username_2**: Basically you're looking for play in the system; e.g. loose nuts or misalignments. You can also do some measurements of the four corners with respect to the carriage at different heights. I would also look if the bed is stable, not wobbling/tilting, to be sure.  
> **username_3**: @username_0: Make sure both of the mounting plates (the one with the extruder and the one at the other side) are bolted perfectly level with the gantry (horizontal aluminum extrusion bar). Because of the way they mount, there is significant play, when they're not tightened down, and if you tighten them down misaligned you'll have all sorts of trouble. If this weren't a new unit I would also suspect uneven wear on the wheels; it's possible that one or more of the wheels is just defective and not centered correctly.  

---

## 2 answers

### Answer by username_0 on 2021-02-01. Score: 2 | Accepted answer

This turned out to be a problem with the tightness of the rollers at the left and right sides of the X-axis gantry (that roll up and down the Z rails).

Z-axis motion is driven by a single stepper motor on the left side, so the rollers have to be just the right amount of tight to keep the right side in sync. If the right side is tighter or looser than the left then it lags behind, which gives the gantry a slight slant which changes as it goes up and down.

If the gantry is changing pitch throughout the print, no amount of bed leveling will help. Even auto-leveling is worthless, because the readings the BLTouch takes become immediately out of sync with the gantry as soon as it moves again.

The solution is to adjust the eccentric nuts in the rollers on the left and right. The best description I could find is that they need to be just tight enough that there's some resistance if you roll the top wheel with your finger, but loose enough that you can roll it without forcing the gantry up and down.

I ended up putting a magnetic digital level on top of the gantry rail so I could see exactly how much its incline changed. Send gcode to slide it up and down, then adjust the eccentric nuts a little bit, then repeat. Once I got it so the level didn't change, I re-leveled the bed and printed a beautiful first layer.

That was almost a year ago and it's been working ever since. I've had to re-adjust the eccentric nuts periodically when things start to get off, probably due to thermal expansion when the weather changes.

> **Comments:**
> **username_2**: Isn't this always the problem with this design . Nine times out of ten it is something with the rollers. Although the printers have a stiff and cheap frame, the motion system (rollers and single lead screw) seem to be the Achilles heel. Thanks for posting the answer, much appreciated, please accept after 48 hours!  

---

### Answer by username_4 on 2020-01-08. Score: 0

Two things:

1. Did you bring the bed up to operating temperature to do the levelling (manual or automatic). The metal & glass will expand/warp at different levels depending on temp.
2. Check your G-code to make sure it is not doing a `G28` (auto home). That turns off auto-levelling. If it is there you can add:

```

G28 ;Home
M420 S1 ; turn levelling on
M501 ; reload your last-saved bed levelling from EEPROM

```

This assumes you saved the results from your auto-levelling with `M500`:

```
G29 ; Automatic Bed Levelling
M500 ; save the bed levelling data to EEPROM

```

> **Comments:**
> **username_0**: I have been bringing the bed up to operating temperature by manually preheating it before starting a print. I auto-home with `G28` before leveling with `G29`.  

---

