Start at the Bottom - Bed Leveling
Having a level Mesh Bed is essential not only to getting your prints to stick to the build plate, but also to improve quality across the XY plane during a print. This post will cover the different methods used to level your bed and tips and techniques to maximize your print quality. This post does not cover first layer calibration and will be covered in a separate article.
Depending on your printer, bed leveling can be done, manually, automatically or a combination of both (rare for an unmodified printer). Manual leveling is done by adjusting the height of the bed at its mounting points relative to the Y Carriage (the part holding your bed). Automatic leveling can be done with software compensation or mechanical correction with the use of additional motors. Which is the best method? Hopefully this post will help answer that question.
Many printers currently on the market have a heated Mesh Bed to help adhesion of different kinds of filament such as PETG and a removable build plate. Heat beds consist of a heating element embedded in the bed material with a thermal sensor. The element is usually a thick PCB trace of copper and the bed material is FR4 fiberglass (the material 99% of all PCB's are made of), the bed is then finished with a solder mask to protect the traces and a silk screen for graphics. In summary the heat bed is basically a large PCB. The level of the bed will change due to thermal expansion and contraction so it's important to level the bed with it heated to the desired temperature you will be printing at.
Manual leveling can be done with a variety of methods and tools but they all accomplish similar results. Most beds will have between 5 and 9 mounting points to the Y carriage with the mount in the center of the bed being fixed leaving between 4 and 8 points for adjustment. A good rule of thumb is to set the nozzle at 0.1mm from the bed at the center and each adjustment point. A standard piece of copy paper will do nicely as a gauge as it's typical thickness is 0.1mm. Simply position the paper between the nozzle and the bed and adjust the height so there is just a bit of friction between the paper and the nozzle. Start with the four corners then the edges using a cross pattern rather than going clockwise around the corners and edges. Use of a feeler gauge is not recommended as the pressure exerted on the gauge can push the bed down making it counter productive. Adjust all the corners and edges at least twice and call it good when there is slight friction between the nozzle and all mounting points to the Y carriage. Manual leveling is necessary to reduce warping of the bed! The main disadvantage of manual leveling is the time it takes to level the bed and inaccuracy of test equipment such as a piece of paper. Most printers with manual leveling accomplish this with use of a spring at each adjustable mounting point with a knob to adjust the tension (height). Springs lose their tension over time and bed level should be checked on a regular basis and springs replaced when they are no longer effective.
Most printers (pretty much any printer under $5000) that have an auto-bed leveling feature accomplish this with software compensation to adjust for variances in tram (a perfect tram is when the X Y and Z planes are all perpendicular to each other) and variances in the actual level of the bed. Most, if not all beds are warped and the degree of warping can change when the bed is heated or cooled.
While auto leveling has it's advantages it also has it's disadvantages. The term auto-leveling is a bit of a misnomer as the printer does not do any actual leveling of the bed. The printer uses a probe to accurately measure the distance between the nozzle and bed at various points and adjusts the print to compensate for these variances. During a print you will notice the Z motors adjusting the height of the print on any given layer if you bed is not perfectly trammed or flat. Sounds great! Right? The main disadvantage to auto leveling is the fixed bed cannot be adjusted and the variance in level can be huge in 3d printing terms. An example of a typical variance of your bed from corner to corner left to right is 2mm, right to left is 1.5mm, front to back 1.2mm and side to side 0.5mm. The heat-bed is warped! Your not special, so is everyone else's bed. This means that your entire print will be warped relative to the the bed. Precision is diminished because the Z is constantly being adjusted on every XY layer. With a bed that is perfectly level mechanically the software compensation = 0, meaning Z is only working when performing a Z function such as retraction or moving to the next layer.
So what is the best method for bed leveling? Yes, both are the best when used in combination. For example the Prusa MK3s (my printer) has auto-leveling and before performing manual bed leveling the example given above was the actual variance of my Mesh Bed. Unfortunately most "auto-leveling" printers including the MK3s do not have the ability to manually adjust the bed, it's an either or situation. In the case of the Prusa I modified the printer using what is commonly known as the Nyloc Mod. Now I can manually adjust the level of the bed to get the tram and level of the bed as true as possible. Note that your tram will never be perfectly perpendicular and your bed will never be completely flat but it is possible to minimize the variance to the point that it is insignificant.
If you are not using OctoPrint I highly recommend it if your printer is compatible. There are plugins available that will use the auto-leveling feature of your printer to determine how warped your bed actually is and how much correction is required at each mounting point. In the case of my printer I went from a variance of 2mm+/- to a variance between .08 and .04mm. That's 50x more accurate than before! Anything under 0.1mm variance is insignigicant.