---
tag: m0092
title: Set Axis Steps-per-unit
brief: Set the number of steps-per-mm, per-inch, or per-degree
author: thinkyhead

group: motion

codes: [ M92 ]

notes: |
  - Get the current steps-per-unit settings using `M92` with no parameters or [`M503`](/docs/gcode/M503.html) on older versions of Marlin.

  With `EEPROM_SETTINGS` enabled:
  - This setting for all axes is saved with [`M500`](/docs/gcode/M500.html) and loaded with [`M501`](/docs/gcode/M501.html).
  - [`M502`](/docs/gcode/M502.html) resets steps-per-unit for all axes to the values from `DEFAULT_AXIS_STEPS_PER_UNIT`.

parameters:

- tag: X
  optional: true
  description: X steps per unit
  values:
  - tag: steps
    type: float

- tag: Y
  optional: true
  description: Y steps per unit
  values:
  - tag: steps
    type: float

- tag: Z
  optional: true
  description: Z steps per unit
  values:
  - tag: steps
    type: float

- tag: A
  optional: true
  since: 2.0.9
  requires: I_DRIVER_TYPE, AXIS4_NAME 'A'
  description: A steps per unit
  values:
  - tag: steps
    type: float

- tag: B
  optional: true
  since: 2.0.9
  requires: J_DRIVER_TYPE, AXIS5_NAME 'B'
  description: B steps per unit
  values:
  - tag: steps
    type: float

- tag: C
  optional: true
  since: 2.0.9
  requires: K_DRIVER_TYPE, AXIS6_NAME 'C'
  description: C steps per unit
  values:
  - tag: steps
    type: float

- tag: U
  optional: true
  since: 2.1
  requires: U_DRIVER_TYPE, AXIS7_NAME 'U'
  description: U steps per unit
  values:
  - tag: steps
    type: float

- tag: V
  optional: true
  since: 2.1
  requires: V_DRIVER_TYPE, AXIS8_NAME 'V'
  description: V steps per unit
  values:
  - tag: steps
    type: float

- tag: W
  optional: true
  since: 2.1
  requires: W_DRIVER_TYPE, AXIS9_NAME 'W'
  description: W steps per unit
  values:
  - tag: steps
    type: float

- tag: E
  optional: true
  description: E steps per unit
  values:
  - tag: steps
    type: float

- tag: T
  optional: true
  requires: DISTINCT_E_FACTORS
  description: Target extruder
  values:
  - tag: index
    type: int

example:

- pre: Set E steps for a new extruder
  code: M92 E688.4

---

Use `M92` to set the steps-per-unit for one or more axes. This setting affects how many steps will be done for each unit of movement.

Units will usually be set in steps-per-millimeter unless:
- The firmware has `INCH_MODE_SUPPORT` enabled and has been set to *Inches Mode* by [`G20`](/docs/gcode/G020.html) or by having inches as the default unit.
- The machine is a `SCARA` in which case the A and B axes are configured in ***steps-per-degree***, not steps-per-distance.
- Any axis for which `AXISn_ROTATES` is enabled is configured in ***steps-per-degree***.
