Spool Studio v3.0.2
Spool Studio v3.0.2
Spool Studio v3.0.2 is the first non-beta v3 release for the new paxx12 SpoolLink workflow.
It was tested with paxx12 Extended Firmware v1.5.2-paxx12-21.
This release is intended for the new paxx12 firmware logic where RFID/NFC tags are linked to Spoolman spools by the physical tag UID. Older Spool Studio v2 tags can still be read and converted, but v3 writes only the new paxx12-compatible format.
Important migration note
Spool Studio v3 is not just a visual update. The tag and Spoolman linking logic changed.
Old v2 workflow:
- tags were linked mainly through the old spool-id based data
- the app could work with older paxx12 firmware versions
- material names such as
PLA+were handled by writing printer-safe values to the tag
New v3 / paxx12 workflow:
- the physical NFC tag UID is the important identifier
- the UID is stored in Spoolman under
extra.card_uids - the printer firmware can resolve the spool from Spoolman by reading the tag UID
- Spool Studio writes only the new paxx12-compatible tag format
If you still need the old workflow, please stay on the latest v2 release.
Recommended migration workflow
- Install a compatible paxx12 firmware version, tested with
v1.5.2-paxx12-21. - Enable the Spoolman integration in the printer firmware.
- Open Spool Studio Settings.
- Test the Spoolman connection.
- Test the Moonraker connection and open
Show Moonraker Info. - Make sure the required assignment command
SET_SPOOL_IDis reported as available. - Read one existing v2 tag first.
- Let Spool Studio convert only this one spool first.
- Write the tag again with Spool Studio v3.
- Check the result in Spoolman, Spool Studio and the printer / Fluidd UI.
- Continue with the remaining spools after the first test is correct.
Required printer command check
Spool Studio checks whether the required paxx12 G-code command is available:
SET_SPOOL_ID
This command was only available after enabling:
AFC Lite via Fluidd/Mainsail
on the paxx12 firmware configuration page and restarting the printer services.
If SET_SPOOL_ID is missing, Spool Studio shows this in:
Settings -> Show Moonraker Info
This is important because manual toolhead assignment from the app depends on that command.
UID based tag workflow
The new workflow no longer uses the old tag content as the primary link to a spool.
Instead, the physical UID of the RFID/NFC tag is used.
Workflow:
- Spool Studio reads the physical UID from the tag.
- The UID is stored in the Spoolman spool record under
extra.card_uids. - When the printer reads the tag, the paxx12 firmware can look up the matching spool in Spoolman using this UID.
- The spool data then comes from Spoolman, while the tag acts as the physical identifier.
In short: reading an old tag and writing it again with Spool Studio v3 stores the tag UID in Spoolman and updates the tag to the new paxx12-compatible format.
If a spool has no UID yet, read the tag and write it again with Spool Studio v3. This stores the physical tag UID in Spoolman and makes the spool fully compatible with the new UID-based workflow.
Why the Material Modifier field exists
I wanted to keep information such as the + in PLA+, while still staying compatible with the new paxx12 firmware logic.
The firmware expects printer-safe material values such as PLA, PETG, ABS, etc. A value like PLA+ can cause problems because it is not a valid printer material in this workflow.
There is also a second problem: paxx12 separates the filament data into fields such as material and variant. That works well for simple cases like:
- Material:
PLA - Variant:
Matte
But a filament such as PLA+ Matte contains two pieces of information:
Plusas a material modifierMatteas the visual / filament variant
Putting both into the regular variant field would turn it into Plus Matte and mix two meanings into one paxx12 / Spoolman field. Putting PLA+ into the material field would keep the label, but it would no longer be a printer-safe material value.
To avoid losing that information, Spool Studio now supports an optional Spoolman filament extra field:
material_modifier
Example conversion:
PLA+ - Silk
becomes:
- Material:
PLA - Material modifier:
Plus - Variant:
Silk
This keeps the printer-compatible material clean, while Spool Studio can still display and preserve the full meaning of the filament.
Spool Studio can create the required material_modifier field in Spoolman after confirmation. If the user declines this, the app can still be used, but the material modifier field is disabled and additional information such as Plus or HS cannot be preserved separately.
The field setup can be checked later in:
Settings -> Show Spoolman Info
This was intentionally implemented as an extra field instead of overloading the official paxx12 fields. The goal is to stay compatible with the firmware and still keep the information that is useful for the app and for the user.
Converting old v2 tags
When an old Spool Studio v2 tag is read, Spool Studio v3 can detect the old format and offer a conversion.
The conversion can:
- read the old tag data
- identify the matching Spoolman spool
- store the physical tag UID in
extra.card_uids - convert old material strings into the new structure
- preserve modifiers such as
Plus - write the new paxx12-compatible tag format
If conversion is declined, Spool Studio v3 will not write legacy data. In that case, use Spool Studio v2 for the old workflow.
Converting existing Spoolman data
There is also a Settings tool to scan existing Spoolman filament records and choose which records should be converted. This is intentionally selectable, so test records or special cases do not need to be changed automatically.
The Spoolman legacy conversion tool can be found here:
Settings -> Show Spoolman Info -> Scan legacy Spoolman materials
Spool Studio scans existing Spoolman filament records and shows a selectable list. You can choose which records should be converted to the new v3 / paxx12-compatible structure.
The conversion keeps existing spools, UID assignments and product / lot codes. It only patches the selected filament records.
Manual toolhead assignment
Manual toolhead spool assignment is available again in the Toolhead Status dialog.
The assignment uses the paxx12 / Moonraker path and requires SET_SPOOL_ID to be available.
Important behavior:
- Manual assignments can work even when a spool has no stored UID yet.
- Spools without a stored tag UID are marked with
No UID stored. - These manual assignments can be replaced by the firmware when it reads an RFID tag and resolves the spool through UID-based Spoolman lookup.
- For a fully stable UID workflow, read and rewrite the tag with Spool Studio v3 so the UID is stored in Spoolman.
The manual Assign spool dialog only shows spools that already use the new paxx12-compatible Spoolman field layout. Spools without a UID are still selectable, but clearly marked.
Toolhead Status: App labels and SpoolLink
The Toolhead Status dialog has two display modes:
App labelsSpoolLink
App labels shows the filament names as Spool Studio builds them for the app UI. This includes additional information such as the optional Material modifier, for example showing PLA+ / Silk even though the printer-safe material is stored as PLA.
SpoolLink shows the data as reported by the paxx12 Spoolman / SpoolLink integration. This is useful for checking what the printer firmware currently sees and receives from its Spoolman integration.
In short:
App labels= Spool Studio view with preserved app-side labels and modifiersSpoolLink= printer / firmware reported view
This helps compare whether the app-side data and the printer-side SpoolLink data match as expected.
This is especially useful while migrating:
- If
App labelsstill show the expected label, Spool Studio can still reconstruct the user-facing filament name. - If
SpoolLinkshows different data, the difference comes from what the firmware currently reports. - This makes it easier to tell whether a mismatch is in the app data, Spoolman, or the printer firmware / Fluidd integration.
The edit icon in the Toolhead Status dialog opens the manual spool assignment. This is useful when a spool is loaded without a readable RFID tag or when a toolhead needs to be assigned manually. The assignment can still be replaced later when the printer reads an RFID tag and resolves the spool through the UID-based Spoolman workflow.
Settings info buttons
The Settings screen contains two diagnostic info sections.
Show Spoolman Info checks and displays Spoolman-side readiness:
- Spoolman reachability
- required Spoolman extra fields
card_uidssupport for UID-based tag linkingmaterial_modifiersupport for preserving values such asPlusorHS- access to the legacy Spoolman material conversion tool
Show Moonraker Info checks and displays printer / firmware readiness:
- printer firmware version
- Moonraker availability
- Spoolman service status reported by the printer
- RFID bridge status
- availability of the required
SET_SPOOL_IDassignment command
The app uses these checks to warn before tag writing or manual assignment if the setup is incomplete.
Other changes
- Version updated to
3.0.2. - Beta label removed.
- Settings screen updated to match the Spool Studio v3 design.
- Main dropdown dialogs were restyled.
- Brand, color, color wheel, photo detection and empty spool weight dialogs were aligned with the new dark dialog style.
- Spool selection dialogs now show spool artwork and clearer metadata.
- The Select from Spoolman dropdown now includes the spool ID in the list while keeping the selected value clean.
- Toolhead status dialog was redesigned and now supports manual assignment again.
- Success messages were shortened where the refreshed UI already shows the result.
APK
Download the signed APK from the release assets:
SpoolStudio-v3.0.2.apk
Support
If Spool Studio helps you, you can support the project here: