<p>Because of thermal expansion, you will not get an accurate mesh result test after test for at least 30-60 minutes or longer, depending on the thickness of the bed plate.</p>
<p>I have 1/4 inch MIC6 plates on both my printers and I have to heat my beds for at least 60 minutes before the thermal expansion stops and I can get an accurate mesh and start printing. The funny thing is, no one tells you this when you buy an Antclab BLTouch. I bought 3 at once and thought they were all defective and garbage until I figured out it was thermal expansion. I couldn't get an accurate mesh twice in a row if my life depended on it. I still can't find this information anywhere to this day.</p>
<p>So for anyone reading this, if you want a perfect first layer using a BLTouch, keep doing a mesh test again and again until they are accurate one after another. Then you will know how long you have to wait before you can get a perfect first layer.</p>
<p>Oh and one more thing, different temps will mean different wait times. It takes longer for thermal expansion to settle at 70 °C or 100 °C than it does at 60 °C, depending on which type of filament you want to print. Happy Printing !!</p>

CC BY-SA 4.0
2023-02-03T16:30:09.027Z
2023-02-03T20:25:18.387Z
2023-02-03T20:25:18.387Z
James Hydra
<p>It looks like the changes are always going in the same direction for a given probe point (each point increases steadily or decreases steadily, there is no oscillation).</p>
<p>This means that the bed is not warm yet and you should wait longer.</p>
<p>In theory the heating of the BLtouch itself may affect the readings, and the air surely gets progressively warmer around it, but since some values increase and other ones decrease, that's not the cause.</p>
<p>The values change because the bed is still adapting to the temperature increase.</p>
<p>For a more systematic and scientific approach, do the following.</p>
<p>With the bed cold, heating off, probe a single point 10 times without any delay, then put the data in a spreadsheet and calculate the standard deviation, to know how accurate the sensor is.</p>
<p>After that probe the whole bed every 5 minutes during heating for half an hour and then plot the values on a graph (each point separately). At a certain point you will see that the values will oscillate about as much as they did when the bed was cold. That is the time you need to wait for proper bee heating. Different parts of the bed may reach the temperature in different times, that's why each probed point has to be graphed separately over time.</p>
<p>If you use an enclosure, as you do, the continuous change of BLtouch output can also be dependent on the overall heating of the printer frame and structure: instead of heating only the bed, in an environment which stays the same, you are heating the whole environment through the bed. It becomes more complex. The BLtouch may be fine, but you may need to keep heating it until the readings stabilise.</p>

CC BY-SA 4.0
2020-09-23T14:51:53.887Z
I can see that being the case. Probing itself takes adds a fair bit of time and I have to wait for it to fully heat up (with a thicker glass bed as well) it's gonna take a while. is there anything wrong with just probing anyway, even if they change slightly?
DreamingInsanity
CC BY-SA 4.0
2020-09-23T20:56:53.077Z
Well I'm confused... do you use BLtouch to get an accurate bed calibration or for the fun of it? if you want an accurate bed calibration "just probing anyway, even if they change slightly" seems pointless.
FarO
CC BY-SA 4.0
2020-09-24T15:23:43.433Z
No, of course not but I also don't want to wait 20 minutes for everything to fully heat up and probe. I'm pretty certain I'd already left it for quite a while because I do other things while it heats and usually get distracted. I can speed it up a bit by heating both nozzle and bed at the same time but it's not anything groundbreaking.
DreamingInsanity
CC BY-SA 4.0
2020-09-24T16:56:02.563Z
Just probe every 5 minutes and see when it stops changing. Then you'll know for the future.
FarO
CC BY-SA 4.0
2020-09-25T09:25:20.890Z
I haven't yet done that (will right now) but I have left the bed to heat up for at least half an hour. In the probes I get a variation of about +-0.010 to +-0.040 but it doesn't just keep increasing which is good.
DreamingInsanity
CC BY-SA 4.0
2020-09-25T10:35:33.067Z
I probed every 5 minutes and from the start there was no change at all. I did leave it to heat up for a little bit but no where near as long as before so to be honest I'm not really sure. I'll just have to roll with it and see how it goes.
DreamingInsanity
CC BY-SA 4.0
2020-09-25T20:44:43.220Z
See my updated answer
FarO
CC BY-SA 4.0
2020-09-26T07:46:27.510Z
I'll give that a go. Also, do you know how to probe just 1 point? I haven't been able to figure it out yet.
DreamingInsanity
CC BY-SA 4.0
2020-09-27T18:31:10.053Z
G30, check Marlin GCodes
FarO
CC BY-SA 4.0
2020-09-29T19:49:42.837Z
All done! [image](https://imgur.com/a/zv1e2Zu)
The info is written in the description of the image.
DreamingInsanity
CC BY-SA 4.0
2020-09-29T20:11:08.300Z
@DreamingInsanity you never mentioned how long it takes for the bed temperature sensor to reach the desired value. Anyway it looks like that your bed does not stabilise for a long time, or that there are further issues which I cannot identify. At this point, two options can be tried: 1) borrow a thermal camera to check that the upper surface of the bed reaches the temperature the sensor tells you; 2) heat the bed for another hour, and see if it stabilises! Can you post in the question (together with the graphs you made) also a picture of the whole printer? maybe there is something we miss!
FarO
CC BY-SA 4.0
2020-09-30T16:39:42.963Z
There's a picture of the printer, main board and also the raw data for the graphs [here](https://imgur.com/a/gY550dx). I times the heating and it takes roughly 1:50 for the nozzle to heat up and 2:22 for the bed to heat up. Oh and don't mind the mess the printer is in ;).
DreamingInsanity
CC BY-SA 4.0
2020-09-30T19:06:24.443Z
Answer updated, I think there's not much more to say...
FarO
CC BY-SA 4.0
2020-09-21T08:30:41.853Z
2020-09-30T19:03:03.847Z
2020-09-30T19:03:03.847Z
FarO
<p>The title pretty much sums up the issue. It was happening before moving to an SKR Mini E3 V1.2 and is still happening with the new board.
If I run A <code>G28</code>, then a <code>G29</code> - while <em>not</em> heated - I will get some mesh data (poor mesh data because I haven't levelled the bed but that's not the main issue).
If I then repeatedly run <code>G29</code> (lets say 5 times) there will be variation between the measurement but only and expected amount and nothing more.</p>
<pre><code>Bilinear Leveling Grid:
      0      1      2
 0 +0.592 +0.270 +0.010
 1 +0.082 +0.010 -0.062
 2 +0.215 +0.078 -0.065
