[PROJECT] Spooli Filament Monitor – Live Tracking & Spool Management
🧵 [PROJECT] Spooli Filament Monitor – Live Tracking & Spool Management
---
🧩 What is this?
A local web-based tool for tracking filament usage per tool on Prusa MMU3 printers or without MMU3
This project does not rely on built-in printer usage stats, but instead performs a synchronized G-code analysis in parallel to your actual print job.
It is in sync with PrusaLink
---
✨ Highlights
Live consumption chart (synchronized with print progress)
Per-tool filament usage tracking
Spool database with inline editing
Forecasting if filament is sufficient before job ends
Automatic deduction of used filament
History of past prints, including file, spools used and job status
Works with both MMU (slots 0–4) and a direct slot ("non-mmu")
---
💻 UI Overview
🎛 Dashboard
Displays currently active spools, remaining weight, and print progress.
Live consumption graph per slot in mm vs. % print progress.
🎨 Spool Database
Assign spool to MMU slots, edit weight inline (supports 500-20 style math), rename and manage materials.
📉 Forecasting & Warnings
Visual forecast line for estimated total usage.
If the remaining filament is expected to run out before the job ends, the bar blinks red.
Negative weights are marked (in case of tool-switching or improper matching).
📜 Print History
A collapsible section storing previous print jobs, sorted by time.
Each entry includes:
File name
Progress
Final job status (FINISHED, CANCELLED, etc.)
Consumption per spool (in g)
---
⚙️ How it Works
This monitor runs two threads in parallel:
🧠 Monitor Thread: Continuously fetches printer status via the PrusaLink API (every 5 seconds)
📦 Main Thread: Downloads the G-code file as .bgcode, parses it line-by-line, and accumulates tool-specific extrusion
This way, live consumption is calculated in sync with the print.
When the printer streams a file directly (without saving to USB), the .bgcode file is unavailable — live parsing is "blocked", and stats are finalized afterward.
---
📦 Installation
git clone https://github.com/krabbs/Spooli.git
cd filament-monitor
pip install flask requests pygcode
- Install bgcode for decoding `.bg
See for mor on git
RE: [PROJECT] Spooli Filament Monitor – Live Tracking & Spool Management
Small info. I'm on a short vacation but I really think this can this tool will be awesome so I wanted to share before I leave.
Hopefully there will be some feedback so we improve this together.
RE:
This project looks interesting. I get similar functionality in OctoPrint with the SpoolManager plugin, but not everyone uses (or wants to use) OctoPrint. I wish you luck on this interesting (and apparently useful) project.
Might I suggest adding a feature (spool property)? Allow setting the empty spool weight (tare weight) to allow users to manually weigh spools when off the printer to correct for any rounding errors (from calculating from extrusion amount to mass with potentially inaccurate density values) and unaccounted for purging when loading spools. In my experience with a different program (again, the SpoolManager plugin) I've found that the calculated usage of spools is close but slightly off of the actual used filament determined by manually weighing spools after taking off of the printer.
P.S. enjoy your vacation.
See my (limited) designs on:
Printables - https://www.printables.com/@Sembazuru
Thingiverse - https://www.thingiverse.com/Sembazuru/designs
RE: [PROJECT] Spooli Filament Monitor – Live Tracking & Spool Management
Thanks i have added this to database.
✅ Features
Live parsing of .bgcode for per-tool filament usage
Inline editable spool database (adding, deleting, manual calculations including tare weights in the database)
Remaining spool weight deduction with historical log
Forecasting logic to detect insufficient filament early
Filterable print history with spool consumption breakdown
Dynamic reassignment/remapping of spools during print (Experimental)
RE: [PROJECT] Spooli Filament Monitor – Live Tracking & Spool Management
Any interface to spoolman? https://github.com/Donkie/Spoolman
I use it on all my printers. One filament database, multiple printers. I like Connect. But for the use with Prusa, I had to install Octoprint.
RE: [PROJECT] Spooli Filament Monitor – Live Tracking & Spool Management
Right now, I'm primarily concentrating on getting the main functionality solid. I've run into a couple of unusual, infrequent bugs concerning the Prusa's peculiar behavior when USB G-code files aren't accessible. The Spoolman API appears to be very intuitive, so I'll be adding that soon.
Thanks for the feedback