PROJECT: Just How Multi-Material Is The MMU2S?

TL;DR: The "Multi-Material Upgrade" should really be called the "Multi-Colour Upgrade", as printing with different materials requires crazy amounts of purging (>2500mm³) between swaps. If you want true multi-material capability then you need a printer with at least two separate hotends

Following on from my previous post on the MMU2S, I decided to test out just how multi-material it actually is. I did this by printing some PLA & PETG samples, and testing their layer adhesion strength. The reason for this somewhat strange combo is that both PLA & PETG stick reasonably well to each other when being printed, however once the part cools the two plastics are easy to separate. Making them an ideal combo to print 0mm interface supports 

The Setup

Filament used for tests:

Believe it or not but the stock PrusaSlicer (as of v2.2.0) does not have the capability to smoothly transition between different material temperatures. For example, say you want to print PLA at 200°C and PETG at 225°C. With the stock slicer when you change from: 
  • PLA → PETG, the PLA will be unloaded at 225°C, leading to stringy tips
  • PETG → PLA, the old PETG will be purged at 200°C, making it impossible to purge old material
To get around this I recommend using PrusaSlicer 2.2.0 DRIBBLING by antimix, as it allows you to control the load/unload temperature

Below is how the 10 samples were configured in PrusaSlicer, as well as what they looked like when printed:

Finally, to test the layer adhesion strength I made up a simple three-point bending flexural test jig:

The Results

Before we get to the data, I need to first raise a few points:
  1. For the single material layer strength (Single Mode) I manually purged ~2500mm³ of PLA/PETG before starting the print by feeding ~1m of filament though the hotend. This will be considered as the maximum possible layer adhesion strength for each material
  2. The 500mm³ Purge has two data points, one for a purge temperature of 235°C and the other for 260°C. As you would expect purging old PETG at 260°C (loading PLA) helps with PLA layer strength as it's easier for the old PETG to exit the hotend. Interestingly purging old PLA at 260°C (loading PETG) has the opposite effect, I suspect this is due to old PLA carbonising in the hotend
  3. To get the break weight of each sample I recorded the scales display at 1080p 60fps and then played the video back at half speed on my PC
  4. The largest purge volume I did when using the MMU2S is 1250mm³. I decided to stop things here and extrapolate the data I had with an exponential relationship 
  5. Lastly, you might say that PETG is quite a "sticky" material and that it's difficult to fully purge it from the hotend. Turns out that same is true for PLA (and I suspect other materials), as in both cases you need crazy purge volumes (>2500mm³) to fully clear the hotend
With that out of the way, here is all the data I collected:

Outcome & Tips

Basically there is no easy way out when printing different materials on the MMU2S. You need to purge at least 2500mm³ if you want to have any chance of removing the old material (same is true for both PLA & PETG). Turns out the same holds true in the injection moulding world, "General-purpose nozzles have a dead spot in the nose and take about 50 shots to purge clean"

To give you an idea, here is how a 2500mm³ block looks like in PrusaSlicer:

With all that said, if you do decide to use the MMU2S for multi-material prints then I highly recommend getting an E3D v6 Pro Sock. As earlier on I found that swapping between PLA/PETG creates little beads which if left for long enough merge and grow in size, eventually making a big blob on the nozzle that knocks anything in it's path. Swapping the normal silicone sock to the Pro solved this for me:

So looks like I won't be having 0mm interface supports with my Half-Life 2 AR2 project D:


PROJECT: Prusa i3 MK3S + MMU2S

So... a couple of months ago we got the MMU2S (multi-material) upgrade for our Prusa i3 MK3S, and boy oh boy has it been a wild ride trying to get the thing calibrated... 
The process reminded me of our old Prusa i3v, as it too required a bit of work to get a print up and running, which in the end you still had to keep an eye on to make sure everything was ok

Calibration Troubles

