<p>From the comments, it appears the general consensus is that automatic bed leveling can only compensate for about  0.5 mm of Z-axis difference from the lowest to highest points on a bed.  And that 1.0 mm is too much variation for automatic bed leveling to compensate for.</p>
<p>I wanted to add an answer to my question as it would have saved me hours of time wasted on running tests on my printer while thinking 1.0 mm compensation was well within the capability of any automatic bed leveling scheme.</p>
<p>I wanted to add <a href="https://marlinfw.org/docs/basics/troubleshooting.html#one-side-high,-one-side-low" rel="nofollow noreferrer">text from the Marlin website</a> regarding the exact problem I am having above.  The Marlin comments align with <a href="https://3dprinting.stackexchange.com/users/5740/0scar">Oscar</a>'s answer which I have already accepted.</p>
<blockquote>
<h3>One Side High, One Side Low</h3>
<ul>
<li>Problem: Bed probe done, leveling compensation enabled, and the first layer comes out out too squished on the right side, or too high
on the left side, or <em>vice-versa</em>.</li>
<li>Solution: Make sure the probe is always perpendicular to the bed as the carriage moves. If the wires or Bowden tube are pulling on the
carriage, or if the X gantry is even slightly twisted, the probe will
not remain perpendicular and its readings will be garbaggio. There is
a feature called <code>MECHANICAL_GANTRY_CALIBRATION</code> that can be used to
compensate, but it is always best to tackle any mechanical issues
first.</li>
</ul>
</blockquote>
<p><strong>(If this is not the case I will gladly modify my answer based on any additional comments.  Thanks for all the feedback!)</strong></p>

CC BY-SA 4.0
2024-06-28T07:58:48.133Z
No this is not true, I've seen compensation of 10 mm slanted/tilted beds. It all depends on what kind of surface mesh is created to follow the bed surface.
0scar
CC BY-SA 4.0
2024-06-28T12:57:08.237Z
Can you reference how this is done @Oscar? Where people have described the necessary hardware, software and settings for such compensation? I have searched and have not found very much help other then to level the bed. Which, frankly, was exactly what I had to do before adding bed leveling to my printer.
st2000
CC BY-SA 4.0
2024-06-28T16:09:12.680Z
The reference is all tutorials out there on the web, but now for a very slanted bed. Creality used to demonstrate this, but these are just demonstrations. Based on the type of mesh and the defect you want to compensate, bed levelling either works or it doesn't. If you have a dip in the bed, don't use a single straight plane mesh. Use a mesh with a grid size high enough to capture the defect. Your problem is probably not related to the levelling, but related to your hardware.
0scar
CC BY-SA 4.0
2024-07-01T02:47:04.157Z
I've been printing w/this CR-10 & glass plate for about 6 years w/great results. I bed leveled before every print. I've never seen any evidence of any dips in the glass surface in all those years. Then I added the CRTouch. Then I used OctoPrint to report on the glass surface. It said there was a 1 mm different from the left to the right of the bed. I thought, the CRTough+Marlin should be able to compensates for a 1 mm difference.  But it failed the print above. I did then manually bed level and repeated the test and it turned out great. My point: Using the CRTouch did not make any difference.
st2000
CC BY-SA 4.0
2024-07-01T17:33:12.460Z
Correct, if your build surface is flat, you don't need a touch sensor. My printers have BLTouch sensors, but I rarely use them to rescan the surface, just once, then I apply the mesh which I seldomly update, never have problems with the first layer. Note that I do spend time to tram the bed correctly and also use glass to print on.
0scar
CC BY-SA 4.0
2024-07-02T13:49:00.563Z
If you are down voting, I would encourage you to leave a comment as to the reason. I want to make it clear that I am willing to curate the answer. After all, getting an answer to my question is only 1/2 the reason we are here. The other 1/2 is for those asking the same question in the future and looking for the best answer(s).
st2000
CC BY-SA 4.0
2024-06-27T17:54:19.673Z
2024-07-08T03:07:56.877Z
2024-07-08T03:07:56.877Z
st2000
<p>From the image and your observations:</p>
<blockquote>
<p>&quot;the squares on the right top and right bottom printed so thin I could see through them&quot;</p>
</blockquote>
<p>Hints to a different problem than your posed question. Depending on what type of levelling mesh and the amount of probing points you use, the bed surface will be replicated. The accuracy of that mesh, and the type (e.g. a plane versus a bed surface scan), is controllable by you, but remember that the resolution of the probing points must be higher than the defect you want to counter measure. See <a href="https://3dprinting.stackexchange.com/questions/16604/automatic-bed-leveling-abl-with-a-sensor-bltouch-inductive-capacitive-how">Automatic Bed Leveling (ABL) with a sensor (BLTouch, inductive, capacitive), how does it work?</a> for a description how bed levelling works.</p>
<p>The problem with the economic printers like the CR-10 is that they employ a single drive Z-axis together with a questionable solution using a roller system over the aluminium profiles, it is a cheap solution often causing many problems when the printer ages (see many questions here). Note that I'm not bashing the printer, but just pointing out the weaknesses.</p>
<p>The graph and your observations that the right side of the printer prints &quot;more thin&quot; square's, hints to problems with the misalignment of the X-Z gantry. You most probably need to realign the roller carriages, re-tighten the eccentric roller or replace rollers. This has shown to work for many others with similar symptoms.</p>
<p>Hence, the question &quot;How much variation can auto bed leveling compensate for?&quot; shouldn't be the question for this problem, I've seen compensations for beds that where at least 10 mm higher on one side and still the head followed the bed surface. Or examples where a coin was placed on the bed, all imperfections are perfectly accounted for.</p>

