How to set Z probe offset in Marlin!

by morganlowe Jun 19, 2019
Download All Files

Thing Apps Enabled

Please Login to Comment

Why does a G0 Z0 crash my nozzle into the bed I never had this issue before.

Need more info!

Do this:

Home [G28]

G0 Z10

Where's it at?

You mean where as in height? the LCD is showing Z10

is there 10mm between the nozzle and bed?

If not you need to adjust offsets. Might be easiest to start with M502 [load defaults] then tune from there. There is a glitch in Marlin 2.0 with the Z offset being set during a print, it goes nuts. So don't do that.

Yes it is 10mm between nozzle and bed.

Should be fine! Check your slicer. Might wanna re-slice that object.

The problem is nothing changed! other than changing my nozzle to .5 and new heatblock and heatbreak I can't get it to print with TPU still (the real issue) So I'm stuck.

Nothing has changed only everything....

The nozzle, heat break and block are what create the Z offset! You gotta set that offset again. Every nozzle or whatever change. It's why I made this quick and easy guide.

I understand this but I'm not sure why the settings arent being saved I've never had the nozzle crash lower than the bed (it starts off the bed and does a 4cm line so it hits the side) I've used your guide each time I've did this which is why I'm puzzled because probing the bed its fine.


M851 Z0.00 ;set z offset to 0
M500 ;save config
M501 ;load config

M140 S60 ;set bed temp to 60°C
G28 ;home axis
G1 X115 Y115 F3000 ;move nozzle to center (adjust XY to ur bed size/2)
G90 ;use absolute mode
M211 S0 ;disable software endstops
G1 Z0 ;move z on real 0

now put in ur paper and lower z till it rubs the paper
!!!this is absolut, not relative now - so do small steps to avoid crashing the nozzle in the bed!!!
G1 Z-0.25 ;absolut -0.25mm from 0
G1 Z-1.00 ;absolut -1mm from 0
and so on (eg. i´m at -2.23)

if u got it, save the z-offset

M851 Z-?.?? ;set ur z-offset
M211 s1 ;enable software endstops again
M500 ;save config
M501 ;load config
G28 ;home axis

put M420 S1 in your gcode startcode AFTER G28

ull still need to finetune it by adjusting it after printing a first layer or skirt. if the skirt looks bad, adjust it by +/- 0,01mm and try again till u find the best value.
the skirt shoule have a good squish and it also depends on ur layer heigh. so if u print finer or rougher, u may adjust it again by +/- 0,01mm

If u use a probe, you still have to level the bed manual. But cuz of the probe u minimize it to once a few month or after u maintained sth (eg. disassembled the hotend).
For manual leveling i enabled "LEVEL_BED_CORNERS" in the firmware configuration and start/level it with the LCD if needed.

Use at your own risk, this is how i do it.

This is for UBL or mesh bed leveling and for a specific size of printer, in this case 230x 230y, after a G28 home all axis your machine should be center to the bed.

You can use commands like G0 Z-.01 to move down .1 mm from your location. This is the step size I use when setting the Z except I used Octoprint and have a button for it.

My tutorial is for the more common Bilinear!

A note on Bilinear vs UBL UBL is nice, but slow. It requires a lot of work to be done on the arduino which is not a powerful computer. A bilinear will get you almost the same result faster and can also be run at the start of each print. It's how I get around the bent frame on Printer #2.

Still a good thing to bring up.

Lol I see way you made this

Yeah much easier to paste it in the forum now!

Right about that