My printer is printing in the air (bltouch issue)

Basic Information:

Printer Model: CR10s4
MCU / Printerboard: skr mini e3 v3
klippy.log.2023-07-12.txt (1.1 MB)

So I think something is off with my bltouch (or printer.cfg).

This is my last attempt. I’ve tried several FB/reddit groups (and fighting by myself) for months but to no avail.

I’ve got two problems:

  1. Prints always start 2-3mm above the bed.
    After “probe_calibrate” and save config, the new value is not used by Klipper.
    I’m always printing 2-3mm above the bed. Once I tried “probe_calibrate” again right after an already saved probe_calibrate…no change. But I kept pushing like this 2-3 times…“probe_calibrate” upon “probe_calibrate” and suddenly I’m scraping into the bed…I undid everything.
    Latest development is that I deleted the new probe value in the bottom of my printer.cfg, unchecked “z_offset” under [bltouch] and wrote the same value from “probe_calibrate”, then it works! But then I noticed problem no 2.

  2. Nozzle/hotend does not follow the bed’s curvature.
    My bed is almost perfectly flat. I did the “screws_tilt_calculate” first which ended up with values 0, 0, 0 but since my bed is large (410x410mm) it still “hangs” a bit…but even still my z-axis/nozzle/hotend is not compensating for those 0,01-0,10 mm differences so the filament sticks on the left side but not the right. (see image “bed issue”)

Since I’m very new to all this, I used this video on youtube for installing the bltouch in the beginning:
“BL Touch complete setup for Klipper! Maximize your probe bed mesh!” by user PrintsLeo3D

( Side question: when doing “probe_calibrate” does anyone else get a lot of question marks in the probe calibrate window? I have an image of this but I’m new here so I’m not allowed to post more than one image )

Because I’ve had these issues for so long (I’m really tired of this now), I reinstalled everything with the latest versions on everything 3 days ago (using RPI image tool and KIAUH) but still the same.
I tried Cura vs prusaslicer but the same.

So what’s next to try?

Please also share your printer.cfg

Some general pointers:

printer.cfg.txt (9.3 KB)

There you go! I’ll start looking into the links soon. My bltouch is not the original

Kind Regards

My 3d touch (not official bltouch) has around 2-3mm between the retracted tip and the nozzle.
Maybe it’s my lack of understanding how Klipper works but after a probe_calibration (I just did one and ended up with 4.499) I get a new z_offset number in the bottom of my printer.cfg so even if it’s “high” in my case I don’t understand how I can lower it, if that should somehow make things work.

I did some adjustments to the x gantry, however nothing changed.

No matter how many times I do live z_offset and save it afterwards it does nothing.

Not sure it matters but did a probe_accuracy (never done it before). Results:

probe accuracy results: maximum 4.496500, minimum 4.466500, range 0.030000, average 4.482750, median 4.480250, standard deviation 0.009763

According to your posted printer.cfg you have neither a saved z-offset nor a bed mesh.

It’s because I had the probe-calibrated z_offset removed from the bottom of the file and used its value in the [bltouch] section instead to see if something would change, which it didn’t (I’m a total new beginner at Klipper so pardon my odd testings and questions)

I’m not sure what you meant by bed mesh (since I can clearly see the [bed_mesh] section in my printer.cfg) but if you meant saved bed mesh, then I was told it’s better to do a BED_MESH_CALIBRATE before every print instead of using a profile due to my bed’s size. Sorry if I misunderstood you, please feel free to elaborate :slight_smile:

ok some update. I found some info you wrote back in February where you said “if you need further correction one would use SET_GCODE_OFFSET”, so I tried it and it actually got closer to bed. So this would be the official way to compensate for my height issue?

Ah, ok. Understood

Generally speaking:

  • You should follow the information here: Probe calibration - Klipper documentation
  • This should give you a proper, “average”, z-offset. This one is true only at the spot where you calibrated it. It does not take into account
    • Bed flatness
    • Location bias caused by twisted axes
  • This z-offset may be fine-tuned with SET_GCODE_OFFSET to account for different filament needs. As stated above, this also does not take bed flatness or location bias into account
  • BED_MESH_CALIBRATE then scans the bed to compensate for bed flatness. Location bias cannot be compensated by this

All reports that are similar to this one and could be resolved boiled down to:

  • A systematic error / bug in Klipper could not be identified
  • Solution in most cases was fixing a mechanical location bias. Either caused by twisted profiles or “wobbling” axes, e.g. due to issues on linear components

Also refer to an extensive discussions here: Impossible Bed mesh leveling - Cr10sPro V2 - #73 by whoiswes

ok some update. I did tons of tests and eventually turned of the 3d touch and went for manual bed leveling. Would you mind take a look at my printer.cfg and log file to see if it looks good (nothing missing etc.):

printer.cfg for manual bed leveling.txt (10.0 KB)

klippy.log (5.0 MB)

So, the issue with my nozzle raising at each start of a print and raising extra at the right side of the bed (we suspected location bias) seems to have stopped, so I will apply most of the issue (only most…) with the 3d touch…however not entirely. The slight tilting on the right side that still occurs might be human error from my side since me with a paper under a nozzle isn’t as accurate as a sensor, so I’ll leave that for now with the benefit of doubt.

But my biggest issue lies with live z offset calibration. After applying to get a good squish (using PLA) I save my offset with the command:


following with


I then restart the same print and now my nozzle is dragging in the bed. I quickly lift it around 0.700mm…back to good squish, save it with same mentioned command, restart print…aaaand dragging on the bed again :confused: Is it something with having a BTT skr mini e3 v3 that is not working? I just can’t see anything else that is causing this. My two z motors are sharing one motor driver connector (it has 2 connectors for 2 z motors but I heard they share the same driver).

Should I just get another printer? :weary:

If you use the nozzle’s tip as a probe, then you avoid the location bias altogether. This effect comes from the offset between nozzle and probe (when there are mechanical deviations).

I do not think so. Try Z_OFFSET_APPLY_PROBE instead

Interesting :thinking: not sure if this occurred in my case. I started with approx. 20mm distance from nozzle and tip of probe on the y axis as well as 4 mm difference in height. I changed by moving the sensor 15mm closer and lowered it to 2mm but no difference with my issue.

I’ll try the new code on Monday, thanks once again for your help!

Sadly I only get “unknown command”. Where am I supposed to write it? in the console window?

Did you remove your probe? If yes, this command is only available when you have a probe.

Maybe? I hope it helps Initial Startup | Voron Documentation

Good luck, hcet14