The Filament Buffering Problem

I’ve been thinking about a 3d printer filament buffer for a while, but haven’t really made the time to actually solve this problem, mostly because my multi-material printing has, to date, been pretty minor.  That’s not to say I haven’t been using my MMU, only to say that so far my prints have primarily needed tens of tool changes rather than hundreds.  At this scale, my “non-buffer” buffering solution worked reasonably well.  I’ve only had one or two jams, and it wasn’t that big of a deal.  Well, I decided to try a “big” project, and printed some miniatures with soluble supports which resulted in 216 tool changes.  This, I found, is why the filament buffer exists.

Though I have the Prusa MMU2S, I was a bit unhappy with the filament buffer that ships with the unit for a couple of reasons.  My biggest issue is that loading and unloading filament is really a pain, and I change my filament a lot (like, almost for every project), so it turned out to be more worth it to simply not use it most of the time.  But, with this latest experience, I decided I wanted to take the time to actually figure out a workable buffer solution.

I’ve been playing around with a vertical solution in my head for a while, which is why my initial idea looked something like this:

The core idea here is to start with the no-buffer solution, and allow the buffer itself to be added/removed based on need and ease of loading.  This is useful because it’s basically “frictionless” in the normal flow – the filament has a straight shot from the entry hub to the exit hub (assuming I’ve done my job of lining it up right and doing the math correctly).

After playing around with that, and then realizing I didn’t need it to be vertical to achieve what I wanted, I ended up with this horizontal version:

In the horizontal version, I ended up changing the interior of the hubs a fair bit (more math!  Partial torii in three dimensions!) and adding a few new features there.  These are mostly quality-of-life things like PTFE tube stops and cones to help guide filament into the tubes when it has any kind of end-glob on it.  I also added a hole to feed through the old screw hole on the buffer itself, so that the buffer could be latched into place, but still be released easily – This is designed to be something as simple as an Allen wrench (of which I have plenty running around).

After printing a test model, I have a laundry list of changes, but I’m optimistic I’ve got a general form that’s going to work.  The real test though, will be printing a model with lots of tool changes, so we’ll see how that goes.