Ultimaker 2: Dual Extrusion with switching principle (UM2s)


CNC Router
CNC Links

Resin Printer (DLP)
UM2 Dual Extrusion
UM2 CoreXY






VB6 - 3D
VB6 - Simulation
VB6 - Games
VB6 - Other
VB6 - Outsourcing


Valide CSS!
Time to upgrade my UM2 to dual extrusion printer. I got this switching mechanism idea already a year ago, but never took time to realize. Since the first tests seems to be promising, it's time to share this upgrade.
It's working with a simple cam-plate, which is moving both nozzles at the same time. The cam-plate is bi-stable, by using the existing springs which also hold the teflon isolator in place.

Benefits of this modification, besides enabling 2 material prints:
  • Simple modification on the existing hardware
  • Switching is done above bed clips, so no loss of additional print space
  • Modification works both on UM2 and UM2+

  • Of course you will need a second extrusion train. Besides that, the good news is, the most important parts to be modified are already in your UM2. Basically you need to cut the bottom-plate in half, creating 2 levers. Modify them, so they could rotate. Bolt a bearing (W 627/3-2Z) on the front side of the top plate, used for the switch plate. The only part left is the cam-plate.

    In my case it's a laser cuted PS plate. It surprisingly surveys already multiple days, none stop printing with 240 degrees nozzles & 70 degrees heated build plate.

    Then on both sides of the printer, you need a 'switching-block'. Just a simple printed part should do the job. An other interesting working solution: use the UM side bearings as switching location. Then you only need a 'X' movement to do the switching action. But I leave this to your own imagination.

    The most important thing in the firmware, is tell your UM2(+) to use a second nozzle. There are different options:
  • DIY: so download the right Marlin firmware from Github and change the number of extruders. If you don't know how to do this, search the UM forum for more info.
  • There might be a second option, using the Mark2 firmware & software. This community is quite active, so I guess you could get support from them.
  • You might try my Marlin copy. Changes I made:
    file: configuration.h
    #define EXTRUDERS 2
    file: UltiLCD2_menau_print.cpp:
    #define HEATUP_POSITION_COMMAND "G1 F12000 X110 Y10"
    Prime position = "G28 X115 Y10"
    Pause position = "M601 X115 Y10 Z%i L%i"
    These positions are changed, so when you do switching in the corner, you don't want to hit these positions while priming/pausing..

  • For the first trial I'm using the 'old' Cura 15.04 version and created a VBA-program (Excel) to modify all 'T0' and 'T1' commands, adding the right switching movements. Now all updates & modifications are done, it's time to start the first dual print.

    A colleague helped by creating nice Cura 3.x machine defintions. It's a mix between UM2 & UM3 settings. Just copy the cura definition file and move the files in the right directory of your cura install. With every new Cura installation, you have to do this again.

    Still going strong, during this longer test: Dragons egg.
    Print: 0.1mm layer height; PET white and PLA gold; buildplate 70 degrees.
    Slicer: Cura 2.4.

    Now the dual color printer is ready, it's time to print something... So I designed some duplo compatible characters and printed the name of my new born son.
    Printing took about 7 days none stop printing (0.1mm layer height), w/o any switching problems.
    Uploaded most characters to thingiverse and youmagine.com.