# BL-Touch bed leveling seems to produce tilted bed level around Y-axis

I have a Tevo Tornado that I've outfitted with an official BL-Touch auto level sensor. I can see the bed probing run, and I can see the Z axis slowly adjust during x/y moves, so it's doing something. However, you can see that there appears to be a systematic tilt:

Any ideas what could be causing this? The bed, gantry and print head is tight, no wobble. Here's my start code:

G28 ; home all axes
G29
G1 Z5 F5000 ; lift nozzle


I have mesh leveling enabled with a 5x5 grid and correct probe offsets. The bed itself is on PETG printed standoffs instead of springs to eliminate any jitter.

• would be good to know how it was before you've installed BL device :) was it better or worse before? as i suppose it was better than it is so my first idea is that the "correction" your device is giving has the opposite direction so it roughly doubles the difference May 16, 2019 at 5:34
• @darthpixel not sure why you think this made it worse, i made no mention of that. the behavior with the bltouch is better than manual calibration without. May 17, 2019 at 3:38
• i've said "as i suppose it was better..." as i supposed the problem "appeared" after installation of BL May 20, 2019 at 8:58

The problem with the Tevo Tornado design is that the design is as such that the Z-axis is powered by a single stepper (under the assumption that you have not added a second Z stepper).

This means that the level relies on the rigidity of the X-axis assembly, more specific the play on the guide wheels. Apparently the BL-Touch level determination suffers (the up and down movement while probing) from this design as can be seen from the tilt around the Y-axis direction. This effect causing the tilted level plane is called hysteresis. Now that the Z-axis moves up and down you experience much more problems than using a mechanical switch. The effect is more pronounced when the mass of the hot end carriage is furthest from the Z-axis lead screw.

Note that an extra stepper can also cause tilted level when the second stepper does not move in sync (e.g. missing steps). In such designs, a single stepper (geared) belt driven 2 lead screw has better performance in that respect.

• So is that the solution then? Add a second stepper? May 16, 2019 at 13:22
• Also - wouldn't this effect be present during calibration too, making the whole thing compensate for this? May 16, 2019 at 13:23
• @kolosy The hysteresis causes the tilted plane and the effect is more pronounced the further from the lead screw. No, it will not compensate as it measured wrong due to the design and the movement during the determination of the bed level. Yes, a second stepper would be a solution, a belt driven second lead screw is even better. The single stepper/single lead screw designs are cheap, but low quality solutions for Prusa i3/portal style printer designs
– 0scar
May 16, 2019 at 14:52
• Do you have any links to details on how to upgrade to a belt driven second lead screw? Web searching for that gives results on belt driven instead of lead screw z axis. May 16, 2019 at 19:04
• @T.M. You could design your own. Or try this mod.
– 0scar
May 16, 2019 at 19:33

I know this is incredibly old at this point, but in case anyone stumbles upon this post like I did, I wanted to point out that there is no semicolon behind your G29 code, so it's not being read properly

• This answer is incorrect, there is no need to put a semicolon behind the G-code; G-code is parsed by line where the semicolon denotes that everything after the semicolon needs to be discarded.
– 0scar
Dec 4, 2020 at 16:04
• You only need the semicolon if you'd like to leave a comment on the line. Dec 8, 2020 at 4:18