CC BY-SA 4.0
2024-07-01T19:47:09.510Z
Interesting, I have not heard of this before but your explanation does make perfect sense.
agarza
CC BY-SA 4.0
2024-07-02T13:46:24.720Z
That is a satisfying answer. But can you add: "Why is gantry misalignment not compensated for?"  After all, any variation in height recorded by the 25 point auto bed leveling scan for the failed print should include gantry height variations.
st2000
CC BY-SA 4.0
2024-07-02T21:22:25.177Z
When there is play in the system, you get hysteresis, there is an awfully example of a video of a YouTuber that adds the touch sensor and when he demonstrates the working you see the whole gantry move. It doesn't compensate for that. If you see the movie you'll understand, if I find it I'll repost it, found it:  [CR Touch Install Guide – Complete Walkthrough!](https://www.youtube.com/watch?v=b3r0t7PvbHc). Please forget about this video, this guy does it completely wrong. From the 13 minute mark look closely to the gantry, this is the reason why not to buy such a portal printer.
0scar
CC BY-SA 4.0
2024-07-01T17:25:10.947Z
2024-07-01T20:30:06.313Z
2024-07-01T20:30:06.313Z
0scar
<p>I just upgraded an original CR-10 with the CRTouch bed leveling sensor and upgraded the firmware from stock to Marlin. In the CURA slicer, I added a preamble to every print to perform bed leveling. The bed leveling is running a 5 by 5 (25 point) leveling sequence. The sequence is not started until the bed and hot end are at temperature.</p>
<p>When using the above configuration with a bed level test (5 squares, 1 in each corner and at the center of the bed) the squares on the right top and right bottom printed so thin I could see through them!</p>
<p><a href="https://i.sstatic.net/GPLahXSQ.jpg" rel="nofollow noreferrer" title="Photo of a 5-square bed level model printed on a glass bed"><img src="https://i.sstatic.net/GPLahXSQ.jpg" alt="Photo of a 5-square bed level model printed on a glass bed" title="Photo of a 5-square bed level model printed on a glass bed" /></a></p>
<p><em>(In this image the top is the left side of the bed and the bottom is the right.)</em></p>
<p>I then used OctoPrint to report on the bed height and found that the left side of the bed was about -0.5 mm and the right about +0.5 mm.</p>
<p><a href="https://i.sstatic.net/2fpXf2IM.jpg" rel="nofollow noreferrer" title="Screenshot of a height map from OctoPrint"><img src="https://i.sstatic.net/2fpXf2IM.jpg" alt="Screenshot of a height map from OctoPrint" title="Screenshot of a height map from OctoPrint" /></a></p>
<p>Is it incorrect for me to assume that bed leveling could have compensated for a 1.0 mm difference between the lowest and highest points on a 3D printer's bed??</p>
<p>To verify that all the software and hardware were actually performing (some) bed leveling, I observed the Z-axis stepping motor while printing the skirt for the above bed-level test pattern.  I did see where the Z-axis stepping motor turned about 1/4 of a turn in the positive (up) Z-axis direction as the hot end traveled from the (low) left to the (high) right side of the bed. So, bed leveling appears to be working.  But not enough to make a good first-layer print on the right side of the bed.</p>
<hr />
<p>Added later...</p>
<p>I needed to add to the question to address manual bed leveling. As asked by a 3dprinting.stackexchange.com contributor.</p>
<ul>
<li><p>This is not a question regarding manual bed leveling.  This is a question asking how much can auto bed leveling compensate for. Specifically, can a 25 point scan (a 5 by 5 point grid) before every print compensate for 1 mm linear (not a dip but a straight flat surface) difference from the left side to the right side of the glass build surface.</p>
</li>
<li><p>Before posting this question, in a effort to fully understand the situation, I did verify the CR-10 printer could pass the bed leveling test. I did this by reverting to manually leveling the bed before the second bed leveling test.  I did this (manual bed leveling) just as if no CRTouch was installed.  Just like I would have over the previous 6 years using this printer and glass bed. The results were great. Please note what I am inferring here ... in order to pass the bed level test, I had to manually bed level the CR-10.  The CRTouch did not make any difference. The first test failed despite using a CRTouch and 25 point alignment.  And the second test would have likely passed with out using the CRTouch after the bed was manually leveled.</p>
</li>
</ul>

