---
tag: m0494
title: FT Motion Trajectory Smoothing
brief: Set / get the Fixed Time Motion parameters for Trajectory generation and Smoothing.
author: dbuezas
contrib: thinkyhead

group: motion
requires: FT_MOTION
since: 2.1.3
eeprom: true

codes: [ M494 ]
related: [ M493 ]

parameters:

- tag: T
  optional: true
  description: Set trajectory generator type
  values:
    - tag: 0
      description: TRAPEZOIDAL
    - tag: 1
      description: POLY5
    - tag: 2
      description: POLY6

- tag: O
  optional: true
  description: |
    Set acceleration overshoot for POLY6 (only used when `T=2`).
    Allowed range: 1.25 – 1.875. The higher the smoother the derivatives, but the higher the acceleration peaks.
    S_CURVE in the classic motion system uses 1.875

  values:
    - type: float
      tag: overshoot

- tag: X
  optional: true
  description: Set smoothing time for the X axis
  values:
    - type: float
      tag: seconds

- tag: Y
  optional: true
  description: Set smoothing time for the Y axis
  values:
    - type: float
      tag: seconds

- tag: Z
  optional: true
  description: Set smoothing time for the Z axis
  values:
    - type: float
      tag: seconds

- tag: E
  optional: true
  description: Set smoothing time for the E axis
  values:
    - type: float
      tag: seconds

examples:
  - pre: |
      Set the trajectory generator to a 5‑th order polynomial (POLY5) s curve.
      Equivalent to POLY6 with 1.5 acceleration overshoot but cheaper to compute.
    code: M494 T1

  - pre: |
      Set the smoothing time for XYZ axes to 0.005s while leaving E unchanged.
    code: M494 X0.005 Y0.005 Z0.005

  - pre: |
      Configure the system for a trapezoidal trajectory generator, with a
      smoothing time of 0.01s on the E axis, to keep accelerations from linear advance contained.
    code: M494 T0 E0.01

  - pre: |
      Use a 6‑th order polynomial (POLY6) with the maximum overshoot of 1.875,
      and set all axis smoothing times to 0.005s.
    code: M494 T2 O1.875 X0.005 Y0.005 Z0.005 E0.005

  - pre: |
      Only change the E‑axis smoothing time to 0.007s, leaving all other
      parameters at their defaults.
    code: M494 E0.007

  - pre: |
      Combine a POLY6 generator with an overshoot of 1.30 and individual
      smoothing times: X=0.005s, Y=0.007s, Z=0.006s, E=0.004s.
    code: M494 T2 O1.3 X0.005 Y0.007 Z0.006 E0.004
---

The `M494` command provides control over the Fixed‑Time Motion trajectory generator, and smoothing allowing each axis to have its own timing characteristics.

The `T` parameter selects between three generator modes: a simple trapezoidal profile (0), a 5th‑order polynomial (1) that makes acceleration continuous, or a more advanced 6th‑order polynomial (2) that includes an optional acceleration overshoot (`O`), the higher the smoother the derivatives, but taller the acceleration peaks. When `T=2`, the overshoot value may be set between 1.25 and 1.875, giving the printer an additional degree of freedom to control acceleration curves.

You can set smoothing times for each of the four motion axes (`X`, `Y`, `Z`, and extruder `E`). These parameters are expressed in seconds and determine how quickly the axis velocity can change, effectively acting as a low‑pass filter on velocity. 
Particularly useful for the E axis when using linear advance, since it produces very high acceleration peaks.

Effects on XYZ:
* no smoothing: sharp corners, but noises and ringing
* smoothing if overdone: rounded corners, infill may not reach all corners, no noises and ringing

Effects on E:
* no smoothing: extruder skips when using linear advance
* smoothing: peaks produced by linear advance are reduced, the extruder doesn't skip and quality improves.
