Featured image of Mesh Bed Leveling – All You Need to Know
Better Than a Probe

Mesh Bed Leveling – All You Need to Know

Picture of David Contreni
by David Contreni
Sep 5, 2019
Advertisement
Advertisement
Advertisement

Mesh bed leveling is capable of giving you a smooth, even first layer, even without special hardware. Dig into this detailed guide where we explain this leveling process and show you how to implement it yourself.

Mesh Bed Leveling Leveling Types Explained

Never touch these thumbscrews again.
Never touch these thumbscrews again. (Source: Ultimaker)

Since a level bed is crucial to successful prints, leveling the bed is necessary before every print job. However, manual bed leveling is annoying, at best; fiddling with knobs you usually can’t see can kill the mood.

With that in mind, it’s not hard to imagine why auto bed leveling became a thing. The automatic process, making use of an inductive probe, takes care of the leveling for you. But this approach has its drawbacks, too: lack of standardization, hardware quirks, increased cost, constant maintenance, and complicated setup. Not to mention the fact that you have to wait for the probing procedure to run at the start of every print.

That’s where mesh bed leveling comes in. But what exactly is it, and how does it compare to manual bed leveling and auto bed leveling?

Here’s the thing: If you’ve occasionally been a bit too enthusiastic while removing a model from your bed, your bed may not be as flat as you’d like it to be. In other words, the corners might be nice and even, but the middle might still be too far or too close. This means your bed is warped, and no amount of thumb screw-twisting is going to solve the problem. Mesh bed leveling creates a mesh model of your bed, lowering or raising the nozzle while printing the first layer to compensate for the uneven spots.

Its setup requires a bit of firmware configuration and light manual installation, but it’s easy as these things go.

If you’re interested, the RepRap wiki describing mesh bed leveling goes into more detail. But for now, let’s see how to set it up on your machine.

Advertisement

Mesh Bed Leveling Getting Started

All you need is the Configuration.h file and the Arduino IDE.
All you need is the Configuration.h file and the Arduino IDE. (Source: David Contreni / All3DP)

With a few simple changes in your Marlin configuration, we can get a 3D printer to compensate for a less-than-perfect surface with no hardware at all. And the procedure is basically the same for every FDM printer out there.

As mentioned, this is a change to Marlin, so you’ll need a copy that’s been configured for your printer. You can probably find that in the Example Configurations folder in the Marlin package. We only have to edit the Configuration.h file with the Arduino IDE.

Note that line numbers in the example images may or may not match what you see (but they should get you close). Also, remember that messing with firmware can have unintended consequences, even for a simple procedure like this. It’s on you if something goes wrong.

If you’re totally new to firmware configuration, we’ve got a beginner’s firmware guide to get you started.

Advertisement

Mesh Bed Leveling Delete This, That, and Done

Delete the stuff in red boxes.
Delete the stuff in red boxes. (Source: David Contreni / All3DP)

The image above shows everything that must be done to enable mesh bed leveling in Marlin. It’s just a matter of making sure that three specific lines are uncommented. Uncommenting turns a line into active code and is accomplished by deleting the double slashes at the start of the line.

Here’s why each line is important:

  • Uncommenting line 986 enables mesh bed leveling. This is actually all you need but the other two lines help a lot.
  • The homing command in G-code (G29) resets any leveling information. Line 986 restores it. There are other similar modifications you could make to your startup G-code, but trust us, this is easier.
  • Line 1102 adds a menu item to your LCD.

After uncommenting the three lines, upload your Marlin file modified for mesh bed leveling with your Arduino IDE.

Advertisement

Mesh Bed Leveling Final Manual Setup

This is optional but may be useful.
This is optional but may be useful. (Source: David Contreni / All3DP)

We need to use that sheet of paper and those manual adjustment knobs one last time before starting mesh bed leveling. When you’re ready, heat up your printer for your filament of choice. Then navigate to “Level Bed” under “Bed Leveling” in the Prepare heading of your LCD display. Each click will move the carriage towards the next location in a grid of nine points, and at each point, you’ll use the knob beside the LCD screen to raise or lower the Z-axis step by step. Just remember: Turn left to lower, right to raise.

If your Z endstop triggers while you’re adjusting, you’ll have to start over after adjusting it to give you a little more room.

When you get the message that you’re finished, print a bed test pattern. Three by three grids of squares seem especially popular for this method. The picture shows how to enable a bed test pattern in your menu if you like.

If your whole grid seems a touch consistently high or low, rather than do the whole thing again, use the Z Height menu option to take it up or down a little.

And you’re done!

Advertisement

Mesh Bed Leveling Done!

A tight even bed test pattern.
A tight even bed test pattern. (Source: Kevin Hester / Thingiverse)

And there you have it. With just a few simple edits to your Marlin Configuration.h file and a simple procedure, you may never have to handle scorching hot paper again!

Mesh bed leveling probably shouldn’t be used to replace auto bed leveling, but it’s an option. It’s certainly worth thinking about if you don’t have auto bed leveling installed, at least.

Enjoy your effortlessly even first layers!

Feature image source: David Contreni / All3DP

License: The text of "Mesh Bed Leveling – All You Need to Know" by All3DP is licensed under a Creative Commons Attribution 4.0 International License.

Subscribe to updates from All3DP

You are subscribed to updates from All3DP

You can’t subscribe to updates from All3DP. Learn more… Subscribe

You can’t subscribe to updates from All3DP. Learn more…

Advertisement

Recommended for you

Advertisement
Advertisement
Advertisement