Plugin designed to expedite your 3D printing process. It smartly reduces unnecessary Auto Bed Leveling (ABL) actions, letting you focus on what's important – your prints, not the prep time. Compatible with a wide array of 3D printing firmwares, SmartABL is perfect for anyone looking to enhance their printing efficiency, from hobbyists to professionals.
The plugin reads ABL_CMD
1 from your print file and check the bed mesh
in memoryM.
- If mesh is updated,
M420 S1
M is sent in order to load bed mesh from memory. - If mesh is outdated or doesn't exist,
ABL_CMD
is sent in order to generate a new mesh. On Marlin,M500
is also sent to save the mesh on the eeprom.
1:
ABL_CMD
can beG29
(Marlin/Prusa-buddy),G80
(Prusa) orBED_MESH_CALIBRATE
(Klipper). This can be customized in SmartABL settings.
Warning: Prusa and Klipper require at least 1 ABL to track the state.
Note: By default, the standard ABL command for each firmware triggers SmartABL algorithm, however, you can customize this behaviour in settings: the command that triggers the algorithm, the command sent to the printer or even ignore commands.
References:
Credits to Oscar for the idea.
- Marlin (M)
- Prusa (P)
- Prusa-buddy (B)
- Klipper (K)
- Custom*
*: You can customize the gcode triggering ABL and the gcode sent to the printer in settings. Check the setting "Enable SmartABL on unknown firmware" to use not detected firmwares.
Want your firmware to be compatible? Open an Issue on github so we can add it 🙂
Don't forget to upload plugin_SmartABL.log!!
Install via the bundled Plugin Manager or manually using this URL:
https://github.com/scmanjarrez/OctoPrint-SmartABL/archive/master.zip
@SMARTABLRESET
: Send this command by terminal or gcode to zero the counter.
GCODES
-
Trigger custom gcode(s): By default, SmartABL only triggers with the standard ABL commands, i.e.
G29/G80/BED_MESH_CALIBRATE
. However, you can define here a list of gcodes that can trigger SmartABl, e.g. macros or non-standard commands. Default: disabled (G29). -
ABL custom gcode(s): By default, SmartABL sends the standard ABL commands, i.e.
G29/G80/BED_MESH_CALIBRATE
. However, you can define here a list of gcodes that will be sent instead, e.g. macros or non-standard commands. Default: disabled (G29). -
Ignore gcode(s): Define here if you want to skip gcodes. The commands defined here won't be sent to the printer. Default: disabled.
Force bed leveling
- After
#
days. Default: enabled (1). - After
#
prints. Default: enabled (5). - If current print bed temperature is different from last print. Default: enabled.
- If current print hotend temperature is different from last print. Default: enabled.
Extras
- Take into account failed/stopped jobs in prints counter. Default: disabled (only successful prints increase the counter).
- Enable SmartABL on unknown firmwares.
Default: disabled.
You have to enable and configure
Trigger custom gcode(s)
andABL custom gcode(s)
. If you don't configure these two settings, SmartABL assumes marlin firmware by default (i.e. G29 read from file and G29 send to printer when ABL is needed)
-
ABL Restricted: Normal behaviour, the plugin chooses when to trigger ABL based on your settings.
-
P/FP: Number of current prints/Number of prints to force ABL.
-
ABL Always: Ignore settings; the plugin always trigger ABL. Handy when you need to force-update your mesh.
You find this plugin helpful and want to support me?
Thank you jneilliii and foosel for your continuous help!
OctoPrint-SmartABL Copyright (C) 2022-2024 scmanjarrez.
This program comes with ABSOLUTELY NO WARRANTY; for details check below.
This is free software, and you are welcome to redistribute it
under certain conditions; check below for details.