7
$\begingroup$

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?

$\endgroup$
1
  • 1
    $\begingroup$ Are you looking for exact or approximate measurements? $\endgroup$
    – agarza
    Commented Mar 1, 2022 at 0:48

6 Answers 6

12
$\begingroup$

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.

$\endgroup$
4
  • 6
    $\begingroup$ 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. $\endgroup$
    – fred_dot_u
    Commented Feb 28, 2022 at 19:14
  • $\begingroup$ 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. $\endgroup$
    – user10489
    Commented Feb 28, 2022 at 23:45
  • 1
    $\begingroup$ @user10489 Hence "if that's more useful to you than weight." $\endgroup$
    – Zeiss Ikon
    Commented Mar 1, 2022 at 12:02
  • $\begingroup$ 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 $\endgroup$ Commented Mar 4, 2022 at 22:50
5
$\begingroup$

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$.

For those using Klipper, there is also a module for Moonraker which keeps track automatically of multiple filaments: https://github.com/Donkie/Spoolman

$\endgroup$
2
$\begingroup$

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.

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

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.

$\endgroup$
6
  • $\begingroup$ How do you account for the increase in diameter as the filament winds around the initial hub? $\endgroup$
    – agarza
    Commented Mar 1, 2022 at 0:49
  • $\begingroup$ This might not work if a roll of filament isn't perfectly wound. $\endgroup$
    – craftxbox
    Commented Mar 1, 2022 at 1:54
  • $\begingroup$ 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. :) $\endgroup$
    – user10489
    Commented Mar 1, 2022 at 2:01
  • $\begingroup$ I seriously doubt the wounding can appreciably impact the result. $\endgroup$
    – FarO
    Commented Mar 1, 2022 at 9:03
  • $\begingroup$ See my answer for the correct formula $\endgroup$
    – FarO
    Commented Mar 1, 2022 at 10:01
0
$\begingroup$

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.

$\endgroup$
0
$\begingroup$

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

$\endgroup$
2
  • $\begingroup$ This is comparatively pricey compared to a filament gauge that I can print rather inexpensively. $\endgroup$
    – agarza
    Commented Apr 29, 2022 at 3:55
  • $\begingroup$ 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 $\endgroup$
    – Ole Mak
    Commented Apr 30, 2022 at 19:50

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .