G29 - Bed Leveling (Manual)
Description
Mesh Bed Leveling (MBL) allows interactively measuring a Z height mesh without a bed probe. The only tool required is a piece of paper or a feeler gauge. MBL uses the mesh to compensate for variations in height across the bed.
Mesh Bed Leveling from the host:
- Use
G29 S0
to get the current status and mesh. If there’s an existing mesh, you can send M420 S1 to use it. - Use
G29 S1
to move to the first point for Z adjustment. - Adjust Z so a piece of paper can just pass under the nozzle.
- Use
G29 S2
to save the Z value and move to the next point. - Repeat steps 3-4 until completed.
- Use
M500
to save the mesh to EEPROM, if desired.
Mesh Bed Leveling using an LCD controller: (Requires LCD_BED_LEVELING
)
- Select
Level Bed
then chooseLevel Bed
(notCancel
) in the sub-menu. - Wait for
Homing XYZ
to complete. - When
Click to Begin
appears, press the controller button to move to the first point. - Use the controller wheel to adjust Z so that a piece of paper can just pass under the nozzle.
- Press the controller button to save the Z value and move to the next point.
- Repeat steps 4-5 until completed.
- Use
Control
>Store memory
to save the mesh to EEPROM, if desired.
Notes
Requires the MESH_BED_LEVELING
option in Configuration.h
.
Similar to AUTO_BED_LEVELING_BILINEAR
with PROBE_MANUALLY
but uses less SRAM.
For automatic probe-based leveling enable one of the AUTO_BED_LEVELING_*
options instead.
G28
disables bed leveling. Follow with M420 S
to turn leveling on, or use RESTORE_LEVELING_AFTER_G28
to automatically keep leveling on after G28
.
Parameters
G29
[I<index>]
[J<index>]
S<0|1|2|3|4|5>
[X<count>]
[Y<count>]
[Z<linear>]
[I<index>]
|
(Marlin 2.x) With |
[J<index>]
|
(Marlin 2.x) With |
S<0|1|2|3|4|5>
|
|
[X<count>]
|
(Marlin 1.x) With |
[Y<count>]
|
(Marlin 1.x) With |
[Z<linear>]
|
With |
Examples
S0 mesh report:
> S0
Num X,Y: 3,3
Z offset: 0
Measured points:
0 1 2
0 +0.011 -0.020 -0.026
1 +0.017 +0.002 -0.019
2 +0.022 -0.030 -0.013
(Marlin 1.x) Modify some mesh points and view the new mesh:
> S3 X3 Y3 Z0.042
> S3 X2 Y2 Z-0.666
> S0
Num X,Y: 3,3
Z offset: 0
Measured points:
0 1 2
0 +0.011 -0.020 -0.026
1 +0.017 -0.666 -0.019
2 +0.022 -0.030 +0.042
(Marlin 2.x) Modify some mesh points and view the new mesh:
> S3 I2 J2 Z0.042
> S3 I1 J1 Z-0.666
> S0
3x3 mesh. Z offset: 0
Measured points:
0 1 2
0 +0.011 -0.020 -0.026
1 +0.017 -0.666 -0.019
2 +0.022 -0.030 +0.042