# Output of G29 bed leveling, Marlin 2.0

I want to check how stable the output of the bedleveling protocol G29 was by running it multiple times. When running it four times, I got this as subsequent output

Recv: Bilinear Leveling Grid:
Recv:       0      1      2
Recv:  0 -0.056 -0.475 -0.605
Recv:  1 +0.124 -0.349 -0.595
Recv:  2 -0.023 -0.344 -0.673
Recv:

Recv:       0      1      2
Recv:  0 +0.218 -0.183 -0.325
Recv:  1 +0.399 -0.073 -0.328
Recv:  2 +0.251 -0.072 -0.399
Recv:

Recv:       0      1      2
Recv:  0 +0.498 +0.090 -0.049
Recv:  1 +0.677 +0.211 -0.038
Recv:  2 +0.531 +0.217 -0.117

Recv: Bilinear Leveling Grid:
Recv:       0      1      2
Recv:  0 +0.772 +0.368 +0.222
Recv:  1 +0.949 +0.482 +0.231
Recv:  2 +0.806 +0.495 +0.154


Which are quite unstable, and strange results. It seems as if there is an increment of around +0.27/0.28 for each probe point in the next iteration. How can this happen? What are the right bed level settings right now?

• Printer: Anet A6
• Probe: BLTouch
• Software: Marlin 2.0
• Bed level mode: Bilinear
• Amount of probe points: 3x3
• Probe surface: glass bed

For reference, here are the Configuration.h and the Configuration_adv.h.

Actually the sensor reads the bed correctly in terms of shape, not in actual reproducible distance.

Plotting the grids:

Results in pretty much the same shapes, so, when correcting for the maximum displacement and plotting all results in a single graph gives:

So the sensor does seem to produce reproducible bed geometry, but not the actual values.

Misinterpreting your initial question I assumed a default Anet sensor, this official ROKO SN04-N sensor is reported to not be very accurate and has a maximum hysteresis of 10 % error of the detecting distance, which is 10 % of 5 mm (so ± 0.5 mm). The overall maximum measurement is in grid 4 with a value of 0.949 mm and in grid 1 with a value of 0.124 mm; 0.949 mm - 0.124 mm = 0.825 mm is well within the ± 0.5 mm. This seems odd as the hysteresis should be in play on all measurements as the probe goes up and down. I've used this sensor myself, but replaced it for a more reliable sensor like the LJ18A3-8-Z/BX.

Now that it is clear that an accurate sensor is being used, there might be some play/backlash present in your printer. You should check the probe mount and the Z-axis.

• Oh wow @0scar, how sweet of you to take this effort in the plotting! I agree with you that it seems to get the overal 'shape' of the bed. Note however that I am using the BLTouch, which seems pretty accurate seen from the M48 results (I believe 0.0009 standard deviation). I will see if I can do this test again, but then add a G28 in between the results.. or maybe an M500 command. I can imagine that the routine somehow accumulates all the measurements
– zwep
Nov 16 '20 at 14:35
• @zwep I read Anet A6 probe, now I understand that you mean printer Anet A6 and a BLTouch probe and BLTouch software! Sorry for the miscommunication, I'll alter the answer, but the main message will be the same, you need to check the bracket and the Z-axis for play or hysteresis/backlash.
– 0scar
Nov 16 '20 at 14:43
• Hi, just did an additional test with MULTIPLE_PROBING set to 3 and this gave consistent results!
– zwep
Nov 16 '20 at 18:44