The Trials Of Trying To Build An Automatic Filament Changer

Running out of filament mid-print is a surefire way to ruin your parts and waste a lot of time. [LayerLab] was sick of having this problem, and so sought to find a proper solution. Unfortunately, between off-the-shelf solutions and homebrew attempts, he was unable to solve the problem to his satisfaction.

[LayerLab] had a simple desire. He wanted his printer to swap to a second spool of filament when the first one runs out, without ruining or otherwise marring the print. It sounds simple, but the reality is more complicated. As an Australian, he couldn’t access anything from InfinityFlow, so he first attempted to use the “auto refill” features included on the Bambu Labs AMS 2. However, it would routinely make filament changes in outside wall areas of a print, leaving unsightly marks and producing poorer quality parts.

His next effort was to use the Wisepro Auto Refill Filament Buffer. It’s a feeder device that takes filament from two spools, and starts feeding the backup spool in to your printer when the primary spool runs out. Unfortunately, [LayerLab] had a cavalcade of issues with the device. It would routinely feed from the secondary spool when there was still primary filament available, jamming the device, and it didn’t come with a proper mounting solution to work with consumer printers. It also had bearings popping out the top of the housing. Attempts to rework the device into a larger twin-spool rig helped somewhat, but ultimately the unreliability of the Wisepro when changing from one spool to another meant it wasn’t fit for purpose. Its feeder motors were also to trigger the filament snag cutters that [LayerLab] had included in his design.

Ultimately, the problem remains unsolved for [LayerLab]. They learned a lot along the way, mostly about what not to do, but they’re still hunting for a viable automatic filament changer solution that suits their needs. Filament sensors help, but can only do so much. If you reckon you know the answer, or a good way forward, share your thoughts in the comments. Video after the break.

16 thoughts on “The Trials Of Trying To Build An Automatic Filament Changer

  1. I’m surprised that 1KG spools still seem to be the norm, and most machines spool holding capabilities are built around such spools. I’m sure it’s time that bigger spools became at least an option. I realise this only reduces the issue, without actually solving it. I also know that bigger spools exist, but they’re very uncommon.

    1. Personally, I think 1kg is a good size because I like to have a large stock of materials and colours, plus it’s about right for filling the build volume on the average printer at a reasonable wall count/infill.

      Most major manufacturers that I’m aware of do 2kg spools, you just are limited in colour and material selection because the target customer for them is less concerned with that.

    2. I prefer the 3.5kg spools from Atomic but they tend to be limited on colors sometimes.

      My printer I built to be able to hold either spool size on the same mount. Frame strength isn’t an issue in my case so the big spool doesn’t effect anything.

      At one point I was talking with Crunch about buying one of the big master spools (40kg IIRC) but that would likely require a prefeeder of some sort since I doubt the extruder could spin it.

  2. If you cant buy larger spools of the needed filament, respool the 1kg spools onto a larger 2+kg spool and filament weld the ends so it is continuous. Still not perfect, but a 5kg spool should be able to not run out on almost any printer unless you’re using a Giga.

  3. If their only issue with AMS usage was the risk of swapping in the middle of an external wall and causing an artefact, then there simple solution would be to just add the layer-swap GCODE at a predetermined location instead. Like with a colour or material change, but you just ‘swap’ to a new roll of the same filament.
    No new hardware needed, and the functionality is all already there in the existing software.

    1. Yeah I hate to say it but I think that was a cop out on why they couldn’t use a filament changer. There’s a few options that actually work fine. I have a Box Turtle that works great, once kinks get worked out.

    2. I think some custom gcode in klipper, postprocessing the gcode to call that custom gcode at good swap points (e.g. when doing infill) would do the trick? This custom gcode would check the runout sensor (which should have a large amount of buffer space) and see if a runout has been found and use the MMU to swap. This way you only swap at a good point, but don’t have to know where to put the swap.

    3. How would that location be predetermined? I understand some filament changers can estimate the amount remaining on the roll, but would that be accurate enough? On the MMU2, if you don’t swap basically immediately when the filament sensor at the MMU detects being out, there is not enough filament in the path for the extruder to make the filament reach the mmu’s hobbed gear.

  4. Place identical spools in the AMS.

    If it prints five different colours or materials just load one type.

    Trying to create a solution for a problem that doesn’t exist.

    1. I think the problem they’re trying to solve is what Id call “waste reduction”. It seems they want to be able to fake joining the end of 1 spool to the beginning of the next, so that from the extruder pov it’s all the same spool. Instead of the print head pausing while the spool is “changed” and having the short piece of filament “too short to print”.

  5. The Bambu AMS filament change system just works. Every time. Now where that happens on a part is indeed chance, but I really don’t see it being a big problem. It certainly won’t “ruin” a part, but you may get a small noticeable mark. Perfection is the enemy of the good. I’d just stick with the AMS.

Leave a Reply

Please be kind and respectful to help make the comments section excellent. (Comment Policy)

This site uses Akismet to reduce spam. Learn how your comment data is processed.