Klipper BLTouch offset

this post is outdated , please check “Klipper BL Touch Bed Mesh and Offset update ( commit c5d94a7 )

I spend some time before I actually found out how to setup the BLTouch Z Offset that actually work with the bed mesh. Here is how I have done.

First of all, you need to set the position_end stop in the z stepper to a value above zero, personally I set i up to 1 mm to allow to have during the bed mesh some negative value. If you don’t do that and one of the point is below the origin, it will fail.

position_endstop: 1

Second you need to put the same value in the BLTouch offset as follow


z_offset: 1

Now upload your config file and restart the host. When done, home and start the besh_mesh_calibrate function. It should go through all the points and give you a nice report.

When you are done, use the M206 offset to adjust your offset to the bed. Make sure you prove at the same position you BLtouch or other probe is measuring, do not forget the offset ! To do that I personally use an old credit card ( the flat one ) or other plastic card like hotel card or membership card. Most of these cards are exactly 0.75 mm. I set the position of the nozzle at the homing position with a high of 0.75.

G1 X110 Y110 Z0.75

I use the M206 x.xx to change the offset of the nozzle to pass the card with a little bit of resistance under the nozzle. I do that with the bed and nozzle at the target temperature. Remember that with M206, negative z value will rise the nozzle away from the bed.

When you are done, add the offset you have to the z_offset in the probe section. So if you have a negative z offset, you should have somehitng smaller than the position end stop. For a M206 positive, something bigger. And pretty much you are done! After that you can upload the configuration, restart the host, start bed_mesh_calibrate and the offset shall be perfect. You can adjust the height during the first layer using M206 to adjust and re correct your configuration for the next run.

Remember : the offset for the BLtouch is only active in the bed mesh calibration. Make sure you run the bed mesh calibration before you start your print ! If you don’t, it is highly probable that the offset is wrong and you may crash in your bed ! ( and that is not what you want to happen, believe me !)

Happy automatic bed level printing !

Klipper BLTouch offset

2 thoughts on “Klipper BLTouch offset

  1. Thanks for your blog great stuff. Klipper is tricky to navigate. Did you use the [homing_overide]? If so what value did you write for “set_position_z:?”

    1. I did. I found this configuration for the BLtouch on github. I think it is now part of the git repository from Klipper.

      My configuration is a follow

      set_position_z: 5
      G91 ; Uncomment these 2 lines to blindly lift the Z 20mm at start
      G1 Z20 F600
      G28 X0 Y0
      G1 X140 Y110 F3600
      G28 Z0
      G1 Z10 ; lift to Z10 at the end

      I hope it helped !

Leave a Reply

Your email address will not be published. Required fields are marked *

Scroll to top