---
tag: m0423
title: X Twist Compensation
brief: Modify, reset, and report X-Axis Twist Compensation data
author: thinkyhead

requires: X_AXIS_TWIST_COMPENSATION
since: 2.0.9.4
group: calibration

codes: [ M423 ]
related: [ G29 ]

notes:

parameters:
  -
    tag: R
    optional: true
    description: Reset the Twist Compensation array to the configured default values.
    values:
      -
        type: flag
  -
    tag: A
    optional: true
    description: Set the X-Axis Twist Compensation starting X position.
    values:
      -
        tag: linear
        type: float
  -
    tag: I
    optional: true
    description: Set the X-Axis Twist Compensation X-spacing.
    values:
      -
        tag: linear
        type: float
  -
    tag: X
    optional: true
    description: Zero-based index into the Twist Compensation array. Requires a `Z` value.
    values:
      -
        tag: index
        type: int
  -
    tag: Z
    optional: true
    description: A Z-offset value to set in the Twist Compensation array. Requires an `X` index.
    values:
      -
        tag: index
        type: int

examples:
  -
    pre: Report the current X-twist data to the host console.
    code:
      - M423
  -
    pre: Reset X-twist data to the configured defaults.
    code:
      - M423 R
  -
    pre: Set the 5th value in the Twist Compensation array to -0.03.
    code:
      - M423 X4 Z-0.03
  -
    pre: Set the X-start position to 0 and the X-spacing distance to 50.
    code:
      - M423 M423 X0 I50

---

Use `M423` to reset, modify, or report X-Twist Compensation data.

X-Twist Compensation is applied to the mesh on [`G29`](docs/gcode/G029)) to correct for a twisted X gantry. Meaningful X-Twist Compensation data is generated using a guided procedure in the LCD menu that compares measurements taken by the bed probe to readings taken manually at the nozzle. Since manual measurements are prone to inaccuracy, a metal feeler gauge is recommended over a paper test. If the first layer is still imperfect, `M423` can then be used to correct for small errors.
