Lots of people have had issues with the bed levelling for 3D printing on the Snapmaker 2.0, most specifically with the 350-series model machines. Being the most popular size of the SM2 machines, as well as having the largest build volume lends to more places and occurrences of the issues appearing, so to a certain degree that is to be expected. Nearly as many people have their suggestions for how to improve it. Out of curiosity, I wanted to know just how much difference these various recommendations really made, so I decided to test them. Here I will highlight some aspects of the machine along with the various methods/changes people have suggested, and we will see what affects they have on the bed leveling, both individually, and at the end as a cumulative whole. By taking you along the journey with me, hopefully it means you won’t have to do it all yourself, and will save you much frustration and time. Your results may vary, but this should at least give a general idea of what can be expected.
First, some background education…
Bed Levelling Procedure
The SM2 firmware is programmed so that for each point in the bed leveling grid, the auto-calibration sequence performs 3 measurements, 1 fast and 2 slow. It then takes the average of all 3 and uses that as its official measurement for that point in the mesh. For the type of mesh used by the Snapmaker’s firmware, this is known as the Bilinear Leveling Grid. The firmware is also programmed to perform some extrapolating calculations to create additional points in the mesh in between the measurement points; a 3x3 measurement grid is turned into a 7x7 grid, a 5x5 into a 13x13, and an 11x11 is turned into a 31x31 grid. This is called the CATMULL ROM Leveling Grid and is what the SM2 is actually using during printing. The machine constantly adjusts the height of the z-axis while printing in order to follow the bed level compensation measurements/calculations.
The Main Issue
Most 350-series machines have a bed level delta (variance between the highest and lowest points) in the 0.5 to 0.4mm range in a cold/un-heated condition. With heating, that can jump to over 1.0mm. As many of us have seen, even a delta of 0.4 can sometimes be too much for the machine firmware and software to compensate for, thus causing issues with the quality and success of 3D prints.
Per Snapmaker Support, the stock v2 (updated) “Platform” (also known as the “bed frame”) itself has a manufacturing flatness tolerance of 0.15mm across all of the screw down points, so you can expect at least that much bed level variance before even installing the platform on the machine (I have not learned what the tolerance is for the older v1 frame). Some platforms will have less, but if it has more, Support considers it an unacceptable out-of-tolerance manufacturing defect, and you can contact them for a replacement. To help you picture this tolerance, human hair thickness is between 0.017 to 0.181mm, with most being in the 0.05 to 0.09 range.
Inductive Probe and Stock Print Sheet Issues
The stock z-height probe that comes from the factory is an inductive sensor, meaning that it needs a magnetic material for sensing. The stock print sheet (also known as a “build plate”) is a flexible spring steel plate (the magnetic part) with a laminated coating of PEI on both sides (non-magnetic). Because the stock probe senses the spring steel plate in the middle, rather than the actual PEI printing surface on the outside, it can leave a bit to be desired. This means that if the stock print sheet’s PEI begins to delaminate and “bubble” away from the spring steel inner sheet, the inductive probe will not register the height difference between the steel and the PEI. The same is also true if the surface of the PEI is damaged and pushed down or torn off; the sensor will not register the height reduction. This is an issue that has generally been solved with the recommendation to perform a manual bed level calibration, rather than the auto-cal. By using manual bed levelling, we physically measure the distance directly between the nozzle and the print surface, thus removing the errors from the discrepancies that the inductive probe cannot sense. While manual levelling has proven to solve many issues for a lot of people, and is still generally recommended, it is quite time consuming. Also, by way of the manual procedure being dependent on a person’s own sensory perception of how much tension is on the calibration card, and manually moving the z-height of the machine, it introduces human error into the measurements in place of the probe errors, so we have to be careful to minimize that by implementing special techniques in how the manual leveling is done. By doing so, manual leveling can actually be quite a bit more accurate than the auto-calibration.
Here is just a quick comparison of the difference in accuracy that comes with using different grid sizes. From left to right, a 3x3, 5x5, and 11x11 grid of the same machine, untouched between calibrations. The “pits” we see in the 11x11 grid were done to the machine intentionally at the beginning to show how the 3x3 and 5x5 grids didn’t register those anomalies. Currently (as of firmware v1.15.21), the 11x11 grid is only available by using G-code commands through the command console, and only for auto-calibration, so 5x5 is the “gold standard” in most circumstances, and the one I used in my testing.
Now, on to the testing…
The machine used for testing is an all stock Snapmaker 2.0 A350, as purchased new in April 2021, and shipped with the v2 updated platform, and v2 updated single extruder 3D print head. We assembled the machine in accordance with the Quick Start Guide for our machine, and no special techniques, tools, or accessories were used or installed.
After installing the platform, the screw-down points showed a flatness delta of 0.659mm. This showed that the base plate and Y-axis linear modules induced quite a bit of warping to the platform once it is attached. These measurements were taken with a calibrated dial indicator mounted to the X-axis linear module slider in place of the print head, and located the same as the print head nozzle would be. Measurement resolution is 0.001 with an accuracy error of ±0.001.
After installing the heated bed and stock print sheet, I performed 6 auto-calibration procedures in quick succession of each other without touching the machine to get the baseline that all other tests would reference to. The machine was assembled cold, and auto-calibrated cold using the 5x5 grid. The average bed level delta came out to 0.443mm on this all stock, unmodified machine. What I noticed most here was that the installation of the heated bed and the print sheet actually removed some of the delta present in the bare platform, as much as 0.211mm, nearly a 3rd of the total.
The stock inductive sensor z-height probe has a measurement resolution of 0.001, but in these 6 baseline tests of the machine, I found the measurements showed a repeatability accuracy error of as much as 0.041mm. I chose to do the remainder of the tests with one modification installed: a capacitance probe instead of the inductive probe. This mod provided with a couple of benefits:
- In accuracy testing the same as I did for the stock probe, the capacitance probe proved to be slightly more accurate; it showed a repeatability accuracy error of 0.038mm.
- Being that it is not dependent on using a magnetic surface, and because it has a greater sensing distance range, the capacitance probe can be used with the stock magnetic print sheet, the heated bed itself, and even a glass build plate (assuming the glass is not thicker than the sensing range).
During my modification of the print head with the capacitance probe, to prevent damage while performing operation checks on the new probe, the heated bed was removed and later reinstalled, which I found caused a noticeable change in the bed level delta, which led to an additional test theory: what error is induced by the removal and re-install of the heated bed? I tested that, and will detail it later.
Heated Bed Test
For the first subject test, I performed the bed level calibration using just the heated bed with no print sheet on it so as to remove any error that might be caused by variances in the print sheet. The delta came out to 0.520mm. As stated earlier, in my case the heated bed actually improved the delta from the bare frame.
Heated Bed Removal & Re-Install
The next test involved determining how the removal and re-installation of the heated bed affected the bed level delta. Short story: it’s significant. This turned out to be the single most influential action that takes place. I found the total delta changed by as much as 0.126mm. After this finding, I definitely consider it advisable to avoid having to do this as much as possible.
Print Sheet Removal & Re-Install
Here I tested what change the removal and re-install of the stock print sheet would have. The variance in the delta across all 3 test instances was small enough that it was well within the accuracy error of the probe sensor. Because of this it is insignificant and should be considered as having no effect.
Print Sheet/Build Plate Orientation
Next came testing the orientation of the stock print sheet. Since it did prove to have a small but repeatable affect on the flatness delta, I kept it in mind to see it it would contribute to the cumulative end result. I took the best orientation and continued to use it for subsequent tests.
Heated Bed Screw Torque Amount
The next one was to check how the amount of torque used to tighten the screws contributed and to find the best option. I tested at 2.5inlbs, 5inlbs, and 10inlbs, all done with a calibrated adjustable torque screwdriver. My personal version of “finger-tight” is apparently slightly less than the 2.5inlbs, and 10inlbs is the smallest that most standard torque wrenches will measure. Torque amount and tightening pattern (the next test) were difficult to check due to the variance induced by the removal and re-install of the heated bed each time, as shown previously. I performed each version of the tests 3 times to find which one gave not only the best flatness delta, but also the most consistent delta with the nearest repeatability.
At 2.5inlbs, the delta was less on average, but also fluctuated more with each install, and I found that some of the screws would loosen up rather quickly from the machine’s movement and vibrations. 10inlbs measured as tight enough that it actually induced additional warp, and was the worst of the three. While 5inlbs had a slightly worse flatness delta than 2.5, it proved to be the most consistent and repeatable, and the screws did not loosen up to any degree that I could measure. I consider it to be the best option.
As with torque amount, and for the same reasons, tough to test. I tested 5 different patterns, and tested each one 3 times to obtain an average to determine which was the best and most consistent. Of the 5 patterns, using a star pattern, moving from inside to outside was right in the middle in terms of the average delta compared to the others, but also proved to be the most consistent and repeatable.
Hot vs Cold
The final test for the stock machine was to test the differences between installing the heated bed hot vs cold, as well as performing the auto-calibration hot vs cold. The cold temp was approx. 21C, and the hot temp was 70C. I expect that the results would likely vary if colder or hotter temps are used.
When the machine was assembled cold and calibrated cold, it provided the best delta due to it being in its most stable condition. However, what the numbers of these tests do not show is how when heated for calibration, the entire bed can change height a rather significant and non-uniform amount. In further testing using my calibrated dial indicator, my stock print sheet saw an average swell in height across the whole bed of 0.05, and one point rose 0.145. My glass build plate surface experienced an average change in height across the whole bed of 0.044mm, and a single point on the bed saw a change of 0.110mm. There was also a change to individual points on the glass, just from the heater cycling on/off to maintain temp, of as much as 0.036mm. Oddly, though borosilicate glass is claimed by many to have less thermal conductivity and less thermal expansion, the stock print sheet actually showed itself as being MORE stable than the glass from the heater cycling, with a single point change of only 0.004mm (about 1/10th as much as the glass), so ultimately a negligible change. This may however also be attributed to whether the heater is cycling faster or slower depending on the build plate material’s ability to hold a stable temp.
Regardless of which build plate surface you use, and as nearly all users suggest, it is best to calibrate the machine in the same operating state and ambient environment that it will be used in during printing. Though the delta may not be the best, it will give the most accurate measurements for the machine to compensate for while printing.
Glass Build Plate
My machine currently uses a glass build plate for several reasons, and I thought it would be interesting to see what the differences between it and the stock print sheet are. The biggest claim by many in support of the glass is that it isn’t affected by the heat as much, and so doesn’t warp or bubble like the stock print sheet. However, as we have seen detailed previously, that is not necessarily the case. So then I needed to figure out what it is about the glass that has nearly every user (including myself) swearing that it dramatically improved their prints’ first layers. In my testing regarding the bed level delta, the stock sheet actually performed better than the glass in most cases, except for one…
The glass is not subject to the same kind of damage or “bubbling” that the stock sheet is, and so maintains a smoother transition surface from one point to the next, which makes it easier for the machine to continuously move the z-height to compensate for the delta in the manner that it is designed to. The stock print sheet is prone to what I call “micro-warping/micro-bubbling,” where two measurement points directly adjacent to each other can have a seemingly MASSIVE height difference between each other. In the 5x5 grid, my stock sheet had two immediately adjacent points with a difference of 0.248mm between them (keep in mind that the standard layer height is 0.2mm when using the industry standard 0.4mm nozzle). In my opinion, that’s HUGE! While the glass plate saw the worst at 0.19mm, the 11x11 grid showed that the transition between the two is much more gradual thanks to the glass being a smooth and solid material, instead of a textured and laminate like the stock sheet. To me, this seems to be the biggest benefit to using a glass plate, maybe even the only true benefit, but it is a significant one that should be considered and not overlooked.
Cumulative Outcome and Conclusion
Despite the affected change of the individual tests, the cumulative effect was so little that it is easily, and completely erased by the change that comes from the removal and re-install of the heated bed, even when always using the techniques that produce the most consistent results. The cumulative change to the bed level delta using all the best techniques combined together was small enough that it was well within the designed and advertised accuracy of the machine, 0.04mm. Even so, in order to obtain the most consistent and predictable results over time, I suggest the following…
- Install the heated bed while heated to a temp typically used during printing
- Tighten heated bed screws to 5inlbs (finger-tight if tools not available), using a star pattern, from inside to outside
- Calibrate using a 5x5 calibration grid, while heated to a temp you typically use for printing
- Avoid removing the heated bed as much as possible
Getting the bed level delta to below 0.4mm will generally require shimming between the platform and heated bed, using a glass build plate, sometimes shimming between the heated bed and the build plate, and/or special software or at least a working knowledge of certain G-code commands in order to read the delta measurements to know where adjustments are needed. Using all of these options on my machine, as well as installing a y-axis support rail mod, and using machinist squares and 1-2-3 blocks for tramming the machine, with significant time investment, I was able to reduce my bed level delta down to 0.09mm. But then, of course, changing machine functions changed that, and I have not been able to get it back there, though I am still below 0.2mm. As long as still being able to get good initial layers on full bed prints, it may not be worth the effort to pursue it further until it can be ensured that the heated bed is able to remain in position.