Ideas on boosting speed for multi-color printing with AMS

Oups, thanks to pointing this out, I am too lazy to redo this stuff, but the global idea is still ok.

EDIT : I have used a chronometer with count turns (global time and each turn time), so normally the other times should be good.

1 Like

I succeed in printing TPU from the AMS (I have to set it as PETG… because if not the studio does not enable to use TPU from the AMS)

Dont know if the modification play a role, but it work !

Note: I make it using a Hub (and not simple buffer) as I got two AMS, but I did the same that I showed before, reduce as much as possible the PTFE and let the Hub not fixed and flying in the air.


This is awesome! Thanks so much for sharing your adventures :+1: we really appreciate it.

I have some Capricorn but I don’t know if it’s enough so I may order more, but I’m going to try this.
Thx again!

Be careful, It is still not reliable, problems wont be solved by capricorn, it still stuck sometimes, I am looking for a hardware fix .

The main, maybe the most important issue is with the output motor of the AMS, it act exacly like an extruder on a bowden printer, problem is that like most extruder it use a spring wich is set very strong, so for rigid material, often on extruder with a spring you release the tension when printing TPU or any flexible filament (but reducing filament path is already a good thing, requiere less force, exacly like a bowden printer).

I have fully disassembled the output of the AMS with its motor, wich could be painfull for some, if you try, dont touch to the four hall sensors !! it is not the problem and it took me more than a hour to fit all the parts back (4 springs + 4 magnets which are jumping everywhere :))

I am doing some tests on differents spring tensions, as well as some other tests, I will update this thread if I found something that can really make it reliable.

Spring removed :

Less tension, well I had no other choice than cutting it :slight_smile:

Unfortunatly this is not the best design for an extruder…

Oh, I know, but thx. I’m fully capable of reversing it (minus welding the cut spring back together LOL).

I’ve lots of experience with those, good analogy.

I’ve lots of experience with that too!! :stuck_out_tongue_winking_eye:
It’s amazing how a tiny part can suddenly vanish off the workbench, which in my house makes it a cat toy at a future date …

I can wait, I’ll be around, look forward to your progress, thanks for all the pics, you’re the best. Mine come out cr@ppy … Can’t be good at everything, eh?

Indeed. I was surprised they didn’t go with something more like what Bondtech is doing. I suspect it won’t be long before someone on AliExpress does an extruder replacement for our machines like they did with the CHT stuff. A Bondtech clone would be killer, eh?

Have a great day!


I am sure it is doable to re-design that part with 3d printing, the main idea would be for me to separate it three functionalities in three separated parts ;

  • filament detectors : 4 hall sensors
  • the speed detector
  • the extruder

Made a new longer power cable from the P1P to the AMS
so I could mount the hub buffer where ever I wanted.

I mounted hub on rear of AMS for now, this could change.
The way the PTFE comes out of the AMS there is no way
too avoid a 180 degree bend somewhere. They couldn’t
have picked a worse exit for the PTFE, in the middle
and going upwards.

Total length of PTFE 55" before the mod.
Color filament change before mod 1:55 minutes.

After mod total length of PTFE 31", 24" shorter.
Color filament change after mod 60 seconds.

No other mods were done to the filament gcode at this time.

That would be savings of about an hour in just 100 color filament changes.

More than just saving time I wanted to get more reliability out of a shorter PTFE run
and not get that dreaded unable to retract filament error.

Time will tell but after running a print of over 250 filament changes
last night everything ran and finished without a hiccup.

1 Like

It is not so much as an extruder as it is a feeder, which is more than sufficient with a plastic housing and single gear to run with no expected resistance.

Maybe make a stand that puts the AMS next to the printer, then mount your hub directly to the outlet of the AMS so the filament continues it’s normal path going up, then a gentle curve to the printhead - remove the tubing from the gantry.

If you were feeling really frisky, get some brass or copper tubing that is a 2mm id and use that for your fixed lines and curved/elbows. Just don’t kink it.

1 Like

You should not have any issue, If you look at how much I have shortened and bended it on the picture I have posted, it is working for some time now without any issue.

Also note that the buffer can stand in the air, it does not requiere to be fixed.

The buffer is just made to shorten the total PTFE length by about 4cm/5cm, it virtually change the PTFE length from AMS to hotend while hotend extrude, and when it have shortened it by 4cm it send a signal to the AMS to push 4cm more filament (and it expand the virtual length of the PTFE of 4cm).

And the hub works exactly the same except it have 4 hall sensors to detect wich AMS is in input.

EDIT: also the output motor of the AMS is really strong, but has it work exacly like an extruder, it have a spring that tension the gear onto the filament to push/pull it, you may encounter same problem than on bowden extruder : too less tension, filament is slipping, too much tension, filament is eaten or even breaked depending on material

I may be misunderstanding you, but I believe the buffer and hub is designed to account for different motor speeds between the actual print head extruder, and the AMS feed so you don’t get excessive back pressure or dragging between the two (or 4) units. Not simply shorten the length of PTFE tubing.

ETA @DzzD and @leenanj - Awesome work on experimentation and implementation. People like you is what drives the process forward into a better system.