Bilinear Leveling Grid:
      0      1      2
 0 +0.597 +0.267 +0.002
 1 +0.085 +0.007 -0.065
 2 +0.215 +0.078 -0.065
Bilinear Leveling Grid:
      0      1      2
 0 +0.607 +0.267 -0.002
 1 +0.085 +0.010 -0.065
 2 +0.212 +0.075 -0.060
</code></pre>
<p>Although it does continue to climb a bit, it's a BLTouch they're not <em>the</em> most accurate things so I'm not worrying about it.</p>
<p>However, if I heat the nozzle (200 °C) and bed (60 °C):</p>
<pre><code>Bilinear Leveling Grid:
      0      1      2
 0 +0.537 +0.252 +0.022
 1 +0.057 -0.002 -0.050
 2 +0.200 +0.075 -0.087
Bilinear Leveling Grid:
      0      1      2
 0 +0.495 +0.203 -0.030
 1 +0.020 -0.027 -0.097
 2 +0.150 +0.027 -0.127
Bilinear Leveling Grid:
      0      1      2
 0 +0.462 +0.180 -0.067
 1 -0.002 -0.072 -0.150
 2 +0.122 -0.010 -0.170
Bilinear Leveling Grid:
      0      1      2
 0 +0.422 +0.132 -0.105
 1 -0.057 -0.140 -0.192
 2 +0.075 -0.043 -0.215
Bilinear Leveling Grid:
      0      1      2
 0 +0.367 +0.082 -0.165
 1 -0.110 -0.155 -0.233
 2 +0.030 -0.102 -0.255
Bilinear Leveling Grid:
      0      1      2
 0 +0.347 +0.045 -0.190
 1 -0.135 -0.180 -0.250
 2 +0.002 -0.127 -0.280
Bilinear Leveling Grid:
      0      1      2
 0 +0.322 +0.032 -0.215
 1 -0.155 -0.230 -0.280
 2 -0.020 -0.142 -0.315
