---
tag: g425
title: Backlash Calibration
brief: Use a conductive object to calibrate XYZ backlash
author: marcio-ao

group: calibration
requires: CALIBRATION_GCODE

codes: [ G425 ]
related: [ M425 ]

notes: |
  Requires `CALIBRATION_GCODE` and the following parameters:
  - `CALIBRATION_MEASUREMENT_RESOLUTION` determines the increments taken in mm when performing measurements.
  - `CALIBRATION_FEEDRATE_SLOW`, `CALIBRATION_FEEDRATE_FAST` and `CALIBRATION_FEEDRATE_TRAVEL` determine the speed of motion during the calibration.
  - `CALIBRATION_NOZZLE_TIP_HEIGHT` and `CALIBRATION_NOZZLE_OUTER_DIAMETER` refer to the conical part of the nozzle tip.
  - `CALIBRATION_REPORTING` enables `G425 V` for reporting of measurements.
  - `CALIBRATION_OBJECT_CENTER` and `CALIBRATION_OBJECT_DIMENSIONS` define the true location and dimensions of a cube/bolt/washer mounted on the bed.
  - `CALIBRATION_MEASURE_RIGHT`, `CALIBRATION_MEASURE_FRONT`, `CALIBRATION_MEASURE_LEFT` and `CALIBRATION_MEASURE_BACK` define the usable touch points. Comment out any sides which are unreachable by the probe. For best results, all four sides should be reachable.
  - `CALIBRATION_PIN`, `CALIBRATION_PIN_INVERTING`, `CALIBRATION_PIN_PULLDOWN` and `CALIBRATION_PIN_PULLUP` configure the pin used for calibration. For example, if the nozzle is grounded, the calibation cube would be connected to a digital input pin with a pull-up enabled.

parameters:

- tag: B
  optional: true
  description: Perform calibration of backlash only.

- tag: T
  optional: true
  description: Perform calibration of one toolhead only.
  values:
  - tag: index
    type: int

- tag: V
  optional: true
  requires: CALIBRATION_REPORTING
  description: Probe cube and print position, error, backlash and hotend offset.

- tag: U
  optional: true
  description: 'Uncertainty: how far to start probe away from the cube (mm)'
  values:
  - tag: linear
    type: float

examples:

- pre: Check positional accuracy before calibration
  post: Requires `CALIBRATION_REPORTING`
  code:
  - T1                  ; Switch to second nozzle
  - G425 V              ; Showing positional report for T1
  - T0                  ; Switch to first nozzle
  - G425 V              ; Showing positional report for T0

- pre: Perform automatic calibration
  code:
  - G425                ; Perform full calibration sequence
  - M425 F1 S0          ; Enable backlash compensation at 100%

- pre: Check positional accuracy after calibration
  post: Requires `CALIBRATION_REPORTING`
  code:
  - T1                  ; Switch to second nozzle
  - G425 V              ; Validate by showing report for T1
  - T0                  ; Switch to first nozzle
  - G425 V              ; Validate by showing report for T0

---

This command performs an automatic calibration of backlash, positional errors, and nozzle offset by touching the nozzle to the sides of a bed-mounted, electrically-conductive object (_e.g.,_ a cube, washer or bolt).

This command measures backlash but doesn't enable backlash correction. Use [`M425`](/docs/gcode/M425.html) to enable backlash correction.
