BLTouch and Mesh Compensation Issues

  • I've got an Ender 3 Pro with a BLTouch hooked up and the sensor seems to be working correctly. I followed the steps here and here to get it setup and working. I also reviewed this article. However, I'm not having much luck with the first layer adhering across the entire bed. I run the Mesh Compensation, and here's the resulting height map:


    I realize it's not the greatest, but I figured the Mesh Compensation would help "level" it out. I guess this is one disadvantage of buying cheaper printers. 😉 Anyway, here's the result of trying to print a first layer test using PETG:


    As you can see, it works fine in certain areas, but in others it doesn't want to stick (because it's not close enough to the bed). If I check the web console, it shows that Mesh compensation is in use, and I also have a G29 S1 in the G-Code that's exported from Cura, to make sure the height map gets loaded. If I mess with the Z Babystepping I can get it to stick, but then the first layer isn't uniform (0.2mm height).

    Here's the Z-Probe section from my config.g:

    ; Z-Probe
    M307 H3 A-1 C-1 D-1       
    M307 H4 A-1 C-1 D-1       
    M558 P9 H2.5 F120 T6000   
    G31 P25 X-42.5 Y-16 Z0.957
    M557 X5:245 Y40:210 S20   

    Any ideas on what the issue might be? Or, is the bed too far out of level for it to work effectively?


    Board: Duet WiFi 1.02 or later (duetwifi102)
    Firmware: RepRapFirmware for Duet 2 WiFi/Ethernet 2.05.1 (2020-02-09b1)
    Duet WiFi Server Version: 1.23
    Duet Web Control 3.1.1

  • Are you performing mesh with the bed heated?

  • @Kolbi said in BLTouch and Mesh Compensation Issues:

    Are you performing mesh with the bed heated?

    Yes, I heat the bed up and let it sit for 10 or 15 minutes before I run the mesh compensation.

  • Moderator

    I think you should try with PLA at first to see how that goes before moving on the PETG since it can be a challenge in and of itself.

    Here's a few things you can try.

    First clean your bed surface really well. a little bit of dish soap and warm and a good rinse followed by a wipe down with clean cloth and IPA should make it nice and clean. Even a fingerprint is enough to stop the plastic from sticking.

    If that doesn't help try:

    Slow down your first layer. 20mm/s.

    Turn up the bed heat by 10c.

    Turn up first layer nozzle temp by 10c.

    Recalibrate your extruder :

    You might be able to improve the performance of your BLTouch with some extra M558 commands.

    M558 P9 H3 F60 T6000 A10 R0.75 S0.003

    Make sure your X and Y offsets are correct for the probe.

  • I'm using a ender 5 plus so if you are using a stock ender 3 pro the off sets should be about the same ?.
    How did you work out the offset or where did you get the off-set figures from ?
    Because I get 6mm Y and not 16mm , But my way to calculate the offset was not the best.
    I dropped a small blob of filament on the bed and move the head until the bltouch was over the blob and got X -44 , Y -6.

  • @Phaedrux - thanks for the suggestions. A little background... As far as trying PLA goes, I went through a spool of Overture (red) and Creality (black) and those stuck pretty well to the bed. I was printing smaller stuff and just kind of dealt with the issues I'm mentioning. I then got a spool of Hatchbox (red) because I had read a lot of good things about it. However, for me it has been nothing but a pain to get the Hatchbox to stick to PEI (I did clean the PEI with soap/water and alcohol as you recommended, tried glue and blue tape as well...tried a bunch of stuff), it sticks better to the stock bed that comes with the Ender 3 Pro. I've kind of given up on that spool for now, since I really want to print out some things with PETG. The PETG actually sticks much better to the PEI bed than the Hatchbox PLA. I want to try to print some bigger things with PETG and really want to try to get the first layer dialed in. For some smaller test prints, using PETG, I seem to have things dialed in pretty good and they are pretty dimensionally accurate (I've calibrated the extruder and have some digital calipers I use to measure prints for accuracy). My biggest problem now is the first layer. Sure, I can "squish" it, but then I've got elephant's foot. I've played around with the first layer bed and nozzle temps and haven't had much luck so far. I think I even tried slowing down the speed at one point (it's currently 25mm/s). In short, I've already done a lot of tweaking and research and haven't had much luck, which led me to post this. I recently started 3D printing and thought I had an idea of what I was getting into, but I was wrong! 😉 I've spent a lot of time and frustration trying to figure things out, but I love a good challenge and I'm not about to give up (I'm not complaining either 😁 ). I'll continue to try tweaking these and making sure the bed is really clean. I'll also try the M558 command you recommended (I did see it mentioned in another post...I think ;-)).

    @Phaedrux and @peter247 - I checked my X and Y offsets before I posted, and checked them again just now, just to make sure I'm not missing something, and they are correct. To calculate them I taped a piece of paper to the bed, dropped the nozzle down to zero (wrote down coordinates), pressed up on the bottom of the bed a little to make a mark on the paper, and then moved the Z-probe pin to that location (I'd move the pin up/down to make sure it was pretty exact) and subtracted the original nozzle coordinates from the probe coordinates. I use this mount for the BLTouch and it's mounted on the left side of the nozzle (if you are looking at the front of the printer). I did, a while ago, have the offsets incorrect, and they were positive numbers, not negative numbers, but after fixing that, it seemed to work better, but still now what I was expecting (they are correct for the examples I have above).

    Thanks again for the help and suggestions! I'll have to play around some more with these ideas and get back. I feel like I'm so close to getting it dialed in and to the point I can actually have a lot of fun with it, rather than frustration. Oh what a journey this had been! 😁

  • For PETG I just use the same setting as PLA , just increase the temperature. ( Bed and nozzle 235-ish and 70 )
    For the times I just can't get it to stick I use 3dlac ( hair spray ) , but most of the time it sticks too good.
    PETG is a pain it togging nozzles , and if you don't have a all metal will kill your ptfe tube or capacorn tube.
    My advice is to try TPU and you will think PETG is easy to print.

  • Try to get the bl-touch trigger hight right. I let the nozzle touch the bed(with a piece of paper) and then measured the distance from the bed(without paper) to the lowest part of the bl-touch body. I've read somewhere that this should be 8mm. Then lift the nozzle and perform a g30 s-1. My trigger hight was 0.603. And this was almost perfect for the first layer. This is my setting: g31 p500 x-47 y0 z0.603. I hope this helps.

  • Thanks all. Things are looking better. I modified the M558 command, and I think that, along with slowing down to 20mm/s and upping the bed temp 5 deg. to 75, for the first layer) turned out pretty good:


    It was stuck pretty good everywhere as well. However, measuring the thickness of the lines varies from .20 mm all the way to .10 mm. I would think the mesh compensation would help compensate for a more consistent .20 mm all across the bed. Is that how it should work?

    I appreciate the other comments too. I do have a metal nozzle and clogging hasn't been too bad, it's usually when things don't go well that it makes a mess. I did notice that there was a nice coat on the nozzle after this print, maybe because it was a little too close to the bed in places...??? There does seem to be a "sweet" spot for the temp so that it's not too "oozy", and I might still be a little on the high side at this point...still tweaking some stuff. I have printed a temp tower, but those can be hard to decipher when it looks similar across a range. Anyway, I want to print out a new mount using PETG for a direct drive setup, so that should help...when I get that done.

    I also double-checked the BLTouch mounting height and trigger height yesterday to make sure that was good, and that appears to be correct. I can position the nozzle in different places at a height of .2 mm and measure using a feeler gauge and it seems about right (this is when the bed is at temp, heated).

    Getting closer, thanks!

  • Moderator

    Measuring the thickness of a single layer is a bit of a fool's errand. The amount of pressure you apply to the caliper can be enough to alter the resulting measurement. So could filament diameter changes. Have you PID tuned the hotend and bed heaters? Variations in temp can cause some expansion/warping oscillations.

    If you do a larger section of solid infill on the first layer you will be able to tell if the first layer is going down smoothly. Appearance is going to be a better tell of a good first layer than any measurement.

    Also be careful with PEI and PETG. They have a tendency to stick TOO well on large parts. I like to use some glue stick to act as a release agent when it's cooled.

  • Thanks @Phaedrux , good tips for the new guy. 😉 I have PID tuned both, but just pulled the magnetic part off (thought it might be contributing to the warping), so I'll re-do that. I think I've got enough to keep me busy for now, and things are looking better.

    Thanks all for the help and feedback, it's much appreciated!

  • Moderator

    I think the PETG available today is generally as easy to print as PLA. Hotter temps and less cooling are the big differences. Otherwise most print settings can remain the same.