Simple plugin to improve auto bed leveling, adding some conditions in order to minimize the number of ABLs triggered.

SmartABL

How it works?

The plugin reads G29* from *.gcode and check the bed mesh in memory.

  • If mesh is updated, M429 S1 is sent in order to load bed mesh from memory.
  • If mesh is outdated or doesn’t exist, G29* and M500 are sent in order to generate a new mesh and save it to eeprom, respectively.

    *: By default, the same ABL command read from your file is sent to the printer.

References:

Credits to Oscar for the idea.

Configuration

By default, SmartABL does not change the behaviour of the auto bed leveling. User must change default values in settings:

Settings panel

Leveling command

  • Ignore gcode read from files and send a custom gcode instead. Default: disabled (G29).

Force bed leveling

  • After # days. Default: disabled (1).
  • After # prints. Default: disabled (5).
  • If current print bed temperature is different from last print. Default: disabled.
  • If current print hotend temperature is different from last print. Default: disabled.

Prints counter

  • Take into account failed prints in the counter. Default: disabled (only successful prints increase the counter).
Screenshot of SmartABL settings panel

Side panel

  • ABL Restricted: Normal behaviour, the plugin chooses when to trigger ABL based on your settings.

  • ABL Always: Ignore settings; the plugin always trigger ABL. Handy when you need to force-update your mesh.

Screenshot of SmartABL side panel

Support me

You find this plugin helpful and want to support me?

Ko-fi link to support me