Skip to content

Spool Studio v3.0.2

Choose a tag to compare

@GeorgHo GeorgHo released this 02 Aug 22:21
· 8 commits to main since this release

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

  1. Install a compatible paxx12 firmware version, tested with v1.5.2-paxx12-21.
  2. Enable the Spoolman integration in the printer firmware.
  3. Open Spool Studio Settings.
  4. Test the Spoolman connection.
  5. Test the Moonraker connection and open Show Moonraker Info.
  6. Make sure the required assignment command SET_SPOOL_ID is reported as available.
  7. Read one existing v2 tag first.
  8. Let Spool Studio convert only this one spool first.
  9. Write the tag again with Spool Studio v3.
  10. Check the result in Spoolman, Spool Studio and the printer / Fluidd UI.
  11. 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:

  1. Spool Studio reads the physical UID from the tag.
  2. The UID is stored in the Spoolman spool record under extra.card_uids.
  3. When the printer reads the tag, the paxx12 firmware can look up the matching spool in Spoolman using this UID.
  4. 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:

  • Plus as a material modifier
  • Matte as 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 labels
  • SpoolLink

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 modifiers
  • SpoolLink = 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 labels still show the expected label, Spool Studio can still reconstruct the user-facing filament name.
  • If SpoolLink shows 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_uids support for UID-based tag linking
  • material_modifier support for preserving values such as Plus or HS
  • 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_ID assignment 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:

Buy Me A Coffee