Superior (non-destructive) bed tramming procedure

Instead of following the unfortunate wiki suggestion to upset the thumb screws before running the bed tramming program, do NOT touch the screws beforehand - and use a 0.4 mm feeler gauge. This is way more accurate than trying to see if the bed “barely touches the nozzle” which is what the wiki suggests, and as a bonus you get to see how it was. Another property of this method is it’s repeatable, as in you can re-run it as many times you like and verify again. The method suggested on the wiki doesn’t allow that, as it starts with screwing it all up…

1 Like

I agree, feeler gauge or a piece of paper. The object is to get the bed as level as possible front to back and left to right. The thickness of the gauge used is really not that important.

For reproducibility yes it IS important. The bed tramming gcode sets it to 0.40 mm. But other than that, you’re right.

I initially used a 0.05 mm gauge but any time I re-ran the gcode, it was no longer 0.05.

The Wiki needs more love, for example my screws are much shorter than in their pictures so I can never get them into their supposed “default” position.

What I did the last time (when also changing the Z belt and having one corner that skipped tooth… or something) was to just guesstimate the screws - got them as tight as I could, then loosened them a bit, then with Z belt loose I span all the corners to get the nozzle at the same height, tensioned the Z belt again and performed tramming. The goal was to get the everything level and tensioned the same. This seems to work very well, as you don’t want to tram the bed surface when the bed itself (lead screws) is angled, which is what was happening to me when I started from the bottom (the back corner wanted to spring up so if I were to lock it to the bottom with screws it would never work).

Yes, those wiki pictures didn’t match my reality either. I initially used a 0.05 mm gauge which does have (just like a piece of paper) the advantage you get a good feel. But I noticed if I re-ran the code it always ended up larger again (because auto Z-homing would back it off by another 0.35 mm every time) - and after a couple times of that you’ll run out of threads. I thought there has to be a better way, and after a look at the actual gcode I realized that if you aim for exactly 0.4 mm, you can re-run it and verify as many times you like. It will remain at 0.4 after the Z-homing.

I fail to understand what the purpose of that is, though :slight_smile: You really just need to run the tramming code once, mesh bed leveling takes over for any minor differences that will happen after that. And most people never have to do any tramming at all (some folk are more likely to mess something by doing it).

If I want to make the bed level better, I usually just watch some larger print on the camera, then adjust the corners where it has to visibly compensate the most.

Here is something else I have not seen mentioned.
Heating the bed up can and will change the bed leveling sometimes by a great deal,
at least on other 3d printers I have owned so I warm my bed to 65 celius
before tramming.

I found that when cold, my bed has a larger dip in the middle that gets better with higher temps. But I think every bed is different and depending on where the tension is (due to unlevel screws and tramming it), it can shift, but my corners seem to hold true once I tram it, no matter the temp ¯_(ツ)_/¯

Agreed, and that is precisely why the wiki method is so bad! It starts with suggesting that you blindly ruin the potentially perfect setup it had when delivered! If you’d instead just check with the 0.4 mm feeler gauge before touching any thumb screw, you’d have a chance to see that it’s perfectly fine, no tinkering needed.

IMHO they should correct or amend the wiki. Not that I care a lot, I’m good now.

FYI, for those without a digital caliper, most copy paper is right at .004 inches thick which is about .1mm.

In that case I think you’d be better off just printing a feeler gague :sunglasses:

Alright this doesn’t make any sense. If the Wiki says to have the bed almost touching during the tramming .gcode, why the ■■■■ would we set it to 0.4mm? “Almost touching” would barely be 0.1mm. Looking forward to clarification.

Because of Z auto homing. If you set it to 0.00, it will end up as 0.4 mm. If you set it to 3.14 mm it will also end up as 0.4 mm.

You can read the bed tramming G-code in a plain text editor and see for yourself that it sets Z to 0.4 mm then waits for you to tram. And this is why a 0.4 mm feeler gauge, and nothing else, is “non-destructive” and repeatable without upsetting thumb screws inbetween.


Okay I’m for sure following that part. But if that’s the case, how does having it “almost touch the bed” translate to 0.4mm your way? Wouldn’t Bambu say to set it to 0.4mm themselves? Maybe I’m missing something here.

i was just messing with tramming and gotta say it messed with me back i originally did it to make a video for my buddys and it took me the longest time to get it back right ive got it right before but maybe by luck slowly but surely got my perfect layer down haha

“Almost touch the bed” is obviously 0.00 mm. There are three independant things involved here: One is bed tramming (tilt), second is ABL (warp or skew) and third is Z homing (nozzle height).

When you see the printer probing the nozzle in the middle of the bed the first time in every print, it’s homing Z. When it does so in 36 points of the bed, it’s probing the ABL mesh. No bed tramming procedure will ever affect nozzle height, only Z homing will.

During bed tramming, it turns ABL off and places the nozzle 0.4 mm over the bed in the three points that you can align. Regardless of what [same] height you set them to, the bed will be trammed perfectly fine after. But no matter what height you used, it will later auto-home Z and “change” that height to 0.4 mm if it wasn’t. Because 0.4 is what it had set it to during tramming.

So here’s the thing you maybe didn’t consider: Between two complete bed tramming runs, there will be a Z-homing. This means if you trammed the bed using a 0.4 mm gauge, the second time it will already be correct. But if you did so using “barely touch” (i.e. 0.0 mm) or a paper (about 0.1 mm) or anything else, it will be 0.4 the second time. So you will have to move the thumb screws again and wonder why the heck it didn’t stay at “barely touch bed” or whatever you used. Repeating that a few times, you will run out of thumb screw threads.

1 Like

I assume they don’t because a lot of people do not own a 0.4 mm feeler gauge. But my printable gauge referenced above will do just fine, at least if you don’t print it on a textured plate (although even that would be better than what Bambu recommends).

1 Like

Im gonna try your 0.4 mm gauge because I’m getting crazy with the wiki procedure. Thanks.

I used the wiki procedure, but encountered two difficulties.

The adjustment knobs are hard to grip and turn with precise control. I solved that with this tramming wrench, but there are others that you can print. The wrench gives me more leverage, a larger surface to grip, and allows better positioning of my fingers for finer control. It is very easy to make tiny adjustments.

The second problem is determining the exact point when the nozzle is “just touching” the printing surface. My solution is to shine a bright light (LED flashlight) behind the nozzle, then get down so my eye is in the same plane as the plate so I can view the light shining straight through the nozzle-bed gap. I turn the wrench until the light just disappears.

For me, determining the precise instant when the light winks out is more consistent than relying on my ability to judge the friction force on a feeler gauge.

Edit: I suppose you could combine the light gap with a feeler gauge? Maybe next time…


And most people never have to do any tramming at all (some folk are more likely to mess something by doing it).

The front part of the bed on my P1S is not in tram and the bed levelling is unable to compensate.

The below image shows the front-left part of the bed is out of tram.

Items printed at the front of the bed do not print correctly and tramming appears to be the only option. See below.

If the calibration cubes are printed at the rear then they print correctly. I’ve tried both Bambu Studio and Orca Slicer and get the same results.

Having had the printer for less than a month leaves me unimpressed with the QC the printers go through.

On my Ender 3 this would be simple to fix.