Feature Request: Track filament usage per spool in software
andreas3Dy last edited by
In 2018 there was a discussion about it:
Here is an example from that topic:
The goal is to have a rough estimate by counting the used filament.
ahmetipkin last edited by ahmetipkin
I think this would be a great addition. Companies like colorFabb specify the 'length' of the filament they sell so basically a counter that 'adds' every extruder move and provides this data in object model would work I believe. What do you think @dc42 ?
Colten last edited by
This has been requested many times. I even went so far as to provide a patch. while not perfect, it did work. Filament has to be counted "per filament type". While useful, this is not as useful as counting per filament roll.
mitch last edited by mitch
@Colten couldn't you create a filament "type" per roll/color. ? Then you could use the M701 commands to switch between rolls+types and track usage per spindle.
Ideally you could tie the slicer into it by having the slicer G-code issue the correct M701 S"PETG-Prusa-Orange" command based on the selected filament in the slicer. Then you could just choose the filament from the slicer, send, and print.
The complicated part is defining exactly how this should work. Some of the issues are:
- How exactly should it interact with the existing filament management system? For example, should it work at all if you do not use the filament management system?
- Should it track offline spools as well as whatever spools are currently loaded?
- How will you tell it that you have started a new spool? Or that you have loaded a part-used spool?
- How often should it update the usage data on the SD card? If it updates it too often, it will wear out the SD card too quickly.
mitch last edited by
@dc42 I wonder if this would be better running on an external device like a Rpi or a docker container on a server? I know the duet products are moving towards a plugin architecture with the pi.
We would just need the appropriate APIs into the duet boards to be notified on print events and filament changes. This would relieve the duet and DWC from all of the user interface overhead.
It would be easier to implement on a Pi attached to a Duet, however I don't want to rule it out from implementation on a standalone Duet.
BoA last edited by
I think that viable solution would be to use NFC tags and a spool holder with reader. With new spool just put a nfc sticker (can be bought easily) and set a filament length when spool used for a first time.
Then each time spool in put on spoolholder read the tag, and update legth when print finished/tool change/ etc
Easy to implement - nfc readers are available with many intercaes, tags can be bought without problems.