The Snapmaker U1 automatically detects filament properties by reading RFID tags on spools. Tags are read when filament is loaded into the feeder, and the data clears when filament is removed.
Firmware Support:
For the OpenSpool payload format and field reference, see OpenSpool Format Design.
What each detection system or hardware reader can identify.
| Reader | Author | Hardware | Snapmaker | OpenSpool | Bambu | Creality | Anycubic | Elegoo | Qidi | TigerTag | SpoolEase | SpoolLink | Support |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Snapmaker (built-in, default) | Snapmaker | Internal | ✅ | ✅ | – | – | – | – | – | – | – | ✅ | — |
| OpenRFID | suchmememanyskill | Internal | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | — |
| External - wasikuss: snapmaker-u1-remote-rfid-reader | wasikuss | External — ESP32-C3 + PN532 | – | ✅ | – | – | – | – | – | – | – | – | — |
| External - baze: snapmaker-u1-drybox-nfc-reader | baze | External — ESP32-C3 + PN532, browser-flashable, printable case | – | ✅ | – | – | – | – | – | – | – | ✅ | — |
Notes:
Community apps that create and write filament tags. The quickest way to write
a tag is PrintTag-Web: open it in Chrome on Android, enter the filament
details, and tap an NTAG215/216 tag to the phone. Any app that writes NDEF
with JSON (MIME type application/json) also works.
| App | Author | Platform | Reads | Writes | Vendor Tags | Source | Support |
|---|---|---|---|---|---|---|---|
| U1-RFID | DnG-Crafts | Android (Google Play) | OpenSpool | OpenSpool, including all U1 extended fields | – | GitHub (source) | — |
| SpoolPainter | ni4223 | Android (Google Play) | OpenSpool | OpenSpool | Bambu, Snapmaker, QIDI, Anycubic, Elegoo, Creality | GitHub (GPL-3.0) | |
| SpoolKid | Marco | iOS (TestFlight beta; build from source) | OpenSpool, OpenTag3D, ELEGOO, Anycubic ACE; UID-only for Mifare Classic and unrecognized tags | OpenSpool, OpenTag3D, ELEGOO, Anycubic ACE | ELEGOO, Anycubic ACE | GitHub (MIT) | |
| OpenSpool app | spuder | Android, iOS | OpenSpool (basic fields) | OpenSpool (basic fields) | – | GitHub (source) | |
| PrintTag-Web | paxx12 | Android (Chrome, Web NFC) | OpenSpool, OpenPrintTag | OpenSpool, OpenPrintTag | – | GitHub (source) | |
| NFC Tools | wakdev | Android (Google Play), iOS (App Store) | Any NDEF | Any NDEF | – | Closed source | — |
| TigerTag Studio Manager | TigerSystem | Windows, macOS, Linux (desktop, ACR122U USB NFC reader recommended) | TigerTag | TigerTag | – | GitHub (MIT) | — |
| TigerTag Connect | TigerSystem | Android (Google Play), iOS (App Store) | TigerTag | TigerTag | – | Closed source | — |
Notes:
The OpenRFID detection system is an alternative to Snapmaker’s built-in filament tag detection, based on the OpenRFID project. It adds support for tagged spools from multiple manufacturers.
To enable it, navigate to the firmware-config web interface, go to Snapmaker Components > RFID Detection System, and select OpenRFID or OpenRFID (force generic vendor).
| System | Enabled by default | Remarks |
|---|---|---|
| Bambu | No | Requires additional configuration (see below) |
| Creality | No | Requires additional configuration (see below) |
| Anycubic | Yes | - |
| Snapmaker | Yes | - |
| Elegoo | No | Elegoo spools tagged with RFID work unreliably |
| OpenSpool | Yes | - |
| TigerTag | Yes | Fully offline implementation |
| Qidi | Yes | - |
| SpoolEase | No | NTAG NDEF tags; enable the processor to use |
Bambu / Creality Spool Configuration
Bambu and Creality tagged spools require authentication keys. Add them to the OpenRFID user configuration file:
/oem/printer_data/config/extended/openrfid_user.cfg
For Bambu spools:
[bambu_lab_tag_processor]
key = <your 32 hex character key>
For Creality spools:
[creality_tag_processor]
key = <your 32 hex character key>
encryption_key = <your 32 hex character key>
After editing, restart the printer.
Enabling Disabled By Default Tag Systems
Some tag formats are disabled by default, for example as they do not read
reliably. Enable them in /oem/printer_data/config/extended/openrfid_user.cfg
by removing the # prefix from the tag processor:
# [elegoo_tag_processor]
SpoolEase tags (NTAG NDEF) are also supported but not enabled by default. Add the processor to the same file to use them:
[spoolease_tag_processor]
FILAMENT_DT_UPDATE CHANNEL=<n>FILAMENT_DT_CLEAR CHANNEL=<n>FILAMENT_DT_QUERY CHANNEL=<n>Tag not detected:
FILAMENT_DT_UPDATE CHANNEL=<n> then FILAMENT_DT_QUERY CHANNEL=<n>openrfid.logNTAG tags not read: