Back to Supported G-Codes

M201 - Set Max Acceleration

DMC File Mode: Not Supported
Streaming Mode: Supported

Description

M201 defines per-axis maximum acceleration values for a specific tool in the tool acceleration table. Each tool (0-7) can have independent X, Y, and Z acceleration limits specified in user units/sec².

Use T0-T7 to select the active tool. When a tool change occurs, the new tool's acceleration limits are automatically applied.

Syntax

M201 T<n> X<accel> Y<accel> Z<accel>
M201 T<n> X<accel>
M201 T<n> Z<accel>

Parameters

ParameterRequiredDescriptionExample
TYesTool number (0-7)T0
XNo*X-axis max acceleration in user units/sec²X3000
YNo*Y-axis max acceleration in user units/sec²Y3000
ZNo*Z-axis max acceleration in user units/sec²Z500

*At least one axis parameter (X, Y, or Z) is required. Only specified axes are updated; omitted axes retain their previous values for that tool.

Examples

Set acceleration limits for a single tool

; Set all axis limits for tool 0
M201 T0 X3000 Y3000 Z500
; Acceleration limits are now active for subsequent moves
G1 X50 Y50 F1000

Multi-tool workflow with different acceleration limits

; Configure acceleration limits for two tools
M201 T0 X3000 Y3000 Z500
M201 T1 X5000 Y5000 Z800
 
; Machine with tool 0 (conservative acceleration)
T0
G1 X50 Y50 F1000
 
; Switch to tool 1 — higher acceleration applied automatically
T1
G1 X50 Y50 F1000

Accumulating values across multiple calls

; Set X and Y limits
M201 T0 X3000 Y3000
; Later, add Z limit — X and Y are unchanged
M201 T0 Z500
; Update only Z — X=3000, Y=3000, Z=600
M201 T0 Z600

Notes

  • Tool numbers must be 0-7. Values outside this range will return an error.
  • The T parameter is required. Omitting it will return an error.
  • At least one axis parameter (X, Y, or Z) is required. Omitting all axis parameters will return an error.
  • All tool acceleration values are unset at startup (no acceleration limits applied).
  • Acceleration values are specified in user units/sec² (the same units configured for each axis).
  • Acceleration and deceleration are always set to the same value.
  • The conservative minimum across all set axes is used, ensuring no axis exceeds its limit.
  • Acceleration values persist until explicitly changed with another M201 command.
  • If no axes have values set for the active tool, the controller uses its default acceleration.

Related Commands