Skip to content

ArN-LaB/Spoolscribe-

SpoolScribe

SpoolScribe

Build multiplatform License: MIT Status: for fun

Write OpenSpool / NFC spool tags for the open-firmware Snapmaker U1, so your printer auto-recognizes the filament loaded in your PolyDryer + PolyBox or AMS-style feeders.

SpoolScribe is a small, cross-platform desktop app (Windows / macOS / Linux) that lets you look up a filament by its SKU, see its color, temperatures and density, and generate the OpenSpool JSON payload used to program an RFID/NFC tag. Pair it with the paxx12 Snapmaker U1 firmware fork that exposes the machine's RFID reader, and the U1 can identify each spool automatically.

Made by @ArN-LaB — a for-fun, free-time hobby project, developed when time allows. No roadmap pressure, no commercial intent.

Important

SpoolScribe is an unofficial hobby project. It is not affiliated with Polymaker, Prusa Research, ROSA3D or Snapmaker. See docs/TRADEMARKS.md.

Features

  • Instant search across hundreds of Polymaker SKUs, plus curated Prusament (PLA, PETG, ASA, PC Blend — spools and refills) and ROSA3D (PLA Starter/Silk/Pastel/HS, PETG, PCTG, ASA, ABS+, recycled R-PLA/R-PET-G) sets.
  • Real color swatches + the brand logo rendered from SVG.
  • Filament details: type/subtype, nozzle & bed temps, density (with live override from official OrcaSlicer presets when available).
  • One-click OpenSpool / NFC JSON export.
  • JSON inspector before you write a tag.
  • Optional, consent-gated data updates from open databases.

Why this exists

The Snapmaker U1's firmware was opened up (via the paxx12 fork), exposing the onboard RFID reader. That means spools sitting in PolyDryer + PolyBox dryers or AMS-style multi-material feeders can be identified automatically — if each spool carries a tag describing it. SpoolScribe produces those tags in the open OpenSpool format. Just for fun.

Writing the tags (216-byte NFC)

SpoolScribe generates the data; you write it onto the physical tag. For NTAG216 (888-byte / commonly "216") NFC tags, the excellent web tool SpoolFlux works great to flash the payload — it's my go-to for writing 216 NFC tags. (SpoolFlux is a separate third-party project, not affiliated with SpoolScribe.)

Install (from source)

python -m venv .venv
# Windows:        .venv\Scripts\activate
# macOS / Linux:  source .venv/bin/activate
pip install -r requirements.txt

python app_gui.py          # graphical app
python convert_profile.py  # terminal app

Build a standalone app

The same PyInstaller spec works on all three OSes (run it on the target OS):

pyinstaller spoolscribe.spec --noconfirm

Output lands in dist/ as a single self-contained file (SpoolScribe.exe on Windows, SpoolScribe.app on macOS, a SpoolScribe binary on Linux) — no _internal folder, nothing to install. CI in .github/workflows/build.yml builds all three OSes automatically and attaches them (with SHA256 checksums) to a GitHub Release when you push a v* tag.

Windows: "Unknown publisher" / SmartScreen

SpoolScribe is free, open-source software and the binaries are not code-signed (a signing certificate costs money this hobby project doesn't spend). So Windows SmartScreen may show a blue "Windows protected your PC" prompt the first time you run it.

This is expected for any unsigned app — it is not a virus warning. To run it:

  1. Click More infoRun anyway.

  2. Or verify the download first: compare the SHA256 of the .zip against the .sha256 file published with the release:

    Get-FileHash .\SpoolScribe-windows.zip -Algorithm SHA256

The executable embeds version metadata, so its Properties → Details and the prompt itself show SpoolScribe by ArN-LaB rather than a blank publisher. Prefer not to trust a binary? Run from source (see above) — the code is all here.

Privacy & data

  • Offline by default. Nothing leaves your machine unless you opt in.
  • Updates are consent-gated and fully disclosed — see docs/PRIVACY.md.
  • Data sources and their licenses are documented in docs/DATA_SOURCES.md.

Today SpoolScribe covers Polymaker, Prusament (PLA, PETG, ASA, PC, TPU — spools and refills) and ROSA3D (PLA Silk/Pastel/HS, PETG, PCTG, ASA, ABS+, recycled R-PLA/R-PET-G) with authoritative color codes pulled from open databases. Extending it to more brands is on the roadmap — if and when free time allows.

Project layout

Path Role
core.py Pure business logic (no terminal I/O). Shared by CLI & GUI.
app_gui.py PySide6 (Qt) desktop app.
convert_profile.py Command-line interface.
scripts/ Data-update scrapers + make_icons.py (standard library only).
data/ Bundled database, brand logos and app icons.
orca_profiles/ Official OrcaSlicer presets (temperature overrides).

Documentation

Acknowledgements

License

Source code: MIT — see LICENSE. Datasets and brand assets keep their own licenses (see docs/DATA_SOURCES.md and docs/TRADEMARKS.md).

About

Write OpenSpool / NFC spool tags for the Snapmaker U1 — Polymaker, Prusament & ROSA3D SKU lookup with color swatches and one-click JSON export.

Topics

Resources

License

Code of conduct

Contributing

Security policy

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages