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
| Field | Description |
|---|---|
| Material | Filament type (PLA, PETG, ABS, ASA, TPU, PA, PC, etc.) |
| Color | Color name and hex value |
| Brand | Manufacturer name |
| Batch / Lot Number | For 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 Gram | Feeds into cost calculator and order P&L |
| Status | active / empty / archived |
| Storage Location | Optional physical location label |
| Notes | Free-text notes |
| PA Profile | Calibrated pressure advance value for this specific spool |
| Spoolman ID | Link 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
- Go to Inventory → Spools
- Click the QR icon on any spool card to view its QR label
- Print Label — prints a single label
- 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:
| Method | How |
|---|---|
| Camera scan | Click the camera icon on the Spools page; point your device camera at the QR code |
| USB barcode scanner | Focus the scan input field and scan — the scanner acts as a keyboard |
| Manual entry | Type the spool QR code string manually into the lookup field |
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_stockflag 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:
- Configure your Spoolman URL in Settings → Integrations → Spoolman
- On any spool's edit form, set the Spoolman Spool ID field
- O.D.I.N. will sync consumption back to Spoolman when prints complete
Filament Drying Log
Track drying sessions per spool (v1.2.0):
- Open a spool's detail view
- Click Log Drying Session
- Enter: start time, duration (hours), drying temperature
- 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
- Adding Printers — AMS slot configuration on printer setup
- Order Management & Fulfillment — filament cost in COGS calculations
- Analytics & Reporting — filament consumption reporting