Update 9/2/19: I added a taller version that is easier to read but requires a bit more set up the first time. I added a .3mf to get you started. This prints at 0.5 layer using a 0.4 nozzle. It works. I definitely recommend this version. See below for how to use. I added a 5 color gcode for easy option.
This calibration tool captures every permutation of color transition from 2 to 5 filaments in a single object. Print this to determine how much bleed is occurring beyond minimum purge and read the results off the print to set the correct purge volumes. I tried to use the smallest amount of filament possible: including wipe tower, only 1.75m total for all 5, and it prints quickly. This same object can be used to check 2, 3 or 4 color combinations with a simple cut in the slicer, as increasing color combos are strictly higher in the object.
Background: the nozzle contains 40-50 mm^3 of melt which needs to be purged when a new color is loaded. But it does not act as strict first-in first-out, so while most is pushed out quickly, some residual takes longer to drag out with the new color. If the prior color pigment was strong, it can noticeably pollute a newer weaker color for a bit, for example black to white, so extra purge is required. PR sets very conservative values, but this creates a lot of unnecessary waste.
NOTE: This calibration tool only works for 0.4 nozzle
Exact Print Settings for standard version (do not deviate):
0.3 draft layer height
0.1 elephant foot
For only 2 colors: cut at z=1.1
only 3 colors: cut at z=2.3
only 4 colors: cut at z=4.1
keep lower only
Exact Print Settings for 0.5 tall version (do not deviate):
copy your MMU printer profile and change extruder nozzle to 0.5 (required to fool checks)
it should ask you to replace all 5 extruders, say yes, or do it manually. Save as fake0.5 profile
copy the 0.3 draft print profile and change (in this order or it will fight you):
under 'dependencies' compatible condition, change last 0.4 to 0.5
under 'advanced' change all width to 1mm
0.5 layer height
(save this profile to fake 0.5 layer for future use)
Alternatively, use the .3mf file which contains these fake profiles
after slicing, should look like the second picture above with straight gap fill on bends. This is important.
For only 2 colors: cut at z=1.7
only 3 colors: cut at z=3.7
only 4 colors: cut at z=6.7
keep lower only
If you cut, you will have 1 extra color, so replace last extruder with first extruder
important: slice once to create wipe tower, then position just front left of tower (see first picture). The 3MF file does not place the object for you, only the wipe tower. And if you cut it moves also, so you must reposition. You want it left (green arrow) farther than it is in front (yellow and purple arrows). For the tall one, position in corner of middle square as show in second picture below. This guarantees tool path will start on the leader and deliver correct amount of filament per bend.
NOTE: there seems to be a bug in slicer for nearest seam. I occasionally see it not start at the end for the first color change. You can confirm using a gcode viewer to make sure it starts on the leader after the first trip to the wipe tower.
assign extruders to the channels you are checking
set all purging volumes to: unloaded = 0, loaded = 50
NOTE: there is a thin bridge between the two blocks that will disappear when sliced. This is by design and just keeps the colors aligned during the slice.
The tool is essentially a supplemental wipe tower carefully constructed to allow you to measure color bleed. It represents an additional 50 mm^3 of purge. The color bleed happens in a small span so it is not possible to scale up for easier usage. As such, it is small and takes some practice to use, but gets easy after a few tries.
There are two blocks, the front is A and rear is B. These are organized so that the MMU slice will stagger paired colors and works through every transition. See reference chart below. By positioning correctly relative to the wipe tower, the tool path will always start a new color at the right rear of each block leader. Each bend represents an additional 5mm^3 of filament (see first photo).
After printing, use a jeweler's loupe or take a good digital macro shot (I recommend w/ flash) of the ends of each block (see example photos of 3 color print at bottom). Look to see which bend starts to look like the color of the above it. You may have to go around to the backside if the bleed is long. See first example photo. Layer 3 is supposed to be orange, but it coming from a strong blue and stays polluted through first 5 bends. It clears up on back side (second photo) around bend 7 (+35mm^3). Other color transitions are shorter.
Once you decide the last bend, add another +5 for margin. Here is what I found:
group by starting color:
blue -> green. +25 +5
blue -> orange. +35 +5
green -> blue. +10 +5
green -> orange. +5 +5
orange -> blue. +5 +5
orange -> green. +5 +5
Back to purging volumes in slicer, I change the unload for each color to the max found to compensate:
Compare these to stock values of all 70, 70.
If you find a large discrepancy, you can switch to advanced purging volumes and enter each individually. For example, above if blue->green only, say, +15, I wouldn't want to waste so much setting to +40 and I'd change advanced: from =15, to =50.
If you want, you can print a second to confirm and it should be clean.
For the careful observers, in the example below, you will see I mistakenly cut one layer short, should have had 7 layers. Still works, but top blue layer of block A has no reference above.
I added pictures at bottom of tall version, showing that it is easier to see the color pollution and find the transition.
Anyone else see the optical illusion of the photo below, where it looks crooked?
place 0.5 block in corner of middle bed square as shown
front of standard version
back of standard version
front of 0.5 layer tall version
back of 0.5 layer tall version