Skip to content

Adaptive Mesh Leveling (AML)

Miguel Risco-Castillo edited this page Sep 22, 2023 · 22 revisions

Adaptive mesh leveling (AML) is a technique that uses a bed leveling probe to create a mesh of the print bed surface. This mesh is then used to compensate for any unevenness in the bed during printing, resulting in better first layer adhesion and overall print quality. AML is different from traditional mesh leveling in that it only probes the areas of the bed where the print will be located. This reduces the amount of time it takes to level the bed and also provides a more accurate mesh, as it is only focused on the area of the bed that will be used.

For be able to use AML it is necessary to have a firmware with support for AML and the proper plugin/post-processing script installed in the slicer.

image

Currently it is very important to use the proposed start g-code scripts to be able to use AML correctly.

Cura start g-code script for use with AML

; Heat up
M104 S{material_print_temperature_layer_0} ; Set Extruder temperature
M140 S{material_bed_temperature_layer_0} ; Set Heat Bed temperature
G28 ; Home all axes
G27 ; Park toolhead
M190 S{material_bed_temperature_layer_0} ; Wait for Heat Bed temperature
M109 S{material_print_temperature_layer_0} ; Wait for Extruder temperature
;
; Reset settings
M220 S100 ;Reset Feedrate
M221 S100 ;Reset Flowrate
;
; Ender 3 Custom Start G-code
G92 E0 ; Reset Extruder
G28O ; Home optionally if steppers were shutdown
M420 S1 ; activate leveling
;
; Adaptive Mesh Leveling (AML)
C29 A N3 T0; enable AML 3x3
;

Prusa/Super Slicer start g-code script for use with AML

;
; First layer print x min = [first_layer_print_min_0]
; First layer print y min = [first_layer_print_min_1]
; First layer print x max = [first_layer_print_max_0]
; First layer print y max = [first_layer_print_max_1]
; Total layer count = [total_layer_count]
;
G90 ; use absolute coordinates
M83 ; extruder relative mode
; Heat up
M104 S[first_layer_temperature] ; set extruder temperature
M140 S[first_layer_bed_temperature] ; set bed temperature
G28 ; Home all axes
G27 ; Park toolhead
M190 S[first_layer_bed_temperature] ; wait for bed temperature
M109 S[first_layer_temperature] ; wait for extruder temperature
;
; Reset settings
M220 S100 ;Reset Feedrate
M221 S100 ;Reset Flowrate
;
; Ender Custom Start G-code
G92 E0 ; Reset Extruder
G28O ; Home optionally if steppers were shutdown
M420 S1 ; activate leveling
;
; Adaptive Mesh Leveling (AML)
; AML margin = 5
; AML prime = 1
C29 A N3 T0 ; enable AML 3x3
;

Use the new postprocessing script. Do not save parameters or mesh to keep the mesh from full bed.

references