After having worked with many different 3D printers, we are very aware of the fact that most printers are very hard to get calibrated. We are also aware that even when they are calibrated, they don't seem to stay that way.

MatterControl's Print Leveling feature eliminates these troubles. By figuring out the current tilt of the bed, MatterControl actively works to maintain a print's levelness. With Print Leveling you can get leveled prints every time.

Table Of Contents

1. How Do I Enable It?
2. How Does It Work?
3. How Will This Affect My Printer And Prints
4. What Happens If I Disable It? 
5. Advanced Bed Leveling

1. How Do I Enable It?


Location of automatic bed leveling settings.

Here is how to access Automatic Print Leveling feature:

  1. Select your printer
  2. Connect to your printer
  3. Click 'Settings & Controls'
  4. Click the 'Options' tab
  5. To the right of 'Automatic Print Leveling' select 'Configure'
  6. Follow the on screen instructions

A step-by-step instruction wizard will open and walk you through the calibration process with clear, easy-to-follow instructions. The only thing you will need is a sheet of standard paper. The software will ask you to help it measure three points on your bed and when completed Print Leveling will automatically be turned on and ready to help. The whole process is very easy and will take about 3 to 5 minutes.

2. How Does It Work?


This video shows how the Z axis is constantly moving to keep the part on the bed.

Print Leveling allows MatterControl to figure out the tilt or angle of the bed. Using this information when printing, MatterControl actively raises and lowers the Z axis to make that the printed part matches the tilt bed and will always remain correctly above it. This process ensures that the print remains level regardless of the unevenness of the bed.

Long story short, no matter how tilted your bed is, Automatic Print Leveling will ensure that your print will match it perfectly.

3. How Will This Affect My Printer And Prints?


Here, even with a ridiculously uneven bed, the Automatic Bed Leveling feature ensures that the print will still be perfectly upright.

Print Leveling does not directly change anything about your printer or your print files. It simply allows for the correction of an uneven bed to be compensated for during printing. If for some reason your bed gets uneven, Print Leveling can compensate for it by adjusting the Z axis as you print. This should work for all source files that your printer can use.

4. What Happens If I Disable It?


The Automatic Print Leveling Feature can be toggled on and off by clicking the 'Enable' button.

If you disable it, MatterControl will not do any work while printing.  It will not attempt to level the print at all. However if you ever want to turn it back on all your calibration settings are saved and waiting for you when you need them. But remember, when Print Leveling is disabled, you will have to go back to ye olden days of manually calibrating your print bed!


5. Advanced Bed Leveling

MatterControl has added 7 and 13 point bed leveling which is helpful for calibrating larger bed surfaces and Delta style printers in particular. Read more about this feature

Technical Note

Mechanical Changes:

Automatic Print Leveling works better if your limit switch is on the top (Zmax). We’ve gotten it to work on printers with the z switch on the bottom (Zmin), but it’s a little tricky.

G-Code Changes:

If the limit switch is on the bottom (printer homes to the bed). Add the following G-code after homing.

G1 Z1 ; raise the extruder to be 1 millimeters above the bed.   

This code will help prevent the extruder from bumping into the build plate when it first starts moving.

Firmware Changes:

It is also important that the ZJERK (at least in marline firmware) not be 0. If it is 0 it will cause the printer to have to come to a complete stop at every change in z, which will be every move. In marline firmware you can find this in Configuration.h line 195 (or there about). We set it to .2.

#define DEFAULT_ZJERK                 0.2     // (mm/sec) can't be set to 0 for bed leveling to work.

Or add the following to your start G-code

M205 Z.2

Here is a Printrbot showing printing with a limit switch on the bottom.

This feature is still experimental, though you can see from our videos that it is creating some great results! If you have any problems or suggestions, feel free to give us a call or email us at

About MatterControl

MatterControl is an all-in-one desktop 3D printing software application created by MatterHackers, Inc.   MatterControl features an intuitive approach to 3D printing, allowing users to queue multiple parts for printing without pre-slicing, preview and manipulate designs, as well as integrating a library that enables users to organize and search their design files.  MatterControl is currently available for Windows/PC (XP and above), Mac OS X (10.7+) and Linux.  Check out for more details.