--- tag: m0851 title: XYZ Probe Offset brief: Set the Z probe XYZ offset from nozzle author: thinkyhead requires: HAS_BED_PROBE group: none codes: [ M851 ] notes: - The default (factory) values are set by - | - (version 1.x) - `X_PROBE_OFFSET_FROM_EXTRUDER` - `Y_PROBE_OFFSET_FROM_EXTRUDER` - `Z_PROBE_OFFSET_FROM_EXTRUDER` - (version 2.x) - `NOZZLE_TO_PROBE_OFFSET` and are integer values. Positions: X offset: -left +right [of the nozzle] Y offset: -front +behind [the nozzle] Z offset: -below +above [the nozzle] ```   +-- BACK ---+   |     | L | (+) P | R <-- probe (20,20) E | | I F | (-) N (+) | G <-- nozzle (10,10) T | | H   | (-) | T   | |   O-- FRONT --+  (0,0) ``` parameters: - tag: X optional: true description: Z probe X offset values: - unit: linear type: float - tag: Y optional: true description: Z probe Y offset values: - unit: linear type: float - tag: Z optional: true description: Z probe Z offset values: - unit: linear type: float examples: - pre: Set a reasonable offset for an inductive probe code: M851 Z-2.0 - pre: A probe that is triggered by the nozzle itself code: M851 Z1.2 - pre: Set the XY distance (probe left front of nozzle) code: M851 X-1.70 Y-1.30 - pre: Set the XY distance (probe right back of nozzle) code: M851 X0.20 Y.40 --- Set the XYZ distance from the nozzle to the probe trigger-point. The easiest way to get the Z offset value is to: - Home the Z axis. - Raise Z and deploy the probe. - Move Z down slowly until the probe triggers. - Take the current Z value and negate it. (`5.2` => `-5.2`) - Set with `M851 Z-5.2` and `#define Z_PROBE_OFFSET_FROM_EXTRUDER -5.2`. For X and Y you have to measure the distance.