On achieving a better leveling (With help from Snapmaker Devs)

Good day everyone. I hope everyone is doing well. After some research and playing around with the machine, and kind help from the Snapmaker devs, I was able to reach a pretty good leveling result. Some notes on this, Snapmaker responds almost instantly on workdays over in China, way faster than email supports. If you have urgent questions for them I can help you communicate with them. My results are posted here, and a tutorial will follow in this thread.

3 Likes

I’m interested in the tutorial, but I got to say, that kink in the heated bed wire can’t be healthy!

1 Like

First, you need to connect to your machine via USB. The reason we don’t use Luban and send gcode over wifi is that you will receive no feedback in the Luban terminal. To connect via USB, plug the cable that came with the machine into the USB mini (Not the regular USB port) port and the bottom of your power supply. Now, you would need to install the USB driver, which can be found here under “CH340 Driver”. Choose to download the one that fits your OS.

Turn on your machine and heat up your bed, this can be done via the screen or gcode, whichever you’d like. (To set your bed temp via gcode, use M140 S{temp}). I heated mine up to 70C.

Now, to connect to your machine, you would need terminal software. OctoPrint is a fantastic choice, but I did this with YAT. Both can be downloaded for free. To connect, choose the COM port to which CH340 is associated to (Power up your machine first). The settings I used for YAT are as follows. 捕获 Remember to change the EOL settings to LF (Line feed only), otherwise, the terminal would look like my room (:D).

After the connection is established, wait until your bed is heated up for at least 5 mins. Snapmaker 2.0’s bed expands under heat, therefore the leveling is better off done when the bed is heated up. Currently, Snapmaker Devs is changing the leveling mechanism to which the heat would not be turned off during leveling process. As for now, we can only heat the bed up prior to leveling, and hope it don’t get cold during the process.

After the bed is heated, we can get started on leveling. Send ‘G1029 P7’ to the machine. This would change the machine’s leveling process to 7x7 grid. You can do up to 11x11 calibration, but the Snapmaker Devs told me the 7x7 has better results. (Probably due to it takes less time than the 11x11 and avoids the bed to cool down before the leveling process to finish.) You should see feedback in your terminal that Snapmaker has changed into 7x7 leveling settings. Use 'G1029 S to save this process. And now, we can use ‘G1029 A’ to begin bed leveling. The machine should start moving and probe the 7x7 grid. You will see that your bed stop heating, this is normal and currently there is no way around it. However, Snapmaker Devs have confirmed they are changing this right now.

After the machine finish probing, you would need to manually calibrate the z-offset. Grab your calibration card and do it like usual. Use the control function on your screen to control the print head, when you achieve the desired z-offset, send ‘G1029 S’ to the machine and save the settings, and ‘G1029 D0’ to confirm the leveling is on. Now, you are done with the leveling process, and you can check your probing data by ‘M420 V’. You can actually graph your probing data, and see it visually. (This graph here is when I did a 11x11 under heat, and bed cooled before it was finished, and you see a very big difference in height.)

You are basically done at this point, go ahead and use M500 to save the settings, and you can try do a leveling test right now. Be sure you reset your z-offset to 0.00mm when you start printing, so you don’t alter the new leveling result. You can change this to your desire, of course. Be sure to set your bed temperature back from 70C, as this temperature would deform PLA. Best of luck!

4 Likes

Haha! I just noticed it, going to fix that right now.

Thanks for the write up.

Just confirming - Support indicated to you that 1mm deviation in height across the platform is acceptable?

That’s just insane to me. Something else is wrong. Either the X is out of tram, or the build plate needs to be shimmed front/back. The platform is flat, but it’s not level, and as a result your prints (or CNC’d parts) will not have square sides.

Hey brent, good to see you here. That graph was not at all accurate, that particular leveling was somehow off by 1mm, I was scared by this aswell! But a second probe showed that the deviation in height is around 0.02-0.1mm.

Would you mind posting your final M420V matrix? Just the 7x7 grid, the interpolated 21x21 isn’t necessary.

Of course. One moment.

捕获4
Sorry it took me a bit, I realized yesterday I actually only did a heated 5x5 leveling afterward and got that result so I had to do the 7x7 again.

