Skip to main content

Filament & Spool Inventory

O.D.I.N. provides a full filament inventory system with QR labels, AMS integration, low-stock alerts, auto-deduction on print completion, and optional Spoolman synchronization.


Spool Management

Navigate to Inventory → Spools to manage your filament inventory.

Spool Fields

FieldDescription
MaterialFilament type (PLA, PETG, ABS, ASA, TPU, PA, PC, etc.)
ColorColor name and hex value
BrandManufacturer name
Batch / Lot NumberFor tracking filament batches
Initial Weight (g)Full spool weight (filament only, no spool core)
Remaining Weight (g)Current weight remaining
Spool Core Weight (g)Empty spool weight (used to calculate remaining %)
Cost per GramFeeds into cost calculator and order P&L
Statusactive / empty / archived
Storage LocationOptional physical location label
NotesFree-text notes
PA ProfileCalibrated pressure advance value for this specific spool
Spoolman IDLink to external Spoolman instance
Low-Stock Threshold (g)Alert threshold (default: 50g)

Stat Cards

The Spools page header shows:

  • Total active spools
  • Total weight remaining across all active spools
  • Low-stock spool count (badge)

QR Label System

Each spool gets a unique QR code generated automatically.

Printing Labels

  1. Go to Inventory → Spools
  2. Click the QR icon on any spool card to view its QR label
  3. Print Label — prints a single label
  4. Batch Labels — select multiple spools and print all their labels at once

Labels include: QR code, material, color, brand, and weight.

Scanning Spools

Three scan methods are supported:

MethodHow
Camera scanClick the camera icon on the Spools page; point your device camera at the QR code
USB barcode scannerFocus the scan input field and scan — the scanner acts as a keyboard
Manual entryType the spool QR code string manually into the lookup field
Camera Scanning Requires HTTPS

The browser camera API (getUserMedia) only works over HTTPS. If O.D.I.N. is accessed over HTTP (e.g., on a local network without TLS), camera-based QR scanning will be unavailable. USB scanners and manual entry work over HTTP.

Scanning a spool opens a dialog to associate it with a printer and AMS slot.


Pressure Advance Profiles

Each spool has a PA Profile field for storing your calibrated pressure advance value for that specific spool. This is useful when different spools of the same material require different PA calibration.

The PA profile is displayed in the spool list and detail views for quick reference when loading a spool.


Low-Stock Alerts

Configure per-spool thresholds to receive low-stock warnings:

  • Default threshold: 50 grams
  • When remaining weight drops below threshold, an alert is dispatched via all configured channels
  • is_low_stock flag is included in spool list API responses for badge display on the UI
  • Query low-stock spools: GET /api/spools/low-stock

AMS Integration (Bambu Printers)

For Bambu printers with AMS units:

  • RFID detection — AMS automatically reports filament type and color for RFID-chipped spools
  • Slot display — O.D.I.N. shows loaded filament colors and material types per AMS slot on printer cards
  • AMS humidity and temperature — monitored at 5-minute intervals (7-day retention); chart available on printer detail panel
  • AMS RFID re-read — trigger a filament re-scan from the O.D.I.N. UI via POST /api/printers/{id}/ams/refresh
  • AMS slot configuration — set material type, color hex, and K-factor per slot: PUT /api/printers/{id}/ams/{ams_id}/slots/{slot_id}

H2D External Spool Positions

The Bambu H2D supports external spools in addition to AMS units. O.D.I.N. parses Ext-L and Ext-R spool positions from the vt_tray MQTT field and displays material, color, and remaining percentage on printer cards. H2D printers show a dual-nozzle badge and separate nozzle temperature readings (L/R).


Auto-Deduction on Print Completion

When a print job completes, O.D.I.N. automatically deducts the filament used from the assigned spool's remaining weight. The deduction amount and a consumption_json record are stored in the print archive entry.

If the spool is linked to a Spoolman instance (spoolman_spool_id), the consumption is also pushed to Spoolman.


Spoolman Integration

Link O.D.I.N. spools to an external Spoolman instance:

  1. Configure your Spoolman URL in Settings → Integrations → Spoolman
  2. On any spool's edit form, set the Spoolman Spool ID field
  3. O.D.I.N. will sync consumption back to Spoolman when prints complete

Filament Drying Log

Track drying sessions per spool (v1.2.0):

  1. Open a spool's detail view
  2. Click Log Drying Session
  3. Enter: start time, duration (hours), drying temperature
  4. Sessions are listed chronologically to track filament condition over time

CSV Export

Export your full spool inventory:

GET /api/spools/export

The CSV includes all spool fields: material, color, brand, lot number, initial weight, remaining weight, status, PA profile, and cost.

Available from the Spools page via the Export CSV button.


See Also