</code></pre>
<p>As you can see the variations in the measurements are <em>very</em> high.
This must be a known issue because Marlin does have a <code>PROBING_HEATERS_OFF</code> option but this would take even more time and I'm just curious if there is a reason for this or another fix to it.
I don't believe it would be a current issue since the power supply used can deliver many amps so it's probably something like electrical noise. I think it's fine to leave it because you only home and probe once during a print so the measurements would be 'accurate' but it would be reassuring to find out a reason and a possible fix.</p>
<p>I measured the rail with my oscilloscope and it actually isn't very noisy, whether I was heating or not. However, Vmax was 4.6 and Vmin was 4.4 and I'm wondering if that is too low. These voltages didn't change while heating so I think they are always that low.</p>
<p><strong>Edit</strong></p>
<p>For completeness, here an image of the printer:</p>
<p><a href="https://i.sstatic.net/2VPM3.jpg" rel="nofollow noreferrer"><img src="https://i.sstatic.net/2VPM3.jpg" alt="enter image description here" /></a></p>
<p>and here graphs about the BLtouch data over time:</p>
<p><a href="https://i.sstatic.net/MivOq.png" rel="nofollow noreferrer"><img src="https://i.sstatic.net/MivOq.png" alt="enter image description here" /></a></p>

CC BY-SA 4.0
2020-09-21T02:30:31.950Z
sometimes i have to re-level once the bed heats up, i assumed it was the metal expanding.
dandavis
<bed-leveling><bltouch><skr-mini-e3>
While heating, BLTouch mesh data gets worse and worse the more times you probe
DreamingInsanity
# While heating, BLTouch mesh data gets worse and worse the more times you probe

(Asked by: username_0 on 2020-09-19)

The title pretty much sums up the issue. It was happening before moving to an SKR Mini E3 V1.2 and is still happening with the new board.
If I run A G28, then a G29 - while not heated - I will get some mesh data (poor mesh data because I haven't levelled the bed but that's not the main issue).
If I then repeatedly run G29 (lets say 5 times) there will be variation between the measurement but only and expected amount and nothing more.
Bilinear Leveling Grid:
      0      1      2
 0 +0.592 +0.270 +0.010
 1 +0.082 +0.010 -0.062
 2 +0.215 +0.078 -0.065
Bilinear Leveling Grid:
      0      1      2
 0 +0.597 +0.267 +0.002
 1 +0.085 +0.007 -0.065
 2 +0.215 +0.078 -0.065
Bilinear Leveling Grid:
      0      1      2
 0 +0.607 +0.267 -0.002
 1 +0.085 +0.010 -0.065
 2 +0.212 +0.075 -0.060

Although it does continue to climb a bit, it's a BLTouch they're not the most accurate things so I'm not worrying about it.
However, if I heat the nozzle (200 °C) and bed (60 °C):
Bilinear Leveling Grid:
      0      1      2
 0 +0.537 +0.252 +0.022
 1 +0.057 -0.002 -0.050
 2 +0.200 +0.075 -0.087
Bilinear Leveling Grid:
      0      1      2
 0 +0.495 +0.203 -0.030
 1 +0.020 -0.027 -0.097
 2 +0.150 +0.027 -0.127
Bilinear Leveling Grid:
      0      1      2
 0 +0.462 +0.180 -0.067
 1 -0.002 -0.072 -0.150
 2 +0.122 -0.010 -0.170
Bilinear Leveling Grid:
      0      1      2
 0 +0.422 +0.132 -0.105
 1 -0.057 -0.140 -0.192
 2 +0.075 -0.043 -0.215
Bilinear Leveling Grid:
      0      1      2
 0 +0.367 +0.082 -0.165
 1 -0.110 -0.155 -0.233
 2 +0.030 -0.102 -0.255
Bilinear Leveling Grid:
      0      1      2
 0 +0.347 +0.045 -0.190
 1 -0.135 -0.180 -0.250
 2 +0.002 -0.127 -0.280
Bilinear Leveling Grid:
      0      1      2
 0 +0.322 +0.032 -0.215
 1 -0.155 -0.230 -0.280
 2 -0.020 -0.142 -0.315

As you can see the variations in the measurements are very high.
This must be a known issue because Marlin does have a PROBING_HEATERS_OFF option but this would take even more time and I'm just curious if there is a reason for this or another fix to it.
I don't believe it would be a current issue since the power supply used can deliver many amps so it's probably something like electrical noise. I think it's fine to leave it because you only home and probe once during a print so the measurements would be 'accurate' but it would be reassuring to find out a reason and a possible fix.
I measured the rail with my oscilloscope and it actually isn't very noisy, whether I was heating or not. However, Vmax was 4.6 and Vmin was 4.4 and I'm wondering if that is too low. These voltages didn't change while heating so I think they are always that low.
Edit
For completeness, here an image of the printer:

and here graphs about the BLtouch data over time:

**Tags:** bed-leveling, bltouch, skr-mini-e3
> **Comments:**
> **username_1**: sometimes i have to re-level once the bed heats up, i assumed it was the metal expanding.  

---

## 2 answers

### Answer by username_2 on 2023-02-03. Score: 1

