3D Printer Bed Leveling

I recently explained the importance of 3D printer bed leveling to a coworker, and decided to share it more broadly. This procedure can make the difference between success and failure of a 3D print. If the bed is too close to the extruder tip, the filament can jam, leading to the drive gear losing its grip on the filament. If the bed is too far from the extruder tip, adhesion will be poor or will fail completely. It is very important for the extruder tip to be zeroed and for this spacing to be the same all across the print area. The first layer will likely print at about 0.3 to 0.4 mm from the bed surface (for 1.75 mm filament), and needs to be accurate within about 0.1 mm.

Bed leveling is accomplished by verifying equal spacing in the center and corners of the bed. I use a small sheet of paper that I pull out from between the extruder tip and bed while both are cold. I assign a large value to the Z height so that I can freely move it down. I can use “G92 Z50” with the extruder tip clearly closer than 50 mm from the print bed, and then start taking coarse (10 mm) and then finer (1 mm) steps toward the bed surface. Once the extruder is very close to the surface, I approach the bed with the extruder tip in 0.1 mm increments while pulling on the sheet of paper. When I just start to feel resistance, I stop or perhaps try moving up and down by 0.1 mm a few times. I note the resistance I feel when I pull out this paper. I set the zero height with the g-code command “G92 Z0” and then lift the extruder tip by 10 mm so that I can move on to a new measurement location.

Here is a picture of my heated print bed with the extruder tip centered using “G0 X0 Y0” and brought down in Z until it lightly presses against the paper strip. I can pull out the paper feeling a little bit of friction between the extruder tip and bed. I print on acrylic sheets as described in this previous post. I use lots of bull clips to make sure that my acrylic sheet is as flat as possible.


Here is a close up shot of the centered extruder tip. Again, both the bed and tip are cold during this procedure. The hot extruder tip would otherwise melt in to the acrylic sheet.


Once the center has been zeroed, I raise the tip up 10 mm and move to the first corner. Anywhere near the corner of the bed is adequate. I then use g-code “G0 Z0” to lower the tip to the same zero height as the center. I adjust the spring loaded height adjustment until the piece of paper under the extruder head has similar friction to what it had at the bed center. Here is a picture of the corner adjustment. This is the right, front corner. The small nut in the foreground can be adjusted by hand.


Next I raise the extruder and move on to the right, rear corner. The order of measurement is not important as long as all four corners are checked.


After each corner is finished, I move back to the center and re-check the zero height. Here is a picture of another corner adjustment.


If significant adjustment was required on one or more of the corners, the procedure should be repeated completely to make sure that the height is in fact the same at all four corners and the center.

After the leveling is completed, raise the extruder to about 30 mm and move back to the bed center with “G0 X0 Y0” before turning on the extruder and bed heaters. This is a view through the double pane window of my heated print chamber. I keep the environment at 70 C. The bed is also heated to 70 C. This made all the difference in eliminating delamination.




2 responses to “3D Printer Bed Leveling

  1. Pingback: Structured Light Scanning of a Key | Phidian3D News·

  2. Pingback: DIY DLP 3D Printer | G. P. Le Sage Blog·

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s