As you might have guessed, the MMU2S did not work out of the box for us. This was mostly due to stringy tips during unloading, which eventually lead to load blockages
I tried numerous things to improve the tip shape, from adjusting the number cooling moves/unload speed/printing temperature, to varying the unload temperature using a Python script. Sadly, none of this helped as much as changing to PrusaSlicer 2.2.0 DRIBBLING by antimix. Which is a custom slicer that adds a "dribbling" motion (think basketball) during the unload

Here is a snapshot of the 30 tests I did trying to improve the tip shape:
Default PrusaSlicer Settings (with & with out the Python script)

HCD profile (with & with out the Python script)

Reliability Mods

I soon found that using a custom slicer was not enough, as I constantly ran into unload issues even when the tips were nice and pointy. The culprit turned out to be the PTFE tube running from the MMU2S to the extruder, which had too small an inner diameter (2mm ID) for the tips to travel freely
Why? Well it turns out that the PTFE tube inside the hotend (different to the one above) expands over time, and this tube also controls the tip diameter (think molten tips being squished into a cylinder). This results in the unloaded tips being 2-2.5mm in diameter which believe it or not have trouble fitting through a 2mm hole ;^)

With that said, here is a list of mods I installed to improve reliably:
  1. Stock (2mm ID) PTFE tubes replaced with 3mm ID PTFE tubes. Left the 5 coming out of MMU2S as stock 2mm ID (to make sure filament does not "fall out" during unload), but did cut them down so that ~5mm sticks out (see below)
  2. Stock MMU2S selector replaced with magnet variant
  3. Chamfered inner edge of Festo fitting (PTFE holder) at extruder to help with flat tips
  4. Replaced stock filament buffer with "gravity assisted buffer" (using M16 nuts as weights). I found that the stock buffer & long PTFE tubes added too much resistance to filament movement, which made printing finer details that much harder (as in areas where small amounts of plastic was meant to be deposited were nearly cavities)

Printing Profile

After heaps (o_o) of tests here is what I settled on:
NOTE: This is for single-material (PLA) printing
  1. PrusaSlicer 2.2.0 DRIBBLING kby antimix
  2. Dribbling temperature -15°C of normal print temperature. For example, if your printing temperature is 200°C then I would suggest setting the dribbling temperature to 185°C
  3. Minimum temperature same as dribbling temperature
  4. Maximum temperature same as printing temperature
  5. Number of dribbling moves to 3
  6. Purge volume at 250mm³

The Outcome

Our first successful print!!!
  • Smiling owl by cipis
  • 5 colours
  • 448 tool changes with only 2 issues requiring intervention:
    • Once due to filament debris from previous print
    • Other due to bad tip with glow in the dark filament (load error)


UPDATE: Kobo N647 Replacement Button Cover

Wife has a Kobo N647 which is still going strong, but recently the rubber button cover has began to disintegrate. So I designed a replacement in SolidWorks and 3D printed it with out Prusa i3 MK3S + MMU2S

This was my first successful "soluble support" MMU2S print, where the body was printed in PETG while the "soluble supports" were PLA. If you have not heard of using PLA/PETG like this, well it turns out that the two adhere reasonably well to each other when printing, and once the model is printed and cooled the two are easy enough to separate. Hence why you can use one with the other to make a "soluble" interface 

As always, you can find all files here


UPDATE: New Etsy Items

My Etsy store has grown a bit :D

3D Printed Muji Gel-Ink Pen Holder

I have been wanting reusable pens for quite some time and a few of weeks ago managed to get some decent fine tip gel pens from Muji. To keep these organised I designed a compact vertical case that the pens "clip" into like so:

Also here are some fancy renders from SolidWorks Visualize. These were rendered in 2018 SP5 using "glass fiber" as the material to mimic the clear PETG look:

3D Printed Christmas Tree

This model was on my backlog for ages, and now it has finally materialised:


PROJECT: Half-Life 2 AR2, Update #4 - Receiver & Barrel Test


Exciting news, I have combined the receiver & barrel assemblies to get a better idea of how things will be functioning together :D

