I've had my Ender 3 for almost three weeks, gone through about a kilogram of PLA filament (printing a mix of upgrade parts for the Ender 3 and stuff I actually want to use) and made one PETG object, generally with good results.

I've noticed however, as seems relatively common (per YouTubers, anyway), that my bed isn't flat -- that is, the build surface isn't a good approximation of a geometric plane. If I adjust the bed to have correct clearance (good adhesion and correct single-line width) at the corners, I'll get adhesion failure in the center, and if I adjust to give a correct center, the extruded filament will be squished into the build surface texture; the nozzle may even lightly scatch the surface at the corners. That indicates the corners are high, relative to the center, by roundly 0.1 to 0.15 mm.

I'm aware of BLTouch and its clones, but in order to get full use of that system (which automatically compensates for the non-planar bed) I would need to not only install the surface sensing hardware, but flash my printer's firmware (potentially after removing the control module cover and plugging a cable and adapter into the mainboard). As a longtime builder/upgrader of my own computers, this is certainly within my capability, but I'd prefer to make my build surface flat instead of applying software corrections; I see this as upgrading from a 386 to a Core i3 because the computer is overheating -- that is, the problem will go away because of all the other stuff you have to do, but you haven't really solved the problem.

My general idea more or less mimics the self-answer on this question in terms of measuring the excursion and applying shims under the build surface (I've installed the Creality magnetic sheet surface, so shims would be applied between the magnetic base sheet and the removable build surface). I plan to use household aluminum foil, standard weight, which is generally close to 0.63 mil (= .016 mm), applied with repositionable spray adhesive and laid down in layers, using a combination of feeler gages and single-layer test prints to determine where and how much foil to apply.

I've "test flown" this option by putting a single Post-It sheet under the center of the removable build surface, and now I have a much closer match between the center and corners, and can (depending on my nozzle standoff) actually see the outline of the makeshift shim in the first layer where it prints over the edges of the Post-It.

Is there anything I'm missing that would prevent this shimming method using aluminum foil from resolving the warped bed to allow me to depend on an even thickness and correctly adhered first layer?

  • $\begingroup$ foil would block the magnet, which might cause an issue if you had larger areas. it also expands more than magnet stuff by heat, which ain't great. plastic (electrical) or paper (masking) tape would be better for those two reasons, and easier since they self-adhere. $\endgroup$
    – dandavis
    May 24, 2021 at 4:58
  • $\begingroup$ if you can get away with not leveling, that's far preferable, no matter how automatic it is, it still wastes your time. I haven't re-leveled my CR10 since last year, so a BL-touch is a huge waste of time and effort and complications for me personally. $\endgroup$
    – dandavis
    May 24, 2021 at 5:03
  • 1
    $\begingroup$ @dandavis Have you tried this? It's been my experience that aluminum foil passes magnetic fields as if not there, unless it's moving relative to the field. 4emi.com/emi-shielding/shielding-actually-works-filtering-best/…. $\endgroup$
    – Zeiss Ikon
    May 24, 2021 at 11:05
  • 1
    $\begingroup$ There is a 3rd option, manual mesh leveling, which Marlin firmware can do. Instead of using a sensor each print to probe the bed, there is a routine you do once by hand and you save it in the printers memory. Then each print you use a G-code command (like in the print start G-code that gets added to every print) to load the mesh from memory. I haven’t done it myself, but as I understand you heat the bed, then do a routine going to the probe spots on the bed, and use micro-stepping to adjust the Z height at each point, using a feeler gauge/paper to dial in the nozzle height. $\endgroup$ May 25, 2021 at 23:59
  • $\begingroup$ @ChinchillaWafers Just to make this odder, the Post-It I had under the center of the magnetic mat was too thick, so I pulled it out -- and now the bed is acting flat, to better than 0.1 mm anyway. I wonder if I might have been trying to level when the bed wasn't fully temperature stable -- lots of stuff will warp while heating, and smooth out once it's equalized (telescope mirrors are famous for this). If I don't see a good answer before I have time, I'll write this up as a self-answer. $\endgroup$
    – Zeiss Ikon
    May 26, 2021 at 11:15

2 Answers 2


I may be biased as my question/answer is the one I believe you're asking this question in reference to, but I would say that yes, it not only competes but is a far better solution. "Auto-leveling" systems do not level your bed. They just partially compensate for poor adhesion by adjusting the bottom layer(s) of your print to conform to the bed's errors. This of course messes up the dimensional accuracy of your prints; in a worst case it can come out rather absurd. They also do not compensate for the change in volume (which would require differing extrusion amounts) due to changes in Z height to compensate for the non-level bed.

The right solution is always to get your bed level and flat. Ideally if the bed/print surface is warped, you replace it with one that's not, but shimming is a reasonable alternative. ABL systems (not talking about real 3-point leveling with 3 Z motors here, but "ABL" stuff like BLTouch) are a gimmick for making it easy for beginners to start printing without all their prints failing due to non-adhesion from poor manual leveling. They're not a solution.


So, the difference between the shimming vs. auto-leveling is that auto-leveling goes around in a 4x4 grid taking measurements of the bed (you do need to set the Z calibration first, as you know) vs. the shimming method where you go to 4 corners on your build plate where you stick a piece of paper or something under there and you adjust the knob at the bottom until you can feel tension on it. What I've found to be the best for me at least is to use both. This is my method for printing every time:

  1. Clean the build plate. I will take my scrapper and scrape everything off, then I will run it under some hot water and wipe all of the residue off that is still remaining, then I might take some glass cleaner or something and wipe it down.

  2. Set the Z calibration.

  3. Do the shimming leveling (I would normally go through all of the corners again plus the center/Z calibration just to make sure that I didn't mess up any of the other corners.

  4. I will run the auto-calibration (I use OctoPrint so I just run it through there)

  5. Smear Elmer's glue over the print bed. I do this for a couple of reasons:

    1. I use the glass side of the bed, just because I've gotten better results this way, and
    2. it just makes your prints stick better. I also do this after the Z calibration and bed calibration because you get better results this way.
  6. Start the print and watch the first couple of layers. If you notice that when you are printing and the brim looks stringy, like you could pick apart the individual lines, you should cancel the print, and go back to your slicer and bring your line width down my 0.1 mm, I typical print with the lines 0.1 mm or 0.2 mm below what the nozzle prints at, so a 0.5 mm nozzle I will print at 0.4 mm. And if your print messes up here I'd scrape everything off so the filament and the glue off (I'd keep the bed hot and the tip hot just so I don't have to wait 10 min. for it to heat up again) then apply more glue and reprint.

  • $\begingroup$ The issue with my current setup (magnetic build sheet) is that if I level all four corners, the center has so much clearance the first layer doesn't stick. If I raise the bed so the first layer sticks in the center, it scratches the build surface on at least a couple corners. That is, the build surface is curved. I'm not using glass (yet -- ordered a coated one, haven't unboxed it yet), I hope the new glass plate will fix this. $\endgroup$
    – Zeiss Ikon
    Jun 3, 2021 at 11:19
  • $\begingroup$ Yeah, that would be a good idea. You could also try to do the auto leveling so that the printer accounts for the dip in the bed (that is if you want to risk the print not coming out perfect) or you could flip the heated bed upside down too $\endgroup$ Jun 7, 2021 at 19:03
  • $\begingroup$ Complicating this is that my printer apparently likes to make a liar of me. It seems like the bed flattens out when I've kept it hot for a while -- ten or fifteen minutes seems sufficient. When it's freshly heated ("Print from TF" starting with a cold printer), it's curved, but when it's been hot for a while, it's flat enough to get a good first layer. $\endgroup$
    – Zeiss Ikon
    Jun 7, 2021 at 19:06
  • $\begingroup$ I guess that makes sense because heat makes things expand and when it cools off it contracts again, so when your bed cools off it might bend a bit. You could try to heat it up really hot (90-100c) and leave it like that for a bit, then get two flat things and squish it between the two things so that you could maybe get it flat? (I am not sure if this would work, this is just my best guess) $\endgroup$ Jun 9, 2021 at 19:31
  • $\begingroup$ This is the complete bed assembly -- carriage and heated bed plate plus magnetic sheet layers -- that's curving. I suspect that the different heating rates and thermal expansion coefficients is at fault, but once it's all equalized it's fine. Still going to try to the glass build plate. $\endgroup$
    – Zeiss Ikon
    Jun 9, 2021 at 23:37

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .