Skip to content

Repository files navigation

TigerTag

TigerSpool RFID

Tap a spool on the box. The filament lands in the right printer slot.
A 2.0" touchscreen, a PN532 reader, and no typing.

License: MIT Platform: ESP32-S3 Build: PlatformIO UI: LVGL 8.4 8 languages

Install TigerSpool from your browser

What it is  ·  Before you start  ·  Quick start  ·  Build one

The TigerTag system: a TigerPOD reader, Tiger Studio Manager on a desktop, and the TigerTag app on a phone

The TigerTag system. A TigerSpool is the device that takes a spool's identity and puts it into a printer's slot.


TigerSpool RFID is open-source firmware for a small box that sits next to your 3D printer. Hold a spool carrying a TigerTag NFC chip against it, pick a slot on the touchscreen, and the box writes the filament into that slot on the printer — material, brand, colour and temperatures. No app, no keyboard, no retyping what the tag already knows.

MIT licensed. Built with PlatformIO for the ESP32-S3.


What it is

Your printer already has a slot list. Your filament already carries its own identity. TigerSpool is the thirty centimetres between them.

  • Tap, pick, done. Hold the spool to the box, tap a slot, confirm. The assignment reaches the printer over its own protocol.
  • Your printers come from your account. They are configured once, in Tiger Studio Manager, and every TigerSpool you own reads the same list.
  • It speaks eight languages and asks which one before anything else.
  • It updates itself. Over the air, verified, from this repository's releases.

Before you start

This is the part that catches people out, so it is first.

A TigerSpool has no keyboard and no way to type a printer's address, and that is deliberate — it reads your printers from your TigerTag account instead. Which means two things have to exist before the box is useful:

1. A TigerTag account, created in Tiger Studio Manager

Tiger Studio Manager is the desktop application for the ecosystem. Install it and create an account there. That account is what the TigerSpool signs in to — by e-mail, or with Google through a QR code, so you never type a password on a 2" screen.

Without an account, the box gets through Wi-Fi setup and then has nothing to sign in to.

Tiger Studio Manager showing a filament library and a printer's slots

Tiger Studio Manager. Your filaments and your printers live here — the box reads this list, it does not build it.

2. Your printers, added in Tiger Studio Manager

Adding a printer means Tiger Studio finds it on your network, or you enter its address and access code, and stores it against your account.

If you have not done this, the printer list on the box will be empty. That is not a fault and there is nothing to fix on the device — it is showing you exactly what your account contains. Add the printer in Tiger Studio, and it appears on the box at the next sync.

The same is true for the details: the access code, the IP address, the brand and model all come from there. TigerSpool reads that list; it does not build it.

In short: Tiger Studio Manager → create an account → add your printers → then set up the box.

Quick start

Step 1 — install from your browser

Plug the board into your computer → click Install → wait a minute. Use the button at the top of this page. It writes the bootloader, the partition table, the boot selector and the firmware.

Chrome, Edge or Opera, on a desktop or laptop. Safari and Firefox do not implement WebSerial and no mobile browser does — the page says so rather than failing quietly.

Step 2 — set it up on the box

  1. Pick your language. Eight of them, before anything else.
  2. Join Wi-Fi. The box shows a QR code. Scan it with your phone, and a page opens listing the networks it can see. Pick yours, type the password on your phone, and the box joins — no reboot, nothing typed on the small screen.
  3. Sign in. E-mail and password, or Google through a second QR code.
  4. Your printers arrive. From your account, as configured in Tiger Studio.

Then hold a tagged spool against the box, tap the slot you want, and confirm.

From then on it updates itself over the air.

Build it yourself

git clone https://github.com/TigerTag-Project/TigerSpool-RFID.git
cd TigerSpool-RFID

bash scripts/flash.sh --monitor

That builds the firmware, flashes it over USB and opens the serial console. Requires PlatformIO Core.

An ordinary flash keeps your Wi-Fi credentials, your account session and your printers — nothing it writes touches the NVS partition. --erase wipes the chip and is how you get a genuine first-boot again.

Hardware

One board, one reader, four wires. The electronics are identical for every printer brand — only the 3D-printed shell changes.

Part Notes
Waveshare ESP32-S3 2inch Capacitive Touch Display development board 240×320 IPS, ESP32-S3R8, 16 MB flash, 8 MB octal PSRAM. Screen, touch and MCU on one board.
PN532 NFC module, V3 with DIP switches Set to HSU (UART) — not I²C, not SPI. Both switches 0 / OFF.
A USB-C to USB-A cable that carries data Powers and flashes the board. A charge-only cable makes a working board look dead — no serial port ever appears.
Four jumper wires 3V3, GND, TX, RX. Supplied with the PN532 — nothing to buy.
A 3D-printed case models/ — one per printer brand, plus a desktop stand

About 40 € in total, plus filament. Parts, links and prices: hardware/BOM.md.

Full parts list: hardware/BOM.md · Wiring: docs/WIRING.md and hardware/pinout.md

Wiring diagram: ESP32-S3-Touch-LCD-2 to PN532 — 3V3, GND, TX to SDA, RX to SCL

Interactive schematic in Cirkit Designer

The reader goes on GPIO43/44. Not GPIO6/7 — that pair is an I²C bus with pull-ups on this board. A PN532 wired there powers up, answers, and returns random UIDs with failing reads. It looks like a bad tag or a bad antenna. It is neither, and it costs a day. Follow docs/WIRING.md exactly.

Printer support

"Any printer" is the goal, not a claim about today. The current state of every brand is in docs/PRINTER-COMPATIBILITY.md, which grades each on three levels — ✅ automatic, ⚙️ one setup step, 🧪 experimental. Read it before buying parts for a specific printer.

Brand Firmware support Transport
Creality ✅ implemented, proven on hardware WebSocket
FlashForge ✅ implemented, proven on hardware HTTP
Bambu Lab ✅ implemented, proven on hardware - LAN and cloud mode MQTT over TLS
Snapmaker ✅ implemented, proven on hardware Moonraker over WebSocket
Elegoo ✅ implemented, reading proven on hardware MQTT
Anycubic ✅ implemented, reading proven on hardware - LAN mode MQTT over TLS

A Bambu Lab printer in cloud mode is read-only: its spools are shown, but a tag cannot be written to it - Bambu's cloud does not accept the command. Switch the printer to LAN mode to write.

Slot names match the ones the printer and Tiger Studio use — Ext. plus 1A1D on Creality and FlashForge, A1A4 then B1B4 on Bambu, E1E4 on Snapmaker, S1S4 on Elegoo, A1A4 per ACE unit on Anycubic. The table and its two traps are in the compatibility document.

How many printers at once

The limit is not a number of printers - it is how much memory their connections take. One TigerSpool has a fixed budget of 160 load slots, where one load slot is one kilobyte of the chip's internal RAM, and each printer takes what its connection costs:

Printer Load slots
First Bambu Lab in cloud mode 50
Each further Bambu Lab in cloud mode 4 - they share one connection
Bambu Lab in LAN mode 50
Anycubic 41
Creality 6
Snapmaker 5
Elegoo 3
FlashForge 2

The difference is encryption: a Bambu or an Anycubic talks over TLS, which is what memory goes on; the others do not. So ten Elegoos fit where three LAN Bambus do not.

Settings > Printers shows how full the budget is as a percentage. A printer that would not fit is refused when you switch it on, with the reason on the screen, rather than connecting and failing later. The measurements, the reasons for 160, and what the budget does not account for are in docs/CONNECTION-BUDGET.md.

Documentation

ARCHITECTURE.md Layering, the state machine, why a backend knows nothing about the screen
ONBOARDING.md The first-boot journey, screen by screen
WIFI-PROVISIONING.md The QR code and the captive portal
ACCOUNT-PAIRING.md E-mail and Google sign-in, and why RFC 8628 was rejected
ACCOUNT-DATA.md The shape a printer arrives in
OTA.md Partitions, the manifest, and what is settled before the first release
PRINTER-COMPATIBILITY.md Per-brand status and slot naming
CONNECTION-BUDGET.md How many printers at once: load slots, every measurement behind them, why 160
WIRING.md The four wires
ROADMAP.md What is deliberately not done yet, and what has to be decided first

Contributors and agents start at AGENTS.md and CODEMAP.md.

Known limitations

Written down rather than discovered.

  • The firmware is not signed. Its update connection is verified against the root certificate store, so the box knows who it is talking to — but not who produced the image. The reasoning and the condition for changing that are in docs/OTA.md.
  • At most three printers that use TLS at once - Bambu Lab in LAN mode and Anycubic, with every cloud Bambu on an account counting as one. It is the chip's internal RAM, and the load budget enforces it; see docs/CONNECTION-BUDGET.md. The two ways past it are in docs/ROADMAP.md.
  • Anycubic in cloud mode is not supported, only LAN mode.
  • A printer is identified by its position in your account's list. Reordering it in Tiger Studio can move a per-printer setting to the wrong machine. Tracked in docs/reviews/.

Part of the TigerTag ecosystem

TigerTag is an open NFC identification standard for 3D-printing materials. A spool carries its own identity, and every device in the system reads the same one.

Contributing

Issues and pull requests are welcome. CONTRIBUTING.md has the conventions; the short version is that bash scripts/verify.sh passes before anything is reported as done, and everything committed is in English.

Security reports: SECURITY.md.

License

MIT — build it, sell it, fork it.

Third-party components keep their own licenses; see THIRD_PARTY_LICENSES.md. "TigerTag" and "TigerSpool" are project names, not a license to imply endorsement — the terms for using them on a product you sell are in TRADEMARK.md.

About

RFID spool scanner for 3D printers. Any printer. No setup. Just scan. ESP32 + PN532, open source.

Topics

Resources

Code of conduct

Contributing

Security policy

Stars

4 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages