cjbaar / prusa-mmu-12x

Modified Prusa MMU2/3 model for up to 12 filaments
151 stars 18 forks source link

Prusa MMU2/MMU3 Modification for 12 Filaments

Overview

This is the result of several months of designing and testing new ideas for increasing the filament count of the Prusa MMU2S. (And then more testing and re-designs for the MMU3.) I tried several variations, but ended up coming back to something that is largely based on the original Prusa model. Some of the major adjustments include:

As of October 2024, this project has been updated to include the MMU3 with the Mk4. New features now also include:

The Disclaimer

These items and related code are provided as-is, with no warranty -- express or implied -- and I cannot personally guarantee that it will function and/or not break your printer. Nothing here, of course, is officially endorsed or supported by Prusa.

(That being said, I -- and others -- have had a great deal of luck using this model, or I wouldn't be sharing it.)

Software & Firmware

The Good News

Prusa has completely re-written the firmware for the MMU3. It is incredibly clean and organized, and makes wonderful and proper use of configuration variables. (Thank you Prusa!) We no longer need to use custom firmware anymore, for either the MMU board or the printer itself!

You can use the config.h file provided here, and do your own build with the Prusa MMU Firmware repo. I would generally encourage you to become familiar with the build process if you want to proceed with this project. I will probably not be compiling this into every new version that Prusa releases. However, you can download a compiled version of the current (as of now) 3.0.3 firmware here, or view my firmware fork here.

NOTE: This version of the MMU3-12x will function exactly like the stock Prusa MMU3, as it is entirely their firmware with a few different distance numbers. It will use the new communication protocols, and report error messages back to the printer screen. I personally found my interface "tweaks" easier to use and understand, but this keeps things simpler. With the amount of work Prusa has to the stock code, it just doesn't make sense to try re-writing it anymore.

The Potential (Unknown) News

At the moment, flashing the MMU firmware is a relatively simple process, and the current printer firmware does not block filaments above slot 5 -- even though it does not understand how to process or access them from the menu functions.

As of now (Oct 2024), Prusa is currently working toward a firmware model wherein the printer will retain a copy of the MMU firmware, and be responsible for updating it as necessary. I have no idea how those changes will affect the ability to side-load custom firmware onto the MMU directly. If we have to get into changing the printer firmware itself, things become more complicated. We will have to wait and see for now.

Hardware

Printed Parts

Print one of each included STL file, with the following exceptions:

I printed all parts with on a Prusa Mk4 using the "Structural" input-shaping profile. All are printed with 0.2mm layers and 20% infill.

I also print everything with PLA, because I get better consistency and tolerances for bearings and general fit. In my experience, printing the same model in PETG (or other material) may make some pieces harder to fit together.

For the "lower" model, there is a related mod file, which I recommended printing with 100% infill. The selector cap might also need to be 100% infill.

Additional Parts

The following pieces are required for assembly. Items in italics may not be included in the original Prusa MMU3, but should be easily found on Amazon (or your world-domination retailer of choice).

Lower

Upper

Idler

Microcontoller Unit (MCU)

Inlet

Selector

Brackets

Images

Testing

Full setup with spool rewinders from VincentGroenhuis

Output

A successful 12-color print.