Bl-touch, probe calibrate, and fine adjustments aren't working? IDK, I am stupid. Sorry

Basic Information:

Printer Model: Anycubic I3 Mega S
MCU / Printerboard: Atmega2560 (I think)
klippy.log I cant upload it because its larger than 8Mb so I am attaching a dropbox link. Dropbox - klippy.log - Simplify your life
-Just in case, I am attaching my printer.cfg
printer.cfg (14.3 KB)

Fill out above information and in all cases attach your klippy.log file. Pasting your printer.cfg is not needed
Be sure to check our Knowledge Base and in particular this and this post

Describe your issue:

So I have attached my BL-touch to my i3 mega S and whenever I preform a bed level, I save it, and then proceed to probe_calibrate (I accept and save that too) but whenever I go to print and make the tiny adjustments for the actual print everything is way off. Even if I get the small test print adjustments dialed it and save then print again its WAY off again. It’s also like it doesn’t properly load or have an idea of what previous bed leveling measurements are or something like that. Its just,… Its just all broken and I don’t know what to do.
Its like, no matter what bl-touch bed leveling, probe calibration or test print fine-tune adjustments don’t load or something like that.

Man, I really get down on myself every time I have to bug y’all with a question but I have been trying to figure out what the issue I am having is for days. Actually, I started months ago and just said forget about it and quit using the printer and am just trying to figure it out again. I am super defeated and I know I am the issue because I am too dumb to be using klipper… Its totally a novice user issue and I am so sorry. For what its worth, I have tried speaking with some YouTubers and discords but they cant figure it out, idk. So sorry for the bother…

I am attaching a picture of my cura settings for the printer because I am not sure if this is part of the problem also, idk. I am so sorry I am so stupid with this stuff. I know I shouldn’t be using klipper because I am such a novice. This is just my last attempt before I… idk, get something else, I guess. I don’t know… :-/

Big thanks to anyone that decides to take a swipe at this. I know it sucks. So sorry…

When I added a bltouch to my Ender 3 years ago I wrestled with issues consistent with what you’re describing. Like you, I initially tried to continue using the stock Z end stop for homing and the probe for mesh leveling. I eventually stopped using the stock Z endstop and set up the probe to be virtual endstop. The problem went away instantly and hasn’t occurred since.

In other words, I highly recommend using the probe as a virtual endstop.

As I recall (it’s been a while), using the stock endstop for homing requires an additional layer of configuration because you essentially have three distances to account for (nozzle to bed, nozzle to probe, probe to bed). When using the probe as a virtual endstop, you only have two (nozzle to bed, nozzle to probe).

If you really want to use a separate endstop, you need to get Klipper to understand the location of the z endstop relative to where the probe triggers. Like I said, I never got this ironed out and no longer remember what I tried, but if it were me, I’d take a look at the relative reference index.

Regardless of how you ultimately set it up, you should only have to do probe calibrate once and then never again unless you move the probe.

1 Like

Oh, yeah, I couldn’t care less about using the stock z endstop switches. If I can use the Bl touch as a virtual endstop that would be completely fine with me. Honestly, I didn’t know that it was a thing, but it makes perfect sense.

Okay, I am going to try and figure that out and update the post accordingly!

Thanks so much for taking the time to reply to my post! I genuinely appreciate you doing it! :slight_smile:


I have set everything up and it’s using the bl touch as a virtual endstop. I set my old 2 z axis endstops appropriately and it seems that all of that is fine, however, now when I do the probe_calibrate and the bed mesh it seems just doesn’t use the mesh at all for the bed when I print. Or maybe its taking the most insane measurements. The bed is stationary too. it’s not on springs.

I have tried several times to get a proper bed mesh and have fine tuned the z axis but it still just prints high and low all over the place.

I don’t know if this helps but here is my current printer.cfg,
4-30-2023 printer cfg.txt (14.8 KB)

Here is a picture of the print.
e: The outer square really shows how its all over the place on the height.

Note: I had to stop the print because it was making a mess. Its like it just wont even use the bed mesh at all…

