Filament Odometer - Remaining Filament count

Hey folks,

Was wondering if there was support for the filament odometer that is listed on the homepage for the AMS would be great to set the length of non bambu filaments to get an estimate of how much filament is left. It looks as though this is a rotational encoder from the diagram that is advertised. Does anyone have any further information on it?

All the best

2 Likes

I doubt it will work without a Bambu RFID chip. Each spool has a unique ID and it should know how much it extrudes. You can calculate a pretty close estimate from that. Might be rotational also, but the printer knows how much it extrudes, so it could simply calculate it from that and it would be more precise.

True, though I hope they add some logic to the AMS so we can set a length and it will record that amount of pulled filament until the AMS detects a removal of the filament from the first stage feeder.

Fingers crossed!

I’d be happy with just a field where I could input the remaining grams whenever I load a spool to preset the value, then have an odometer update from there. Make a note of the number when I remove a spool, re-enter it next time.

Ideal would be to allow manual input to the spool ID database. To be safe, they’d probably need to add a boolean field to the DB, to indicate Bambu Native vs Foreign, but once that was done, the user could just enter whatever numbers they wanted to track their spools. When loading a new spool, you could tell it was a new 1kg spool and give it a number, then just use that number when you unload/reload it.

But really, just a manual input for remaining-filament for non-Bambu spools would be a huge convenience and I wouldn’t think too difficult to add. (End users never think anything is “too” difficult :wink:

I really like this idea of having an update to the total number of grams remaining in any particular spool. Users could assign spools to their account when they purchase them or add them manually in the slicer when choosing the filament type. Then when the slicer completes the G-Code and shows the output it could tell the user how much would be remaining after the print, or if the print wouldn’t complete due to lack of filament.

The trick is that the AMS only knows about length of filament extruded, not weight, so any estimation of how much filament is left is an approximation that could be well off if the filament is more or less dense than average. For example, 1 kg of metal filled filament is a lot shorter than 1 kg of standard PLA, so any estimation of how much filament is left would be pretty inaccurate in that case. It could be good for where they know exactly what filament it is, such as for Bambu RFID tagged filament.

I’m wondering if there is an encoder that could be relatively easily installed to measure filament dispensed from each spool in the AMS. It would be pretty easy to bring that info into an Arduino or Raspberry Pi processor to calculate remaining filament. I’m speaking theoretically, as my P1S hasn’t even arrived yet.

Why can’t there be a calculator based on an initial number for example you start with a 1KG spool and each print gets deducted from the total by the number that is estimated to be used based on the slicer. That will keep a close count of what is left.

I’ve thought about this a lot. I even started to make a filament counter. I see two huge Issues.

First: When you use the AMS, you have to have an encoder for each spool. Even a single encoder won’t fit inside the AMS, certainly not 4.

Second: When you change spools, the accumulated total goes out the window. I change spools often.

The problem is all filaments have different densities, so the lengths will be different.
Bambu ABS 1.05g/cm3, a new roll is almost level with the spool rims.
Bambu PETG 1.25h/cm3, a new roll looks like it’s 3/4 full.
Bambu will compensate for this on their materials. So it’s bit more complex to implement on non Bambu filaments.

you don’t need to know the exact weight of the spool to know how much is left. It can estimate how full a spool is even if it’s not a bambu spool, so the RFIDs are irrelevant too.

The AMS knows how much filament has been pulled through the gears and it knows how much it’s rotated the rollers. When the spool is full you need to rotate less per CM of filament. When the spool is empty it needs to rotate more. It’s constantly adjusting how much it spins the rollers to get the right amount of filament off of the spool. That’s how it can make a guess at the amount remaining.

There are only 4 dimensions needed to do the calculation of how much is remaining (the length, not grams).

  1. filament diameter
  2. spool’s outer diameter
  3. spool’s inner diameter
  4. spool’s width.

If you keep a memory of filament pulled relative to roller rotations over time you can actually do away with the width dimension.

We just use a set of scales and an empty reel to calculate how much is on the reel. We then write that weight on the side so if we’ve got a weekend or overnight job we can put in a used roll with enough material. This is of course as we don’t have an AMS.

Hi everyone,

I don’t use the Bambulab filaments because always lack of stock.

I have different solution for this.

In my case I build in excel sheet and some tables with all filament that I have in stock, if I print something with a specific filament I just write it from the slicer to excel how much it will be used. Of course you also need proper destiny of the filament in the slicer.

The rest remaining filment is counted by excel. There some tolerances but for me it works and at this moment I am satisfied.

I just need to remember to put every print in the excel table :sweat_smile:. Rest is done by magic excel.

P.S. I don’t have a bambulab farm printers.