Because of thermal expansion, you will not get an accurate mesh result test after test for at least 30-60 minutes or longer, depending on the thickness of the bed plate.

I have 1/4 inch MIC6 plates on both my printers and I have to heat my beds for at least 60 minutes before the thermal expansion stops and I can get an accurate mesh and start printing. The funny thing is, no one tells you this when you buy an Antclab BLTouch. I bought 3 at once and thought they were all defective and garbage until I figured out it was thermal expansion. I couldn't get an accurate mesh twice in a row if my life depended on it. I still can't find this information anywhere to this day.

So for anyone reading this, if you want a perfect first layer using a BLTouch, keep doing a mesh test again and again until they are accurate one after another. Then you will know how long you have to wait before you can get a perfect first layer.

Oh and one more thing, different temps will mean different wait times. It takes longer for thermal expansion to settle at 70 °C or 100 °C than it does at 60 °C, depending on which type of filament you want to print. Happy Printing !!


---

### Answer by username_3 on 2020-09-21. Score: 1

It looks like the changes are always going in the same direction for a given probe point (each point increases steadily or decreases steadily, there is no oscillation).

This means that the bed is not warm yet and you should wait longer.

In theory the heating of the BLtouch itself may affect the readings, and the air surely gets progressively warmer around it, but since some values increase and other ones decrease, that's not the cause.

The values change because the bed is still adapting to the temperature increase.

For a more systematic and scientific approach, do the following.

With the bed cold, heating off, probe a single point 10 times without any delay, then put the data in a spreadsheet and calculate the standard deviation, to know how accurate the sensor is.

After that probe the whole bed every 5 minutes during heating for half an hour and then plot the values on a graph (each point separately). At a certain point you will see that the values will oscillate about as much as they did when the bed was cold. That is the time you need to wait for proper bee heating. Different parts of the bed may reach the temperature in different times, that's why each probed point has to be graphed separately over time.

If you use an enclosure, as you do, the continuous change of BLtouch output can also be dependent on the overall heating of the printer frame and structure: instead of heating only the bed, in an environment which stays the same, you are heating the whole environment through the bed. It becomes more complex. The BLtouch may be fine, but you may need to keep heating it until the readings stabilise.

> **Comments:**
> **username_0**: I can see that being the case. Probing itself takes adds a fair bit of time and I have to wait for it to fully heat up (with a thicker glass bed as well) it's gonna take a while. is there anything wrong with just probing anyway, even if they change slightly?  
> **username_3**: Well I'm confused... do you use BLtouch to get an accurate bed calibration or for the fun of it? if you want an accurate bed calibration "just probing anyway, even if they change slightly" seems pointless.  
> **username_0**: No, of course not but I also don't want to wait 20 minutes for everything to fully heat up and probe. I'm pretty certain I'd already left it for quite a while because I do other things while it heats and usually get distracted. I can speed it up a bit by heating both nozzle and bed at the same time but it's not anything groundbreaking.  
> **username_3**: Just probe every 5 minutes and see when it stops changing. Then you'll know for the future.  
> **username_0**: I haven't yet done that (will right now) but I have left the bed to heat up for at least half an hour. In the probes I get a variation of about +-0.010 to +-0.040 but it doesn't just keep increasing which is good.  
> **username_0**: I probed every 5 minutes and from the start there was no change at all. I did leave it to heat up for a little bit but no where near as long as before so to be honest I'm not really sure. I'll just have to roll with it and see how it goes.  
> **username_3**: See my updated answer  
> **username_0**: I'll give that a go. Also, do you know how to probe just 1 point? I haven't been able to figure it out yet.  
> **username_3**: G30, check Marlin GCodes  
> **username_0**: All done! [image](https://imgur.com/a/zv1e2Zu) The info is written in the description of the image.  
> **username_3**: @DreamingInsanity you never mentioned how long it takes for the bed temperature sensor to reach the desired value. Anyway it looks like that your bed does not stabilise for a long time, or that there are further issues which I cannot identify. At this point, two options can be tried: 1) borrow a thermal camera to check that the upper surface of the bed reaches the temperature the sensor tells you; 2) heat the bed for another hour, and see if it stabilises! Can you post in the question (together with the graphs you made) also a picture of the whole printer? maybe there is something we miss!  
> **username_0**: There's a picture of the printer, main board and also the raw data for the graphs [here](https://imgur.com/a/gY550dx). I times the heating and it takes roughly 1:50 for the nozzle to heat up and 2:22 for the bed to heat up. Oh and don't mind the mess the printer is in ;).  
> **username_3**: Answer updated, I think there's not much more to say...  

---

