Automatic Print Leveling in MatterControl
Hey everyone, we have some great news to share with you! MatterControl now includes a way to automatically calibrate your printer. This is a huge improvement over our previous foray into automatic printer calibration. In our previous system, we required modifications to your printer, uploading new firmware and a significant amount of DIY. Now, thanks to MatterControl's new wizard, all you have to do is follow the on-screen instructions and you can get your printer calibrated and leveled in no time.
One of the biggest advantages to this approach is that there are no hardware modifications required - you no longer have to rely on adjusting small screws, or trying to use pressure gauges to get your bed perfectly level. Simply level the bed as well as you can, and the software will do the rest. Have you had trouble with larger prints in the past? This can be immensely helpful in that regard. The consistency in the layer height is fantastic, and big projects become much more viable. What’s even cooler, is that with certain printers, the bed doesn’t even have to be close to level. Check out this Mendel 90 with the bed deliberately skewed.
A ridiculously unlevel bed? No problem!
It’s exciting to think about how this technology is going to evolve over time. We now have the ability to help you get your printer calibrated and leveled, but in the future you won’t need to do any manual steps at all. We’re working with several manufacturers to completely automate the process. (BTW: If you are manufacturing a printer and want to work with us, feel free to give us a call!)
After connecting to your printer, you can find the new wizard at the bottom of the 'Printer Controls' under 'Advanced Controls'.
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.
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.
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
This feature is still experimental, if you have any problems or suggestions, feel free to give us a call or email us at email@example.com