IDK, but thank you for the help so far. I really hope I can get this last bit down now that the virtual endstop is setup.

Did you make sure your start gcode contains:

yeah, its in there.
I just ordered a new bltouch off amazon. I am really at a loss. Maybe a new one will help. Its weird and it fails to print in the same way every time. Right side the bed is high and left side the bed is low.

[gcode_macro START_PRINT]
G92 E0 # Reset Extruder
G90 # use Absolute Positioning
G28 # Home all axes
G1 Z2.0 F3000 # Move Z Axis up little to prevent scratching of Heat Bed
G1 X0.1 Y20 Z0.3 F5000.0 # Move to start position
G1 X0.1 Y200.0 Z0.3 F1500.0 E15 # Draw the first line
G1 X0.4 Y200.0 Z0.3 F5000.0 # Move to side a little
G1 X0.4 Y20 Z0.3 F1500.0 E30 # Draw the second line
G92 E0 # Reset Extruder
G1 Z2.0 F3000 # Move Z Axis up little to prevent scratching of Heat Bed
G1 X5 Y20 Z0.3 F5000.0 # Move over to prevent blob squish

Are your offsets set correctly?

I calculated my x and y offsets between the bltouch and the probe a few months ago before I shelved the project, but I could have totally botched it. I don’t remember tbh.
Lemme give that a shot here in a bit when I get home.

This actually may be the exact thing I am looking for and I completely disregarded it. omg… If it is I am really going to be upset for bothering you. ugh.

I haven’t seen a picture of your printer, but based on the values you have for your X and Y offsets, assuming you’re standing in front of the printer, I would expect to see your bltouch mounted to the right of your hotend, and “in front” of it, meaning the probe would be closer to you than the actual nozzle.

That is correct!

Here is a pic I have, its not very clean please don’t judge me. lol

e: I just got home and will have the new x and y calibration shortly.

Okay, that’s good anyway. It probably doesn’t hurt to confirm the offset measurements, but it’s not as if they’re dramatically off as would be the case if you had (for example) done the calculation backwards (as I did the first time!).

The prior pic you posted of the first layer honestly doesn’t necessarily look like a bad mesh, it could just be a combination of dirty bed and needing to dial in your Z offset. Hard to tell if that’s PETG on glass but in my experience, I’ve had the best results with that combination using the untextured “bare” side of the glass plate with a light coating of the cheapest hairspray I can find. Those sections of the squares where the extrusion lifted at the beginning of perimeters looks like what I see when my Z offset is too high or when I’m trying to print on glass without hairspray. The one in the upper left where a section of the solid infill just didn’t want to stick looks about the same, or when there’s dust or some other substance on the bed surface.

If it were me, I’d wash and dry the glass bed with dish soap and water, then lightly coat with hairspray and try again, doing the first layer extra slow and using baby stepping to find the right z height where everything sticks without squashing. Then you can compare that with your Z offset setting and consider making the change permanent.

(For whatever it’s worth, the “paper test” has never yielded the “perfect” Z offset in my experience, but it has been good for getting it close enough that a couple baby steps one direction or the other makes it just right, and then I adjust the Z offset cfg setting accordingly.)

Hey, so I recalculated my x, y, and z for the bltouch. All my my z (probe_calibrate) measurements are saved when I complete the paper test and then I preform a test print. During the test print I do, what I have seen some people call baby step adjustments, using this panel and then I save.


I am still having an issue when getting (the baby step) z adjustments dialed in that one side is high and the other is low. This is with the bltouch being all brand new configured with x, y, and the z dialed in real well. like, if I make the z perfect on the left side later when it prints on the right during a bed level test the right side will be high and squish. so far its been the consistent issue that is replicating each time I print. I thought that the BLtouch is supposed to calculate a perfect bedmesh and then the fine adjustments that I make to the z axis will apply to the bed mesh model for the entire bed, right?

I do the probing for bed mesh and its still coming up (at least) +/-.020 from the far left to the far right. If I used even more of the bed the variance would be higher edge to edge.
I am printing with a 0.2 layer height with the initial layer at 0.3 and the width 0.4 but I don’t think that should matter much because isn’t the bl touch supposed to build a proper bedmesh to account for all the divination?

