Available in: All firmware (extended adds OpenSpool support)
The Snapmaker U1 automatically detects filament properties by reading RFID tags on spools.
Firmware Support:
| Feature | OpenSpool 🏆 | OpenPrintTag | OpenTag3D | Snapmaker |
|---|---|---|---|---|
| Tag Type | NTAG215 (540 bytes) / NTAG216 (888 bytes) | ISO15693/SLIX2 | NTAG215/216 or ISO15693/SLIX2 | Mifare Classic 1K |
| Encoding | JSON (NDEF) | CBOR (NDEF) | Binary | Proprietary + RSA signature |
| Data Format | Human-readable JSON | Compact CBOR binary | Binary | Encrypted proprietary |
| Specification | openspool.io | specs.openprinttag.org | OpenTag3D | Proprietary (closed) |
| GitHub Repository | spuder/OpenSpool | prusa3d/OpenPrintTag | queengooborg/OpenTag3D | N/A |
| Popularity | ⭐⭐⭐ (623 stars) | ⭐⭐ (213 stars) | ⭐ (17 stars) | N/A |
| Programming Tools | Any NDEF-capable NFC app | Prusa app only | opentag3d.info/make | Snapmaker official only |
| U1 Compatible | ✅ Yes (extended firmware) | ❌ No (ISO15693 not supported) | ⚠️ Not implemented yet | ✅ Yes (all firmware) |
| Ease of Programming | Easy (any NFC app) | Medium (requires Prusa app) | Medium (web-based tool) | Hard (official tags only) |
| Data Portability | High (simple JSON) | High (open CBOR spec) | Medium (binary format) | None (proprietary) |
🏆 = Recommended for U1 (NTAG215 is the sweet spot for capacity and compatibility)
Tags are automatically read when filament is loaded into the feeder. Tag data clears when filament is removed.
Manual Commands:
FILAMENT_DT_UPDATE CHANNEL=<n>FILAMENT_DT_CLEAR CHANNEL=<n>FILAMENT_DT_QUERY CHANNEL=<n>Quick Setup:
Alternative: Use any NFC app that supports NDEF with JSON (MIME type: application/json)
Example payload:
{
"protocol": "openspool",
"version": "1.0",
"brand": "Generic",
"type": "PLA",
"color_hex": "#FF0000",
"min_temp": 190,
"max_temp": 220,
"bed_min_temp": 50,
"bed_max_temp": 60
}
Using the non-standard OpenSpool subtype field it is possible to specify a material subtype:
{
"protocol": "openspool",
"version": "1.0",
"type": "PETG",
"subtype": "Rapid",
"color_hex": "AFAFAF",
"additional_color_hexes": ["EEFFEE","FF00FF"],
"alpha": "FF",
"brand": "Elegoo",
"min_temp": "230",
"max_temp": "260"
}
Required Fields:
protocol - Must be “openspool”version - Specification version (e.g., “1.0”)type - Material type (PLA, PETG, ABS, TPU, etc.)color_hex - Color in hex format (#RRGGBB)Optional Standard Fields:
brand - Manufacturer namemin_temp / max_temp - Nozzle temperature range in °COptional Extended Fields (U1-specific):
bed_min_temp / bed_max_temp - Bed temperature range in °Csubtype - Material variant (Basic, Rapid, HF, Silk, etc.)alpha - Color transparency (00-FF hex, default: FF)additional_color_hexes - Additional colors for multicolor spools (up to 4)weight - Spool weight in gramsdiameter - Filament diameter in mm (e.g., 1.75)Snapmaker Orca requires filaments to follow this naming pattern: <brand> <type> <subtype>
Examples: Generic PLA Basic, Elegoo PETG Rapid
Use the NFC Tools app (iOS/Android) to inspect tags:
Compatible tag types: NTAG213/215/216, Mifare Classic 1K Note: ISO15693 tags (OpenPrintTag) are not supported
Tag not detected:
FILAMENT_DT_UPDATE CHANNEL=<n> then FILAMENT_DT_QUERY CHANNEL=<n>klipper.log for detection messagesOpenPrintTag tags don’t work:
NTAG tags only work on extended firmware: