PLEASE NOTE: If you have a printer with the stock board/supported aftermarket board, the easiest and quickest setup is to use our Unified 2 Firmware package. This guide is for people wanting to run Klipper on a printer using an EZABL.
You still must follow the EZABL installation guide to install the hardware kit. This is ONLY for firmware setup.
This guide covers the probe settings and complementing features to get the best experience with the EZABL when using the latest version Klipper. Other printer settings will need to be set to get the firmware working in general with your particular machine. This guide is assuming that you already have all your other printer settings configured and setup in the printer.cfg file. You can get more information on setting up your Klipper firmware on their site here: https://www.klipper3d.org/Installation.html
The first steps for setting up the EZABL in Klipper after installing the probe and wiring it would be setting up the printer.cfg. First you will want to open up your printer.cfg and remove any Z offsets and probe settings if any already exist then add the following lines
[probe] pin: #### MUST BE SET ##### # Probe detection pin. The Signal pin going to the EZABL x_offset: #### MUST BE SET ##### # The distance (in mm) between the probe and the nozzle along the # x-axis. The default is 0. # If the probe is LEFT of the nozzle, this number is negative. (ex: -12) # If the probe is RIGHT of the nozzle, this number is positive. (ex: 12) y_offset: #### MUST BE SET ##### # The distance (in mm) between the probe and the nozzle along the # y-axis. The default is 0. # If the probe is AHEAD of the nozzle, this number is negative. (ex: -12) # If the probe is BEHIND of the nozzles, this number is positive. (ex: 12) #z_offset: 0 # The distance (in mm) between the bed and the nozzle when the probe # triggers. This parameter must be provided and must be a POSITIVE number (ex: 2.1) speed: 5 #### UF standard is 5mm/s, 8mm/s for FastProbe and 15mm/s for Superfast#### # Speed (in mm/s) of the Z axis when probing. The default is 5mm/s. samples: 2 ### UF Standard is 2#### # The number of times to probe each point. The probed z-values will # be averaged. The default is to probe 1 time. #sample_retract_dist: 2.0 # The distance (in mm) to lift the toolhead between each sample (if # sampling more than once). The default is 2mm. #samples_result: average # The calculation method when sampling more than once - either # "median" or "average". The default is average. #samples_tolerance: 0.100 # The maximum Z distance (in mm) that a sample may differ from other # samples. If this tolerance is exceeded then either an error is # reported or the attempt is restarted (see # samples_tolerance_retries). The default is 0.100mm. lift_speed: 8 #### Z Safe Home #### [safe_z_home] home_xy_position: #### MUST BE SET ##### Can be calculated at https://www.th3dstudio.com/klipper-abl-mesh-homing-calculator/ # A X, Y coordinate (e.g. 100, 100) where the Z homing should be # performed. This parameter must be provided. #speed: 50.0 # Speed at which the toolhead is moved to the safe Z home # coordinate. The default is 50 mm/s z_hop: 5 #### UF Standard is 5mm #### # Distance (in mm) to lift the Z axis prior to homing. This is # applied to any homing command, even if it doesn't home the Z axis. # If the Z axis is already homed and the current Z position is less # than z_hop, then this will lift the head to a height of z_hop. If # the Z axis is not already homed the head is lifted by z_hop. # The default is to not implement Z hop. z_hop_speed: 10.0 # Speed (in mm/s) at which the Z axis is lifted prior to homing. The # default is 15 mm/s. #### BED MESH #### [bed_mesh] #speed: 50 # The speed (in mm/s) of non-probing moves during the calibration. # The default is 50. #horizontal_move_z: 5 # The height (in mm) that the head should be commanded to move to # just prior to starting a probe operation. The default is 5. mesh_min: 15, 15 #### MUST BE SET ##### Can be calculated at https://www.th3dstudio.com/klipper-abl-mesh-homing-calculator/ # Defines the minimum X, Y coordinate of the mesh for rectangular # beds. This coordinate is relative to the probe's location. This # will be the first point probed, nearest to the origin. This # parameter must be provided for rectangular beds. mesh_max: 195, 210 #### MUST BE SET ##### Can be calculated at https://www.th3dstudio.com/klipper-abl-mesh-homing-calculator/ # Defines the maximum X, Y coordinate of the mesh for rectangular # beds. Adheres to the same principle as mesh_min, however this will # be the furthest point probed from the bed's origin. This parameter # must be provided for rectangular beds. probe_count: 3, 3 #### UF standard is 3, 3 #### # For rectangular beds, this is a comma separate pair of integer # values X, Y defining the number of points to probe along each # axis. A single value is also valid, in which case that value will # be applied to both axes. Default is 3, 3
After that is added, scroll down until you reach your [stepper_z] section and change the endstop_pin to the following
endstop_pin: probe:z_virtual_endstop
position_min: -10
Any options that are enabled and have a #### MUST BE SET #### after it must be modified for your machine. You can use our Klipper ABL Mesh & Safe Homing Calculator to get most of these values based on your machine size and probe offsets along with the probe edge. Once finished editing, you can save and restart to apply the new settings. TEST THE PROBE BEFORE HOMING TO ENSURE IT'S TRIGGERING CORRECTLY. Then save and restart.
After the configuration is setup, you will need to add BED_MESH_CALIBRATE to your starting macro. Additionally you can add ADAPTIVE=1 to the end of it to have an adaptive mesh.
If the EZABL is not triggering correctly, you may need to add a "!" in front of the pin you have the EZABL connected to.
If the EZABL is not triggering at all (meaning NO state change of the endstop), you may need to flip the switch on the EZABL control board if this is a new install and it has never been tested on any other firmware/board setup.
Due to the complex nature of Klipper and the custom setups people use with it we're not able to make easy to use and setup firmware like we do with our Unified 2 Firmware. This means that we need to have a one on one call with customers using Klipper to get it setup for their priner.
Each Klipper setup is unique and we have remote video calling with remote PC access available for a separate charge. Contact Us to setup a call if you need some one on one help getting your Klipper powered machine setup.