---
tag: m0900
title: Linear Advance Factor
brief: Set/report Linear Advance K value
author: thinkyhead

group: control
requires: LIN_ADVANCE or FT_MOTION
eeprom: true

codes: [ M900 ]

notes:
- See [Linear Advance](/docs/features/lin_advance.html) for details on how to determine the K factor and a link to our calibration tool.
- Since Marlin 2.1.3 this command also pertains to `FT_MOTION`.

parameters:

- tag: K
  optional: true
  description: |
    The K factor to set for the specified extruder. Unchanged if omitted. Set this value higher for more flexible filament or a longer filament path.

    With `EXTRA_LIN_ADVANCE_K` this sets the *primary* K factor. Note that this factor may be inactive and won't take effect until the next `M900 S0`.
  values:
  - tag: kfactor
    type: float

- tag: L
  since: 2.0.0
  optional: true
  description: Set the second K factor for the specified extruder. Requires `EXTRA_LIN_ADVANCE_K`. Note that this factor may be inactive and won't take effect until the next `M900 S1`.
  values:
  - tag: kfactor
    type: float

- tag: S
  since: 2.0.0
  optional: true
  description: Select slot and activate the last stored value. Requires `EXTRA_LIN_ADVANCE_K`.
  values:
  - tag: slot
    type: int

- tag: T
  since: 2.0.0
  optional: true
  description: Extruder to which `K`, `L`, and `S` will apply. Requires `EXTRA_LIN_ADVANCE_K`.
  values:
  - tag: index
    type: int

videos:
- n3yK0lJ8TWM

examples:

- pre: Fetch the K factor
  code: M900

- pre: Set the K factor
  code: M900 K0.18

- pre: Disable Linear Advance
  code: M900 K0

- pre: "`EXTRA_LIN_ADVANCE_K` adds an extra storage slot."
  code: |
    M900 S0            ; Select main K factor and apply it
    M900 T2 K0.22 L0.4 ; Set both T2 K factors. K0.22 will be applied.
    M900 T2 S1         ; Select extra K factor. L0.4 will be applied.
    M900 T2 S1         ; (does nothing this time)
    M900 T2 L0.3       ; Set T2 extra (and active) K factor
    ...
    M900 T2 S0         ; Select main K factor (0.22)

---

This command sets and/or reports the Linear Advance K factors.

Setting the K factor to 0 disables Linear Advance.

With the `EXTRA_LIN_ADVANCE_K` option Marlin maintains two slots for each extruder. The first slot is set with `K` and the second slot is set with `L`, then select the first using `S0` and the second using `S1`.
