[Feature Request] SCREWS_TILT_CALCULATE turn knob until probe triggers

Hi everyone,

It would be so nice if SCREWS_TILT_CALCULATE has an option to:

  1. Home all axis.

  2. Measure the height above each manual bed tilt screw.

  3. Move the print head to the first manual bed tilt screw that require adjustment. (lower or higher than Z0)

     3a. If lower than Z0 
         Move print head to (Z0 + Z offset) ask the user to turn the knob until the probe triggers.
     3b. If higher than Z0
         Move print head down until the probe triggers and move it up again and repeat.
         Stop moving up and down if the probe doesn't trigger anymore before (Z0 + Z offset). 
         Ask the user to lower the bed corner until moving up and down stops.
         When moving up and down stopped, go into the 3a routine.
  4. Repeat this process for every manual bed tilt screw that require adjustment.

Marlin has this feature (LEVEL_CORNERS_USE_PROBE) for a while now and it saves quite some time on corner leveling.

Check this Youtube video to see it in action:

Can this feature be added to Klipper too please?

I am not a coder but I’m happy to help testing :blush:

Kind regards,


I second this request! That would be very very handy indeed :pray:

1 Like

Here’s a temporary macro that may work until this feature is added. This is just a macro for 1 screw, so you’ll need to add multiple of these for each screw and change it accordingly.
It will:

  1. Home all axis
  2. Bring probe above screw, at a Z height of 10
  3. Deploy probe
  4. Move down to a Z height of 3.8
    At that point you should be able to tram your bed, and the light on the BLtouch will turn red when in a ‘triggered’ state, and have no light when not triggered.
    (Remember to change the coordinates to your own screw coordinates and make sure Z height for tramming is okay).

Because the goal is only to tram the bed, or to make it ‘level’, then the actual Z height doesn’t need to equal your actual probe Z-offset. I used 3.8 because it is just above my Z-offset, allowing me to tram with minimal adjustments.

[gcode_macro BedScrew1]
description: bed screw tram using BLtouch
    G1 X75 Y43 Z10 F5000.0 		# Move 10mm above screw1 to allow probe to deploy
    BLTOUCH_DEBUG COMMAND=pin_down    #Deploy the BLtouch probe
    G1 Z3.8    #Move down to a Z height just above the probe 'trigger' point