# Is there a method for telling how much filament is left on a spool?

Other than unrolling it and measuring it, is there a method for telling how much filament is left on a spool, for example calculating a length bases on weight or number of turns left on the spook?

Is it possible to extract the amount of filament used from the printer's firmware?

• Are you looking for exact or approximate measurements? Mar 1, 2022 at 0:48

If you have an empty spool of the same brand, you could weigh the empty spool and the one you're trying to "measure" to get an approximate weight of the remaining filament. Divide by the (presumably available from manufacturer) weight per meter to get a rough length in meters, if that's more useful to you than weight.

• Also weigh the spool before use, write the value on the flange (tare 304g) and measure, subtract. I've been using 1kg as the base and find that the manufacturer usually gives a few grams more, providing a safety net, a tiny safety net. Feb 28, 2022 at 19:14
• Most slicers will give you the weight of the part, so if you know the weight of the filament left on the spool, that might be enough. Feb 28, 2022 at 23:45
• @user10489 Hence "if that's more useful to you than weight." Mar 1, 2022 at 12:02
• Here is a helpful table of length per roll of different generic materials. It has 1.75mm and 2.85mm diameters: amp.rigid.ink/blogs/news/how-many-meters-of-filament-on-a-spool Mar 4, 2022 at 22:50

If you use klipper you can use this script (by zellneralex) to calculate the filament length used since the last manual reset. Obviously it works with a single spool, if you switch spools it doesn't work.

If you want to know how much filament is left in the spool, the exact formula based on inner radius of the spool $$r_{int}$$ and outer radius of the spool when new $$r_{ext}$$ and based on the current outer radius of the remaining filament $$x$$ should be:

$$100 \left( \frac{x-r_{int}}{r_{ext}-r_{int}} \right)^2$$

You can see that you get 100% when $$x=r_{ext}$$ (spool is new) and 0% when $$x=r_{int}$$.

It's a simple integration in $$(x-x_0)\,dx$$.

Some filament vendors put a window to see the remaining spooled filament with a decal showing graduations to match how much is left based on the diameter visible. You could do the same as a printed (in the paper sense) insert you slip along the inside of any spool between the filament and outer wall. You just need to compute the relationship between diameter and amount of filament based on the filament diameter and the number of turns per layer. Or you could just copy the design from a vendor who does this and figure it will be close enough.

• I have seen a few on Thingiverse called "Filament Spool Gauge". It seems that they need to be made specifically for a brand/spool. Mar 1, 2022 at 15:27
• @agarza This is because vendors use different widths and core diameters of spools. If they were standardized, it would work universally... Mar 1, 2022 at 15:46

If you are down to one layer of filament, count the number of loops left on the spool, and multiply by the circumference of the spool to get the length. ($$\pi \times diameter \times loops$$)

This can work if you have more than one layer and know the core diameter and the outer diameter of the filament left, but there would be some integration and a lot of estimation.

• How do you account for the increase in diameter as the filament winds around the initial hub? Mar 1, 2022 at 0:49
• This might not work if a roll of filament isn't perfectly wound. Mar 1, 2022 at 1:54
• increasing diameter: that's what the integration is for; not perfectly wound: that's why estimation is required. I didn't say it was easy. :) Mar 1, 2022 at 2:01
• I seriously doubt the wounding can appreciably impact the result.
– FarO
Mar 1, 2022 at 9:03
• See my answer for the correct formula
– FarO
Mar 1, 2022 at 10:01

There are products available that will keep track of the length of spools once you give it a starting length. The starting length could come from the spreadsheet.

• It's nice to offer various spools and lines for notes, but if you protect the workbook, it becomes a bit useless. It's not formulas are so difficult to calculate, so I think it's better to leave it open.
– FarO
Mar 3, 2022 at 12:12
• Ya... maybe I'll open it up.
– Paul
Mar 4, 2022 at 14:32
• Hmm... I don't think I'll open it up. It's made to work with the hardware I made that saves and tracks 10 spools. The spreadsheet can easily be saved with a different name and then you could keep track of as many as you like. The hardware just makes it convenient and user friendly. It can be found here on Etsy. (etsy.com/ca/shop/BrownsBrainShop)
– Paul
Apr 30, 2022 at 2:55

Besides using the window on a spool that estimates the amount of filament left, I've used large calipers to measure the diameter of an empty spool and the diameter of the filament left on the spool.

Why not use a database online with a filament consumption counter? See this link.

You can create a database without buying counters. I have two printers an Ender and Mega Zero and 2 counters that automatically consume the selected filaments.

Very cool tool. I love it

• This is comparatively pricey compared to a filament gauge that I can print rather inexpensively. Apr 29, 2022 at 3:55
• I agree with you. This is for professional users only but remains the best way to track filament consumption. In any case, here you can see the link and use the manual database without buying counters Apr 30, 2022 at 19:50