CC BY-SA 4.0
2024-06-27T14:34:20.937Z
Have you trammed the bed? (see [How do you level (or tram) your build surface correctly?](https://3dprinting.stackexchange.com/questions/19081/how-do-you-level-or-tram-your-build-surface-correctly))
agarza
CC BY-SA 4.0
2024-06-27T17:24:32.920Z
I did subsequently level the bed. I re-ran the OctoPrint bed level report after. IIRC, I reduced the variation from 1mm to 0.5mm.  I re-printed the bed level test.  And the test looked great! But, at this point, I asked myself: "Why did I spend  money & time to add a CRTouch? When, in the end, I had to manually level the bed to get a good print?". I did contemplate added the above to the original question. But I did not want to take away from what I really want to know. That is, should we or should we not expect bed leveling schemes to be able to compensate for a 1mm bed height difference?
st2000
CC BY-SA 4.0
2024-06-27T17:30:27.770Z
Tramming the bed makes sure that the bed is parallel with the movement of the X-axis. The probe is there to compensate for the minor imperfections that a bed surface may have or when switching from one bed to another.
agarza
CC BY-SA 4.0
2024-06-27T17:32:02.720Z
It sounds like tramming the bed helped solve the problem. If that is the case, please respond so that this question can be marked as a duplicate.
agarza
CC BY-SA 4.0
2024-06-27T17:36:48.553Z
I appreciate all the feed back.  I just want make sure I understand.  For people who have been printing for years and not have had any problem.  Who manually level their beds before every print ... automatic bed leveling is not for you.  As you will still be tasked to level your bed.  Even after installing bed leveling hardware and software.  Do I have that correct?
st2000
CC BY-SA 4.0
2024-06-27T17:40:58.313Z
Bed levelling/tramming should be done whenever there is a change that could affect the X-axis, i.e. installing a new hotend/nozzle, etc. If the tramming is done, then the bed probe will compensate for the smaller variances.
agarza
CC BY-SA 4.0
2024-06-27T17:46:12.350Z
Ok, so, the upper limit to automatic bed leveling is about 0.5mm of compensation.  I wish that was widely published. It would have saved me a lot of time.  And from looking around the internet, there are still plenty of people out there pulling their hairs out of their heads and crap talking bed leveling.
st2000
CC BY-SA 4.0
2024-06-27T17:52:20.860Z
A lot of terminology was tossed around by newer users that confused other new users. I will mark this as a duplicate since your problem was fixed.
agarza
CC BY-SA 4.0
2024-07-01T19:21:38.990Z
@agarza If you look closely at the question and read my answer, you see that this is probably not related to tramming, this is a typical problem of the gantry of these printer types. So, I'm inclined not to think this is answered by the question you link.
0scar
CC BY-SA 4.0
2024-07-07T21:53:05.810Z
Look at https://youtu.be/zKpNxqWie_8 at 27 seconds and see it follows a defect without problems.
0scar
CC BY-SA 4.0
2024-07-08T13:16:06.410Z
Ha! No it doesn't. (Hard to see, easy after slowing it down.) I wonder if that was an example before mesh bed leveling. Or if it was a mistake to include it. As the hot-end head doesn't follow the surface of the painter's blue tape after clearing the highest point.
st2000
<marlin><ultimaker-cura><automatic-bed-leveling><crtouch>
How much variation can auto bed leveling compensate for?
st2000
# How much variation can auto bed leveling compensate for?

(Asked by: username_0 on 2024-06-27)

I just upgraded an original CR-10 with the CRTouch bed leveling sensor and upgraded the firmware from stock to Marlin. In the CURA slicer, I added a preamble to every print to perform bed leveling. The bed leveling is running a 5 by 5 (25 point) leveling sequence. The sequence is not started until the bed and hot end are at temperature.

When using the above configuration with a bed level test (5 squares, 1 in each corner and at the center of the bed) the squares on the right top and right bottom printed so thin I could see through them!

[![Photo of a 5-square bed level model printed on a glass bed](https://i.sstatic.net/GPLahXSQ.jpg "Photo of a 5-square bed level model printed on a glass bed")](https://i.sstatic.net/GPLahXSQ.jpg "Photo of a 5-square bed level model printed on a glass bed")

*(In this image the top is the left side of the bed and the bottom is the right.)*

I then used OctoPrint to report on the bed height and found that the left side of the bed was about -0.5 mm and the right about +0.5 mm.

[![Screenshot of a height map from OctoPrint](https://i.sstatic.net/2fpXf2IM.jpg "Screenshot of a height map from OctoPrint")](https://i.sstatic.net/2fpXf2IM.jpg "Screenshot of a height map from OctoPrint")

Is it incorrect for me to assume that bed leveling could have compensated for a 1.0 mm difference between the lowest and highest points on a 3D printer's bed??

To verify that all the software and hardware were actually performing (some) bed leveling, I observed the Z-axis stepping motor while printing the skirt for the above bed-level test pattern. I did see where the Z-axis stepping motor turned about 1/4 of a turn in the positive (up) Z-axis direction as the hot end traveled from the (low) left to the (high) right side of the bed. So, bed leveling appears to be working. But not enough to make a good first-layer print on the right side of the bed.

---

Added later...

I needed to add to the question to address manual bed leveling. As asked by a 3dprinting.stackexchange.com contributor.

* This is not a question regarding manual bed leveling. This is a question asking how much can auto bed leveling compensate for. Specifically, can a 25 point scan (a 5 by 5 point grid) before every print compensate for 1 mm linear (not a dip but a straight flat surface) difference from the left side to the right side of the glass build surface.
* Before posting this question, in a effort to fully understand the situation, I did verify the CR-10 printer could pass the bed leveling test. I did this by reverting to manually leveling the bed before the second bed leveling test. I did this (manual bed leveling) just as if no CRTouch was installed. Just like I would have over the previous 6 years using this printer and glass bed. The results were great. Please note what I am inferring here ... in order to pass the bed level test, I had to manually bed level the CR-10. The CRTouch did not make any difference. The first test failed despite using a CRTouch and 25 point alignment. And the second test would have likely passed with out using the CRTouch after the bed was manually leveled.

**Tags:** marlin, ultimaker-cura, automatic-bed-leveling, crtouch
> **Comments:**
> **username_1**: Have you trammed the bed? (see [How do you level (or tram) your build surface correctly?](https://3dprinting.stackexchange.com/questions/19081/how-do-you-level-or-tram-your-build-surface-correctly))  
> **username_0**: I did subsequently level the bed. I re-ran the OctoPrint bed level report after. IIRC, I reduced the variation from 1mm to 0.5mm.  I re-printed the bed level test.  And the test looked great! But, at this point, I asked myself: "Why did I spend  money & time to add a CRTouch? When, in the end, I had to manually level the bed to get a good print?". I did contemplate added the above to the original question. But I did not want to take away from what I really want to know. That is, should we or should we not expect bed leveling schemes to be able to compensate for a 1mm bed height difference?  
> **username_1**: Tramming the bed makes sure that the bed is parallel with the movement of the X-axis. The probe is there to compensate for the minor imperfections that a bed surface may have or when switching from one bed to another.  
> **username_1**: It sounds like tramming the bed helped solve the problem. If that is the case, please respond so that this question can be marked as a duplicate.  
> **username_0**: I appreciate all the feed back.  I just want make sure I understand.  For people who have been printing for years and not have had any problem.  Who manually level their beds before every print ... automatic bed leveling is not for you.  As you will still be tasked to level your bed.  Even after installing bed leveling hardware and software.  Do I have that correct?  
> **username_1**: Bed levelling/tramming should be done whenever there is a change that could affect the X-axis, i.e. installing a new hotend/nozzle, etc. If the tramming is done, then the bed probe will compensate for the smaller variances.  
> **username_0**: Ok, so, the upper limit to automatic bed leveling is about 0.5mm of compensation.  I wish that was widely published. It would have saved me a lot of time.  And from looking around the internet, there are still plenty of people out there pulling their hairs out of their heads and crap talking bed leveling.  
> **username_1**: A lot of terminology was tossed around by newer users that confused other new users. I will mark this as a duplicate since your problem was fixed.  
> **username_2**: @agarza If you look closely at the question and read my answer, you see that this is probably not related to tramming, this is a typical problem of the gantry of these printer types. So, I'm inclined not to think this is answered by the question you link.  
> **username_2**: Look at https://youtu.be/zKpNxqWie_8 at 27 seconds and see it follows a defect without problems.  
> **username_0**: Ha! No it doesn't. (Hard to see, easy after slowing it down.) I wonder if that was an example before mesh bed leveling. Or if it was a mistake to include it. As the hot-end head doesn't follow the surface of the painter's blue tape after clearing the highest point.  

---

## 2 answers

### Answer by username_2 on 2024-07-01. Score: 3 | Accepted answer

From the image and your observations:

> "the squares on the right top and right bottom printed so thin I could see through them"

Hints to a different problem than your posed question. Depending on what type of levelling mesh and the amount of probing points you use, the bed surface will be replicated. The accuracy of that mesh, and the type (e.g. a plane versus a bed surface scan), is controllable by you, but remember that the resolution of the probing points must be higher than the defect you want to counter measure. See [Automatic Bed Leveling (ABL) with a sensor (BLTouch, inductive, capacitive), how does it work?](https://3dprinting.stackexchange.com/questions/16604/automatic-bed-leveling-abl-with-a-sensor-bltouch-inductive-capacitive-how) for a description how bed levelling works.

The problem with the economic printers like the CR-10 is that they employ a single drive Z-axis together with a questionable solution using a roller system over the aluminium profiles, it is a cheap solution often causing many problems when the printer ages (see many questions here). Note that I'm not bashing the printer, but just pointing out the weaknesses.

The graph and your observations that the right side of the printer prints "more thin" square's, hints to problems with the misalignment of the X-Z gantry. You most probably need to realign the roller carriages, re-tighten the eccentric roller or replace rollers. This has shown to work for many others with similar symptoms.

Hence, the question "How much variation can auto bed leveling compensate for?" shouldn't be the question for this problem, I've seen compensations for beds that where at least 10 mm higher on one side and still the head followed the bed surface. Or examples where a coin was placed on the bed, all imperfections are perfectly accounted for.

> **Comments:**
> **username_1**: Interesting, I have not heard of this before but your explanation does make perfect sense.  
> **username_0**: That is a satisfying answer. But can you add: "Why is gantry misalignment not compensated for?"  After all, any variation in height recorded by the 25 point auto bed leveling scan for the failed print should include gantry height variations.  
> **username_2**: When there is play in the system, you get hysteresis, there is an awfully example of a video of a YouTuber that adds the touch sensor and when he demonstrates the working you see the whole gantry move. It doesn't compensate for that. If you see the movie you'll understand, if I find it I'll repost it, found it:  [CR Touch Install Guide – Complete Walkthrough!](https://www.youtube.com/watch?v=b3r0t7PvbHc). Please forget about this video, this guy does it completely wrong. From the 13 minute mark look closely to the gantry, this is the reason why not to buy such a portal printer.  

---

### Answer by username_0 on 2024-06-27. Score: -1

From the comments, it appears the general consensus is that automatic bed leveling can only compensate for about 0.5 mm of Z-axis difference from the lowest to highest points on a bed. And that 1.0 mm is too much variation for automatic bed leveling to compensate for.

I wanted to add an answer to my question as it would have saved me hours of time wasted on running tests on my printer while thinking 1.0 mm compensation was well within the capability of any automatic bed leveling scheme.

I wanted to add [text from the Marlin website](https://marlinfw.org/docs/basics/troubleshooting.html#one-side-high,-one-side-low) regarding the exact problem I am having above. The Marlin comments align with [Oscar](https://3dprinting.stackexchange.com/users/5740/0scar)'s answer which I have already accepted.

> ### One Side High, One Side Low
>
> * Problem: Bed probe done, leveling compensation enabled, and the first layer comes out out too squished on the right side, or too high
>   on the left side, or *vice-versa*.
> * Solution: Make sure the probe is always perpendicular to the bed as the carriage moves. If the wires or Bowden tube are pulling on the
>   carriage, or if the X gantry is even slightly twisted, the probe will
>   not remain perpendicular and its readings will be garbaggio. There is
>   a feature called `MECHANICAL_GANTRY_CALIBRATION` that can be used to
>   compensate, but it is always best to tackle any mechanical issues
>   first.

**(If this is not the case I will gladly modify my answer based on any additional comments. Thanks for all the feedback!)**

> **Comments:**
> **username_2**: No this is not true, I've seen compensation of 10 mm slanted/tilted beds. It all depends on what kind of surface mesh is created to follow the bed surface.  
> **username_0**: Can you reference how this is done @Oscar? Where people have described the necessary hardware, software and settings for such compensation? I have searched and have not found very much help other then to level the bed. Which, frankly, was exactly what I had to do before adding bed leveling to my printer.  
> **username_2**: The reference is all tutorials out there on the web, but now for a very slanted bed. Creality used to demonstrate this, but these are just demonstrations. Based on the type of mesh and the defect you want to compensate, bed levelling either works or it doesn't. If you have a dip in the bed, don't use a single straight plane mesh. Use a mesh with a grid size high enough to capture the defect. Your problem is probably not related to the levelling, but related to your hardware.  
> **username_0**: I've been printing w/this CR-10 & glass plate for about 6 years w/great results. I bed leveled before every print. I've never seen any evidence of any dips in the glass surface in all those years. Then I added the CRTouch. Then I used OctoPrint to report on the glass surface. It said there was a 1 mm different from the left to the right of the bed. I thought, the CRTough+Marlin should be able to compensates for a 1 mm difference.  But it failed the print above. I did then manually bed level and repeated the test and it turned out great. My point: Using the CRTouch did not make any difference.  
> **username_2**: Correct, if your build surface is flat, you don't need a touch sensor. My printers have BLTouch sensors, but I rarely use them to rescan the surface, just once, then I apply the mesh which I seldomly update, never have problems with the first layer. Note that I do spend time to tram the bed correctly and also use glass to print on.  
> **username_0**: If you are down voting, I would encourage you to leave a comment as to the reason. I want to make it clear that I am willing to curate the answer. After all, getting an answer to my question is only 1/2 the reason we are here. The other 1/2 is for those asking the same question in the future and looking for the best answer(s).  

---

