What M600 means
A filament change is a stateful machine procedure, not one simple extrusion move. Marlin's Advanced Pause feature can lift Z, park XY, retract, unload, prompt the user, load and prime, then restore the print position. Parameter defaults come from firmware configuration and may be overridden in the command.
Support is not universal. Klipper users commonly define M600 as a macro built from PAUSE and printer-specific moves; RepRapFirmware can use its own filament-change macros and workflow. An offline file cannot know whether a display, runout sensor, macro or human response will be available when the command executes.
Syntax and parameters
M600M600 X<park-x> Y<park-y> Z<lift> [E<retract>] [U<unload>] [L<load>] [R<resume-temp>]X / YRequested park position on Marlin.
ZRelative Z lift before parking.
E / U / LInitial retract, unload and load lengths; signs and defaults are firmware-defined.
R / T / BResume temperature, target extruder and alert beeps on supported Marlin builds.
Practical examples
Use configured change routine
M600Starts the machine's default filament-change sequence.
Request a park point
M600 X10 Y15 Z5Illustrative Marlin form that parks at X10 Y15 after a 5 mm relative lift.
Firmware context
| System | Status | What changes |
|---|---|---|
| Marlin | Common | Requires ADVANCED_PAUSE_FEATURE and suitable user interaction; available parameters depend on configuration. |
| Klipper | Check dialect | M600 is typically a user-defined macro; PAUSE/RESUME behavior and parking are printer-specific. |
| RepRapFirmware | Check dialect | Filament-change handling is macro- and machine-specific; confirm the configured workflow. |
| CNC controllers | Not applicable | M600 is not a general CNC filament or tool-change standard. |
What this viewer can show
The viewer does not expand M600 into hidden park, unload and resume moves because those live in firmware or macros. Only explicit moves written in the file affect the rendered path.
Common mistakes
- Verify that the printer can pause and wait safely before relying on M600 in an unattended file.
- Park coordinates and unload lengths must match the actual machine and filament path.
- A viewer cannot guarantee that resume restores temperatures, extrusion state and position correctly.
Primary sources
This page is an original explanation, reviewed against the firmware documentation below. Always confirm commands against the firmware and configuration on the machine that will execute them.