How to connect Spoolman, Moonraker, Orca Slicer, and FilaSpool for automatic spool tracking on supported Klipper printers.
FilaSpool is not affiliated with, endorsed by, or a contributor to Spoolman, Moonraker, Klipper, Snapmaker, FlashForge, Orca Slicer, xblax firmware, or any other third-party project mentioned on this page.
Other printers, firmware versions, or Moonraker setups may behave differently.
| Printer | Firmware | Multi-Tool |
|---|---|---|
| Snapmaker U1 | PAXX12 Extended Firmware | Yes |
| FlashForge AD5M / AD5M Pro | xblax Klipper Mod | No |
[spoolman]
server: http://192.168.40.158:7912
sync_rate: 5
Restart Moonraker after saving the file.
[gcode_macro SET_TOOL_SPOOL]
description: Assign Spoolman spool ID to slicer tool/color slot
variable_spool_map: {0: None, 1: None, 2: None, 3: None}
gcode:
{% set tool = params.TOOL|int %}
{% set spool = params.ID|int %}
{% set new_map = printer["gcode_macro SET_TOOL_SPOOL"].spool_map.copy() %}
{% set _ = new_map.update({tool: spool}) %}
SET_GCODE_VARIABLE MACRO=SET_TOOL_SPOOL VARIABLE=spool_map VALUE="{new_map}"
[gcode_macro ACTIVATE_SPOOL_FOR_TOOL]
gcode:
{% set tool = params.TOOL|int %}
{% set spool_map = printer["gcode_macro SET_TOOL_SPOOL"].spool_map %}
{% set spool_id = spool_map[tool] %}
{% if spool_id != None %}
{action_call_remote_method(
"spoolman_set_active_spool",
spool_id=spool_id
)}
{% endif %}
[gcode_macro SET_ACTIVE_SPOOL]
description: Set active spool in Spoolman
gcode:
{% if params.ID %}
{action_call_remote_method(
"spoolman_set_active_spool",
spool_id=params.ID|string)}
{% endif %}
[gcode_macro CLEAR_ACTIVE_SPOOL]
description: Clear active spool
gcode:
{action_call_remote_method(
"spoolman_set_active_spool",
spool_id="")}
Add this line to printer.cfg:
[include spoolman.cfg]
| Setting | Value |
|---|---|
| G-code Flavor | Klipper |
| Host Type | Moonraker |
| Moonraker Port | 7125 |
Recommended Start G-code:
START_PRINT EXTRUDER=[nozzle_temperature_initial_layer] BED=[bed_temperature_initial_layer_single]
Recommended End G-code:
END_PRINT
Test Spoolman activation from the Klipper console:
SET_ACTIVE_SPOOL ID=27
For Snapmaker U1:
SET_TOOL_SPOOL TOOL=0 ID=27
ACTIVATE_SPOOL_FOR_TOOL TOOL=0
The AD5M and AD5M Pro can optionally be connected to Tailscale for secure remote access to:
Snapmaker U1:
FilaSpool → Moonraker → Klipper multi-tool macros → Spoolman
FlashForge AD5M / AD5M Pro:
FilaSpool → Moonraker → Klipper macros → Spoolman
FilaSpool assigns Spoolman spool IDs to the printer. Moonraker and Klipper then activate and track the correct spool automatically during printing.