these are my old vs. new x, y offsets for the bltouch vs the nozel position.
New calculation
X: 19.30
Y: -17.4
Original calculation
x_offset: 19.5
y_offset: -14.2

The bed that I am using is a glass bed with a textured top that I also apply glue stick to so that the PETG adheres better. I do clean the bed with hot water before I probe_calibrate and then apply a layer of glue stick. I would imagine even with the glue stick that the with all the testing that I have been doing if that was adding layer thickness to the bed that would effect the print this much that my issue wouldn’t be so consistently replicable. …i… I don’t know.

I am going to do another bed level print with my current config after doing all the same offsets that I have been doing again and then I will try flipping the bed over with hairspray.

e: I just noticed that my BLtouch might be outside of the min/max range shown in red on this diagram. My bltouch mount my be complete garbage. it was an old print from when I was using larger nozzles.

Yeah so these are my results. It’s all the same. :-/ left side low, right side high. Despite turning off my hardware z end stops and then setting up the bltouch as a virtual end stop and despite running all the same configs and offsets recalibrations that I had been running over and over again it’s still giving me with left-side low and right-side high.
I am really defeated… :-/

I tried cleaning and flipping the build plate and used hairspray but it was the same issue. left side low and right side high despite calculating the offsets again.
oh, and maybe its the hairspray I use but glue stick was notably better for me. idk though. I probably have the wrong hairspray. all my stuff is shiny bc I have highlights. I will pick up a bottle of some normal stuff sometime when I go to town.

I don’t think its my motors. they have the same steps calibrated, they are the same motors, the drivers are the same voltage that I configured.

It has to be the bltouch, right? like, my printer.cfg looked proper, right?


SO, it turns out that it was the distance shown in red on this image. The tip of the BLtouch was just a little bit too low. Like, it was re-measured everything and shaved down the attachment point to the bltouch and now I am able to get it to level a whole lot better. Its still off, like it’s low on the left and high on the right but its off by a manageable amount.

Hey man, I really really want to thank you for everything that you have helped me with. Pointing out the virtual end stop and having you to bounce ideas off of is exactly what I needed to get to this point!

Dude, Thank you so very much!!

1 Like

Please use the Solution checkbox below the post with the solution instead of changing the topic :wink:

Glad you got it worked out. FWIW, I have the exact same behavior on my printer with a BLtouch, where the left side is always slightly too far away from the nozzle and the right side is always slightly too close. I’ve always assumed it has something to do with the way the firmware extrapolates the mesh, since with the probe mounted to the right of the hotend like that, there’s a strip of bed area along the left edge that can’t be probed.

It’s been this way for years and the way I’ve always dealt with it is by using the bed screws to tram the bed level, then backing off the screws on the left side slightly, then measuring the mesh, then returning the left side bed screws to the previous “flat” position. I know that’s a horrible hack to compensate for something for which there’s probably a proper fix, but it’s been working for me.

Yeah,… I though that the bltouch makes everything like, perfect, perfect. When messing with it recently I have seen that I have done way better by hand. I guess… idk. its going to be hard for me to settle for less than what I could do by hand so I am going to keep putzing with it to see if I can do more.

In response to what you said, I wonder if any of this bed mesh algorythim stuff will have better results. I dont plan on messing with any of it unless I really feel like getting a headache again but I still wonder. idk, maybe one day I will read up on it.

algorithm: lagrange
The interpolation algorthm to use. May be either “langrange”
or “bicubic”. This option will not affect 3x3 grids, which
are forced to use lagrange sampling. Default is lagrange.
bicubic_tension: .2
When using the bicubic algoritm the tension parameter above
may be applied to change the amount of slope interpolated.
Larger numbers will increase the amount of slope, which
results in more curvature in the mesh. Default is .2.
A point index in the mesh to reference all z values to. Enabling
this parameter produces a mesh relative to the probed z position
at the provided index."