There’s a pretty significant tilt there. Across the worst diagonal of nearly 0.7mm. I can’t recall which direction is along the X axis, but I think it’s the one that has the worst tilt. You should be able to bump the left or right side of the X axis up or down (with the machine off, where it meets the Z tower) to flatten that a bit. I prefer to use a pair of things that are the same height and push the X axis down onto those spacers, sitting on the linear rails for the Y axis. That will get you a nice reference so the X axis is the same height away from the Y axis linear modules on each side.

That should be able to remove almost 0.5mm of tilt.

So power off the machine and push the left and right side of the X rail down as far as it goes? Sorry I could not picture what you suggest here well. And what are the effects of the two objects with the same height you mentioned?

I’ve written about it here: Carriage Tolerances - Unusable Over Distance >75mm From Center - #34 by brent113
And there’s a more detailed discussion in this thread: Misaligned Layers, Nozzle Nudges and Thermonuclear Meltdowns - #47 by brent113

Just to be clear, I’m happy to hear you’re getting good bed adhesion. This will not affect that, and will require a new calibration to be run.

This just affects how square corners are, that is how close to 90 degrees everything is. For most things this won’t matter. But if you printed something tall, it would lean slightly to the side when you set it on a flat table, a small amount.

It’s just a bit surprising to me that support walked you through this whole process and never commented that the resulting bed level compensation matrix was a millimeter off from side to side, which is a really easy fix.

In my opinion, when you look at the resulting matrix using M420V the numbers should all be fairly close to each other. The bed level graph like you posted above should be pretty level. The slope across should be fixed, as something is out of whack there.

And again, this effect is small, you may not want to even mess with it. I just did a quick check using your numbers and it you printed an object 300mm tall a straight vertical wall would overhang 1mm to the side. That may be acceptable for the types of objects you are printing.

However, if you were expecting to print something with a fairly tight tolerance that needs to mate with something else, 1mm out of whack would be unacceptable. Since this machine is repeatable to easily within 0.02mm, it seems worth it to me to fix.

1 Like

They did not see my matrix xD. The result I got yesterday was promising so I never sent them the graph. I will talk to them today and see what they think, and the procedure you sent looks logical, I will add it to the post as well. But for now, I am struggling to find 2 objects precisely close in height to use for this procedure haha.

Even canned vegetables or soda cans should work, they are all manufactured with precise tolerances. It’s also easy to check if they are the same by doing the procedure, turning the machine on (to lock the axis in place) and then trying to swap the cans. If they are the same size they will still fit even after swapping them side to side.

this is all pretty similar to what we have been finding as well, with two exceptions

1.) we use luban as the terminal, and even made macros for doing it. they didnt want you to use the luban terminal for this?

2.) we use the 11 x 11 grid. i wonder why they feel the 7 x 7 is better?

have you tried to use the 11 x 11 and observed a difference?

truth be told, it makes a huge difference. i ran like that for several weeks and i am totally on board, pre-heat and custom calibration size.

i been in touch with the software side on github and we also discussed the pre-heating and they have gone so far as to say that the warping from heat exceeds any sort of current induced variant on the sensing range by a significant margin.

there is no doubt about it for me

what makes an even bigger difference is switching to a glass bed, i dont even worry about it and run a 3 x 3 calibration using stefix’s fifix spring probe to trigger the prox. others just put a build sheet on top of their glass to use the prox as is.

  1. They never said anything about what terminal to use, but as far as I know Luban doesn’t produce feedback as well as third-party terminal.
  2. I will ask the dev today for the reason. My guess is it finishes faster than 11x11 and negates the effect of the bed cooling during leveling.

I tried it with 2 Dr.Pepper cans I have available and they are a bit tight fit but still able to fit in. Recalibrating and will post the matrix once it’s done.

ah okay, yeah i think over usb its fine, but over wifi you are correct

and that makes sense i guess on the cool down

This is the new grid, and as you said, results drastically improved! Adding this procedure into the write-up. Should I do this every time I power the machine up or just when I level5 ?

I only do it when I suspect something has moved, like if I bumped it with the power off, or changed tool heads, or there was a crash. Usually it will stay put otherwise.

The term for that is “tramming”. You can only easily tram X on this machine. Fortunately for you your Y axis is already tram, but if that needed to be adjusted like some people need it requires shimming the mount underneath.

2 Likes