Manual Calibration

I have been using the manual calibration since autocal doesn’t quite seem to work.

Well, I noticed that it seems the nozzle moves more down than up when you use the buttons. Does anyone else experience this?


That’s the backlash showing up. They don’t use the backlash feature Marlin supports. But they should, especially for the Z. I’ve measured my backlash with a dial indicator and it’s about .05mm or .002”.
I also don"t trust either manual or auto calibration though manual is better than auto. Manual is more consistent but it still doesn’t verify. I wrote a little program to go back over each calibration point and check it with a dial indicator and it just doesn’t check out right. I have to manually tweak each calibration point using the “M421 Ix Jx Zx” gcode commands. Many points don’t need tweaking but some are off by .5mm!!! That’s a lot.

Oof. Painful. I can’t even trust manual calibration.

Yes, it doesn’t make sense. Something seems off. The manual leveling should be better. It’s as though the whole leveling matrix was tilted on the Y axis the points in the back row (Y250) side seemed good and the mire you move forward the further off they became. Manually tweaking them at least has been repeatable.

I hope this doesn’t sound silly, but how do I manually calibrate my A350? I can’t find any literature on how to do it. The auto actual worked okay for a while but now when it gets to point 5, it presses down hard on the bed, so much so you can see it bend down.
Thanks for any help.

When you turn off “Auto Leveling”,(Settings :3D Printing menu) the Calibration button then executes the “Manual Leveling” procedure. I find that it still doesn’t produce an accurate level. That’s why I created the “Check Level Hot.gcode” file. You will probably get a more accurate manual level if you do it at the bed temperature you’re going to print with. There is a way to turn on the bed heat while doing a manual level.

Edit: It was discovered (by me) that the manual leveling had a bug in it which was fixed in the 1.7 controller firmware. So be sure you have the latest firmware for the controller.

1 Like

Thanks Tone! I just updated the firmware and was browsing around the menu and then saw the toggle for Auto Leveling. I did run the auto level though one more time after the firmware upgrade, but now the X-axis is way to the left. Point 1, the nozzle is off the bed and now a few more points where it presses hard on the bed. Hopefully this manual level will work. I may have to hit you up for your “Check Level Hot.gcode” file.

Thanks again!

Connect to the terminal and run an M503. share the output her if you would like. I’m willing to bet that the firmware update reset your XY offset to both be zero.

When I run M503 in the console (Connected wifi - Luban), is it supposed to spit the info in that console window? All that comes back is;


M503 does not work from WiFi you must use the USB serial connection or a Pi with Octoprint connected to it

Yeap, you are right.

When you use wifi, it only shows OK. But if you use the USB cable to connect, it will show the info.

@Wayne I see you must have just updated your printer because you have not run a bed level, calibrated your E-steps or adjusted the default M900 K value of 0.22

I think @Wayne is from Snapmaker!?!? Are you the same Tracy that just sent me another Print Bed Sheet?

Below is my result from M503. How does it look?

Thanks for all your help!


Hey, i have more information about the data (i have “just” SM Original but its nearly similar):

M503_SM Original

Recv: echo:Steps per unit:
Recv: echo: M92 X400.00 Y400.00 Z400.00 E92.60
Recv: echo:Maximum feedrates (mm/s):
Recv: echo: M203 X300.00 Y300.00 Z5.00 E25.00
Recv: echo:Maximum Acceleration (mm/s2):
Recv: echo: M201 X1000 Y1000 Z100 E10000 X_CNC100 Y_CNC100 Z_CNC100 E_CNC100 X_LASER3600 Y_LASER3600 Z_LASER3600
Recv: echo:Accelerations: P=printing, R=retract and T=travel
Recv: echo: M204 P1000.00 R1000.00 T1000.00
Recv: echo:Advanced variables: S=Min feedrate (mm/s), T=Min travel feedrate (mm/s), B=minimum segment time (ms), X=maximum XY jerk (mm/s), Z=maximum Z jerk (mm/s), E=maximum E jerk (mm/s)
Recv: echo: M205 S0.00 T0.00 B20000 X20.00 Z0.40 E5.00
Recv: echo:Home offset (mm):
Recv: echo: M206 X-4.50 Y-5.50 Z-5.40
Recv: Mesh bed leveling:
Recv: echo: M420 S0 X2 Y2
Recv: echo: M421 X5.00 Y5.00 Z0.25
Recv: echo: M421 X120.00 Y5.00 Z-0.50
Recv: echo: M421 X5.00 Y120.00 Z0.00
Recv: echo: M421 X120.00 Y120.00 Z-0.55
Recv: echo:Z2 Endstop adjustment (mm):
Recv: echo: M666 Z0.00
Recv: echo:PID settings:
Recv: echo: M301 P22.20 I30.00 D18.00 C100.00 L20
Recv: echo:Filament settings: Disabled
Recv: echo: M200 D3.00
Recv: echo: M200 D0
Recv: ok

I see your bed level is all over the place like mine is. I would lower that M900 value to something around 0.08 or so. I would also say calibrate your extruder and adjust your E-step value.

Here is the M503 of my SM2.0 A350 (with comments!):

A350 M503 with comments

SM2 A350

Send: M503
Recv: G21 ; (mm)

Recv: M200 D3.00 ; Filament Diameter
Recv: M200 D0 ; turn off Filament Diameter
Recv: M92 X400.00 Y400.00 Z400.00 E212.21 ; steps per mm
Recv: M203 X150.00 Y150.00 Z50.00 E25.00 ; max speed
Recv: M201 X3000.00 Y3000.00 Z100.00 E10000.00; max acceleration
Recv: M204 P1000.00 R1000.00 T1000.00 ; starting acceleration
Recv: M205 B20000.00 S0.00 T0.00 J0.02 ; advanced movement settings
Recv: M206 X-17.00 Y-8.00 Z0.00 ; home offsets
Recv: M420 S1 Z0.00 ; bed leveling states + G29
Recv: G29 W I0 J0 Z5.73250
Recv: G29 W I1 J0 Z5.86250
Recv: G29 W I2 J0 Z5.93375
Recv: G29 W I0 J1 Z6.01750
Recv: G29 W I1 J1 Z6.07250
Recv: G29 W I2 J1 Z6.03375
Recv: G29 W I0 J2 Z6.26875
Recv: G29 W I1 J2 Z6.31000
Recv: G29 W I2 J2 Z6.15375
Recv: M301 P13.00 I0.10 D17.00 ; Hotend PID
Recv: M851 Z1.00 ; Z Probe Offset
Recv: M900 K0.22 ; linear advanced factor
Recv: M603 L0.00 U60.00 ; filament change parameter

How much variation there is in the mesh/matrix points is an indication of how bumpy or tilted your bed is.

Yes, i have little problems to get PETG stick. I think the surface of the printsheet is not that good like at sm1 because of the roughness.
BTW i print the first layer with 9mm/sec at huge prints.
The problem is i have nearly no time on checking more out because of producing COVID headshields.

Have you tried my “Check Level Hot.gcode” file to verify if your leveling matrix is on or off?