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
| Parameter | Required | Description | Example |
|---|---|---|---|
| T | Yes | Tool number (0-7) | T0 |
| X | No* | X-axis max acceleration in user units/sec² | X3000 |
| Y | No* | Y-axis max acceleration in user units/sec² | Y3000 |
| Z | No* | 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
Tparameter 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
- T0-T7 - Tool Change — Select the active tool. Acceleration limits are applied automatically on tool change.
- M218 - Set Tool Offset — Companion per-tool configuration command for position offsets.