by ni4223
Put an NFC tag on a spool and the printer recognises it the moment you load it, brand, material and colour filled in for you, while Spoolman counts down how much filament is left.
Only want the printer to recognise your spools? You don’t need Spoolman. Do section 1, then in section 3 set Filament Detection to OpenRFID and leave Spoolman Integration off. Then go straight to section 5.
Factory tags on Snapmaker, Anycubic and QIDI spools are read directly, nothing to write. For Bambu, Creality and Elegoo, the app can read the factory tag and copy it onto a blank tag, which the printer then reads without any extra setup. See RFID Format & Reader Design.
Grab the firmware from the
Releases page.
Look for the release with the green Latest badge, not whatever sits at the
top of the page, that one’s usually a pre-release. Open Assets and download
the file ending in _upgrade.bin, around 250 MB. Ignore the source code files.

Covered in the Installation Guide.
While you’re at the printer, turn on Advanced Mode. It’s off by default and you’ll need it for the settings page later. On the touchscreen go to Settings and open Maintenance:

Then Advanced Mode, turn it on, and restart the printer:

Skip this if you only want the printer to recognise your spools, see the note at the top.
Spoolman is a database of your filament. It’s not part of the firmware, you run it yourself. I run mine on a Raspberry Pi, but anything will do: a NAS, an old laptop, a mini PC, your desktop. The only real requirement is that it’s switched on when you’re printing, otherwise the printer has nothing to look up.
Set it up now, before you go any further, using the
Spoolman installation guide.
You’ll end up with a web page at http://<server-ip>:7912. Get that far and come
back here.
The printer talks to it over your network, so it has to be reachable from the printer, not just from your laptop. Give that machine a fixed IP too, or a reservation on your router, because if the address changes the printer quietly stops finding your spools.
Open http://<printer-ip>/firmware-config/ in a browser. The printer’s IP is in
the network settings on the touchscreen, something like 192.168.1.50. If the
page won’t load, Advanced Mode isn’t on yet, go back to section 1.

Go to Settings > Snapmaker Components.

Filament Detection. Set it to OpenRFID. It reads far more tag formats than the stock reader does, including factory tags from Bambu, Elegoo, Creality and others. More on that in RFID Format & Reader Design.
AFC Lite via Fluidd/Mainsail. Set it to Enabled. This is what gives you the four lanes in Fluidd or Mainsail, showing which spool is loaded where. See AFC-Lite.
Spoolman Integration. Set it to Enabled and type in the Spoolman address
from section 2, with the http:// and the port:
http://192.168.1.100:7912
The printer checks it can actually reach Spoolman before it saves, so if you get an error the address is wrong or Spoolman isn’t running. Once it goes through, Klipper and Moonraker restart themselves and are back in a few seconds. No reboot needed.
Buy some NTAG215 or NTAG216 tags. The SnapSpeed spool that came with the U1 already has a Snapmaker tag on it, so you can check the reading and mapping workflow before yours arrive.
The steps below use SpoolPainter.
Other community apps do the same job, they’re listed on the community apps page.
Open Settings, paste your Spoolman address, and hit Save.
The spool is created in Spoolman and the tag is written in one go.
| Settings | New spool | Search |
|---|---|---|
![]() |
![]() |
![]() |
The reader sits inside the printer housing, so a tag only gets read if it’s facing it. With one tag that means always loading the spool the same way round, so use two. After the first write the app offers to pair another.
Tags can be reused, nothing to unmap first. If the tag already belongs to another spool, the app asks when you write it and moves it over for you.
Bambu, Snapmaker, QIDI, Anycubic, Elegoo and Creality tags are read and fill the form in for you. Pairing those is by UID, nothing is written to the chip.
Bambu and Creality need a one time setup per brand under Settings first.

You don’t need Spoolman to get spools recognised. Leave the Spoolman address blank in Settings and the spool and filament pickers disappear, leaving just the filament fields.
Fill those in, hit Write to NFC, and hold a tag to the phone. The printer picks the filament details straight off the tag. What you lose is Spoolman: the inventory and the remaining weight tracking.

Open http://<printer-ip>/filament/ to see what the printer thinks is loaded. You
get a card per extruder with the brand, material and colour it picked up, and a
badge saying where that came from: the tag itself, Spoolman, or something you typed
in by hand.

Read spool tags re-reads all four channels, handy after you’ve swapped a spool and want to check the tag took. If Spoolman is connected there’s also a button on each card to pick a spool by hand, which is the way to do it if you haven’t got your phone nearby.