Currently the whole thing is controlled by 3 Arduino Nano's. This may sounds a bit overkill but doing so allows me to run time sensitive modules in parallel, which is a must for the animation sequences
Also, since the previous update the firing/cycling rate has increased to ~5Hz thanks to a stiffer spring. I can push it further but I would need to increase the PWM duty cycle, which would make the coil run hotter (think higher average current). This is something I am a bit cautions about as the body is printed in PLA which has a low glass transition temperature (~65°C)
I guess if I don't manage to reach 9Hz then we can call this the AR1.5 prototype ;^)

Couple of closing notes:
  1. I plan to print the final model in PETG which has a higher glass transition temperature (~80°C), so will have the option to push more current through the coil
  2. I want to try using a couple of sensors to get the firing pin position, this way I won't be purely reliant on PWM as I could simply switch the coil off once the firing pin has reached the end


PROJECT: Half-Life 2 AR2, Update #3 - The Waiting Game


Progress has been quite slow thanks to the hectic period we are in (I'm looking at you COVID19). You would think that working from home would give me more time to work on projects, but being stuck inside for a big portion of the day is quite mentally draining....

But getting back to progress, initial tests of the firing pin assembly were quite positive, I could get reliable cycling up to 3Hz (in the game the AR2 cycles at ~9Hz). The big limiter here is the return motion, which can be improved by using a stiffer spring. However if the spring is too stiff then the forward motion will be negatively impacted. So now I am waiting for a bunch of springs to try out

To keep myself occupied I have started working on the magazine assembly. So far I have defined the area that will house all the electronics (batteries, servo, control board...), and am now figuring out the shell movement (from magazine to barrel). Here is how the AR2 is looking so far:

Also, if you have not seen my previous post I have decided to get the multi material upgrade (MMU2S) for my 3D printer (Prusa i3 MK3S). I envision this being crazy useful as it will enable me to print soluble supports, which will make printing awkward shapes (basically everywhere on AR2) much easier


RESEARCH: SolidWorks Topology Optimization

One of the things I have come to realise with my AR2 project is that having a multi-extrusion 3D printer would be crazy useful, as all my prints to date needed support material which unfortunately is a pain to remove. However, with a multi-extrusion printer you can do fancy stuff like print all supports in PVA, which dissolves in water!

Hence, I finally bit the bullet (bad time to be spending due to COVID19...) and ordered the MMU2S upgrade for my Prusa i3 MK3S. But there is a small hurdle, the MMU2S is designed for large (and preferably flat) working areas, something I do not have. So I decided to modify my current work space with a shelf to hold the 5 rolls of filament, and to spice things up I tried using the Topology Optimization feature in SolidWorks to design the shelf brackets. Overall, this produced quite an organic shape that reduced the bracket weight and gave it the best stiffness to weight ratio

The Steps

NOTE 1: I am running SolidWorks 2018 SP5
NOTE 2: Here is an easy to follow tutorial on Topology Optimization in SolidWorks 

  1. Make a 3D model as you normally would
  2. Add a SolidWorks simulation (SOLIDWORKS Add-Ins → SOLIDWORKS Simulation)
  3. Create a new Topology Study (Simulation → New Study → Topology Study)
  4. Select body material (I went with PET as I will be printing in PETG)
  5. Define the fixtures (faces where the body will be held in place)
  6. Add a force as well as it's direction (I went with 50N as at most the shelf will hold 5 1kg rolls of filament)
  7. Add a model goal (I wanted to reduce mass by 40% while having best stiffness to weight ratio)
  8. Specify the preserved regions and depth (I selected the bracket mounting faces and went with a depth of 2.5mm)
  9. Specify De-mold direction (arrow should be pointing towards flat surface)
  10. Create a model mesh (I used a 2mm curvature-based mesh)
  11. Run the simulation
  12. Finally, adjust the target Material Mass and calculate the Smoothed Mesh

The Results

  • Original model: 
    • 74.4g
    • 210851mm³
  • Topology Optimized model: 
    • 44.5g
    • 84013mm³