Custom Snapmaker U1 Firmware

Spoolman Integration

Automatic filament metadata sync and spool tracking via Spoolman.

Setting this up for the first time? See the NFC Tags & Spoolman Setup Guide.

What It Provides

Screenshots

Filament Manager (/filament/) reconciles each channel across Official tag data, User-set filament, the active Spoolman spool, and the raw RFID tag:

Filament Manager

Enabling

Enable in the firmware-config web interface under Settings > Snapmaker Components > Spoolman Integration, and enter the Spoolman URL including scheme and port (e.g. http://192.168.1.100:7912). Set the same toggle to Disabled to turn it off.

Creating a Spool

The Create tab of the Spoolman dialog makes a new spool for the detected tag and assigns it. It is enabled on any channel with no spool assigned whose tag reports a UID — on a channel that already has one, assign a spool instead. The form is seeded from the tag’s vendor, material, colour and other data when it carries them; a blank or third-party tag starts from the palette defaults and is filled in by hand, then linked to the new spool by its UID. The filament name and density follow the chosen material, subtype and colour until edited. The form uses the same palettes as User, with diameter, density, and temperatures under Advanced.

Create tab, seeded from the detected tag

UID ownership is rechecked on submit: if the tag turns out to belong to a spool already, that spool is assigned instead of a duplicate being created.

Assigning a Spool

The Assign tab, which the card’s Spoolman button opens on, lists each spool’s stored card UIDs. The spool already assigned to that extruder comes first, then those carrying the same filament as the detected tag — same vendor, material, variant, colour — under Suggested spools. Use it to store a spool’s second tag, or to link a blank tag to a spool that already exists. Hovering the card’s Spoolman badge lists the spool’s stored UIDs.

Assign tab, with the suggested spool listed first

Apps

Community apps that support SpoolLink, so scanning a tag resolves its spool automatically when the filament is loaded:

App Author Platform Reads SpoolLink support Legacy Spools Source Support the author
SpoolLink (Android) paxx12 Android (releases; or build from source) OpenSpool; any tag by UID (NTAG, Mifare Classic) Reference implementation — links tags to spools by UID, pre-fills from OpenSpool tags ✅ (see notes) GitHub (GPL-3.0) —
SpoolLink (iOS) paxx12 iOS (releases IPA — sideload via AltStore or similar; building from source requires a paid Apple Developer account for the NFC entitlement) OpenSpool; any tag by UID (NTAG only — no Mifare Classic on iOS) Reference implementation — links tags to spools by UID, pre-fills from OpenSpool tags ✅ (see notes) GitHub (GPL-3.0) —
SpoolPainter ni4223 Android (Google Play) OpenSpool; Bambu Lab, Snapmaker, QIDI, Anycubic, Elegoo, Creality (vendor decode + prefill; Bambu Lab and Creality need a per-brand key); any tag by UID for pairing Links tags to spools; create-and-pair spools, multi-tag binding, vendor tag pairing ✅ (see notes) GitHub (GPL-3.0) Polymaker
US EU Global
Snapmaker Referral Code: ni42
SpoolKid Marco iOS (TestFlight beta; build from source) OpenSpool, OpenTag3D, ELEGOO, Anycubic ACE; any other tag by UID (including Mifare Classic) Links tag UIDs to spools, including UID-only linking for Mifare Classic and other tags it can’t otherwise read – GitHub (MIT) Ko-fi
SpoolTagger NiftyBits Windows, Linux (desktop, ACR122U USB NFC reader; releases) OpenSpool (NTAG); Mifare Classic by UID only Links tags to spools (up to 2 tags per spool) ✅ (see notes) Codeberg (MIT) Buy Me A Coffee
3DMRP MKloberg Self-hosted (Windows; releases), phone via Chrome on Android Any tag by UID (Web NFC scan-to-select; no content parsing) Print-farm manager — links tags to spools, NFC scan-to-select; also AFC lane control and U1 touchscreen mirror – (see notes) GitHub (source) Buy Me A Coffee
Spool Studio GeorgHo Android (v3.0.2 release) OpenSpool; Bambu Lab (with user-provided key); legacy Spool Studio tags (for conversion); any tag by UID Links tags to spools via NFC card UID; writes Paxx12-compatible OpenSpool tags and shows the printer-reported toolhead status ✅ (see notes) GitHub (MIT) Buy Me A Coffee

Notes:

External Readers

Community hardware readers push detected tags to the same filament_detect/set webhook the printer’s built-in readers use. For a tag to resolve a Spoolman spool by UID, the reader must report the UID for every detected tag — even one it can’t otherwise read — the same way OpenRFID falls back to a UID-only report when a tag can’t be parsed:

Project Author SpoolLink support Source Support the author
External - wasikuss: snapmaker-u1-remote-rfid-reader wasikuss Partial — only reports a tag when its payload validates as OpenSpool JSON; unreadable, blank, or vendor-format tags are never reported, so those spools can’t be resolved by UID GitHub (MIT) —
External - baze: snapmaker-u1-drybox-nfc-reader baze Full — reports the UID for every detected tag by default (“UID-only” mode); can optionally switch to a full-read mode that also sends OpenSpool metadata, but then skips tags that aren’t valid OpenSpool GitLab (CC BY-NC 4.0) —

Hardware and setup details for both readers are in RFID Format & Reader Design.

GCode Commands

SET_SPOOL_ID

Assign a Spoolman spool to an extruder channel. Reads the channel’s RFID card UID, binds it to the spool (so a later scan resolves automatically), and applies the filament metadata to the channel:

SET_SPOOL_ID LANE=E0 SPOOL_ID=5
Parameter Default Description
LANE — Lane name (e.g. E0); resolved through AFC-Lite when enabled, otherwise from the name itself
CHANNEL — Extruder channel index (0-3), used instead of LANE
SPOOL_ID 0 Spoolman spool ID; 0 clears the assignment and unlinks the channel’s card from Spoolman, so the next scan does not reassign it

The macro is provided by the Spoolman integration itself, so it is available whenever Spoolman is enabled, with or without AFC-Lite.

Known Conflicts

Limitations

For the wire format, custom fields, and component flow see the design notes. For AFC lane status that surfaces spool_id see AFC-Lite.