1 Like

Eventually, I think we are talking about the same thing, by virtually reducing the length of the filament path (PTFE) from the AMS to the hotend it reduce tension (it adapt to the length of the filament inside until a certain threshold, about 4cm, and it do it again and again).

I just thought that talking about “Virtual reduction PTFE lengh” is a good analogy to understand how it works.

Conceptualy if you think af a PTFE that would change its length, this is like if the PTFE is always the good/same length of the filament inside, there is no tension.

But it cant be done indefinitly, that’s why filament is feeded sequencially.

In the mean time :

I have unassembled my AMS a last time (I did it yesterdays maybe 15th times, making some little change each time, I give up…)

My conclusion is that it wont be possible to make something really 100% reliable only with hardware and without access to the firmware/software.

Problems are differents with lite or heavy(full) spool, they also differ with different tensioning of the ouput motor spring etc… to many variables.

IMHO, feeding of TPU filaments have particularity that should be taken into account at the software level.

An idea for Bambulab :

  • Make a box of only one spool that can be pluged directly into the hub and wich can use all tricky filaments : TPU, reinforced filament, spool size…

You will make money and we will be happy :slight_smile:

There is still a last hope, which is to find the good “TPU” filaments with the right spool. I think that some may work reliably (mine works, sometimes… and I was able to make two print using PLA+TPU, but it failed more times than it succeeded)

I will maybe make a dedicated thread about this part of the AMS as I have learned tons of interesting things, for instance “did you know they used antivibration fixation for the output motor ?”


You really shouldn’t lie so blatantly here. :stuck_out_tongue_winking_eye:

That’s nice work!

LOL! Not such a bad idea. At least you’d never have to worry about it ever needing replacement from wear, eh?

Ok I think that I understood why unload is slower than load, Unload is mainly driven by spool rotation, while load is mainly driven by Output motor, at least this is what I understood.

This is probably a cause of malfunction with TPU, in instance loading TPU works just fine on my AMS (maybe it is also due to the reduction of the spring I made, dont know), but unload always fail now.

@ThanksForAsking this is not the end of the game :wink:

EDIT : you can check it by handling the spool in your hands, If you keep the spool into your hands, it will not make much trouble for loading filament, but unload will fail.

1 Like

Does anyone know, will the buffer hub work in any position? I am thinking it should since it’s spring loaded.

But back to the topic, below is the first and easiest modification I would suggest, it work with the single AMS buffer as well as with the multi AMS Hub.

The only requirment is to let few centimeters so the buffer can expand/retract (4/5 cm), also you must not put tension on it or it will be always expanded, and it wont works as excpected.

Obviously I need to design a cover now :slight_smile:



This is my setup for my AMS. It’s the shortest I care to make it. I have zero issues with filament feeding.

My AMSs are situated to the right of my printer. After six months I am still on oem parts for my printer, hub and both AMS. Yes I have many spare parts. :smiley:


hm… help me think, please: my issue looks like filament is pushed back faster than the spool spins… in fact: the spool stops while the fila comes out and the fila then goes all over the place inside my ams and strangles the next spool, when pulled back… so, it is hard for me to understand: unload is driven by the spool rotation? (really like your approach here, so thanks for your input here…)

(deleted re-posted below)

1 Like

Well, I said something not clear & partially wrong, unload is not directly driven/pulled by the spool rotation, but the filament maximum speed must be lower than the spool when unloading (this is not as much important for loading filament, and loading do not require that the spool rotate, that’s what I wanna say), If not everyone would get a tangled spool.

Your best option is to find why your spool does not rotate well or why it get stuck, do you use Bambulab spools ?

(I got a silly/dumb idea that may work… use an external spool holder but plug the filament in the AMS feeder as usual, obviously this isconly a workaround if the problem come from one spool you absolutly want to use and if you are unable to put its filament on another spool )


Ok I manage to be at 45s for 400mm³/s of volume purging between two brand new filament spool of 1Kg each, and the smallest possible purge tower I can (2mm with and 1mm³ of purge)

Fulshing volume : 400mm³

  • Filament change start : 0.0s / 0.0s
  • Filament cutting (T gcode) : 10.3s / 10.3s
  • Filament unloading : 5.67s / 15.97s
  • Filament loading : 9.26s / 25.23s
  • Purging the filament into bucket: 16.65s / 41.88s
  • Printing the purge tower : 2.50s / 44.38s

Notes :

  • The first ten seconds cannot be changed, it is all in a single gcode TX (T1, T2, etc…)
  • Loading & Unloading depend mainly of PTFE length and spool weight, I doubt it can go lower than what I have
  • I have higly improved the purging speed (and also some other gcode), dont think much more can be do (I will do a merge request to the BambuStudio GitHub ASAP, and I will publish an article about it on Printable.
  • Prime tower can be removed in some cases, or it could be a lot speeded up (actually purge tower is printed really slowly)
  • The full time include a cupple of little instruction that may be improved to gain some other precious seconds.

All in all, I think that 45s between two spool of 1Kg making 400mm³ of purge + a purge tower, is near the best we can achieve.