One of the most aggravating questions in desktop 3D printing is: Do you have sufficient filament left to complete the print?
This problem has existed since as long as the very first tail end of a filament was pulled into an extruder, many years ago. In some machines this scenario is problematic as the extruder may become jammed.
Some recent machines have integrated a “filament out” detection system, which can intelligently pause the print and wait patiently for you to arrive and swap out the empty spool for a fresh one. This solves the failure modes, but doesn’t necessarily address the delays caused when the filament runs out.
It’s obviously best if you simply have sufficient filament on the spool when you commence printing. But how do you know whether there is enough?
In many cases, it’s obvious. A small 3D print and a near-full spool will clearly work. It’s only when you combine a larger print with a “getting near empty” spool that you begin to have filament anxiety.
Should you print? It looks like it might have enough.
Or maybe it doesn’t.
Or perhaps you’re on a deadline and cannot afford a failure. Better put a fresh spool on and avoid the risk entirely.
Or maybe you don’t have another spool of the same material and have to wait for a new one to arrive.
None of this is pleasant.
Some machines that use proprietary filament can sort-of solve this by tracking the usage. Here’s how it typically works:
- Each cartridge is equipped with an RFID chip that reports a unique serial number when asked by the 3D printer.
- The 3D printer then logs all the ongoing usage against that particular serial number as prints take place.
- If the total tracked amount of printing on a particular spool exceeds a threshold, the 3D printer declares that spool is “empty”, whether it is or isn’t.
This approach mostly works, but sometimes you get stuck with a reasonable amount of leftover filament due to machine confusion. For machines with expensive proprietary filament, this is not pleasant.
For machines using generic open filaments, there really isn’t a standard solution. But there are some attempts to do so.
One I’ve recently seen was reported by Reddit user Amish-Leprechaun, who observed that HicTop filament spools now state the remaining length right on the spool as shown above.
Similarly some other vendors might have a weight estimate.
But neither of these approaches are optimal, as most slicing programs report the weight of material to be used in a print, not the weight. This precludes the use of the length approach by HicTop.
Weight estimates can be confused by density. Metal-infused filaments are very noticeably heavier than, say PLA. This means the amount (volume) of material to be used is quite different from the reported weight. If one were to re-use a spool with weight gradations on it for, say stainless steel filament, it would be completely incorrect.
And both of these approaches are hardly precise to handle the deadly end-of-spool situations I proposed above. You’d still be asking the same questions.
We need something more accurate.
One alternate approach is devised by Thingiverse contributor Deemoos, who published a kind of calculator for this question.
It takes your (presumably) accurate measurement of the spool and thermoplastic coil and determines the remaining number of meters. I think with the addition of a density feature you could have a similar script generate the remaining weight as well.
But again, this is somewhat imprecise as it depends on your ability to measure. What would be interesting is some kind of spool holder that also weighs the entire spool on the fly, reporting both length and weight remaining.
Does anyone know of such a device?