Dual extrusion system for Creality printers AKA: “The Rocker”

(1 customer review)

Suggested Price: 3.00

Minimum Price: 0.00

Summary

This mod transforms a standard Creality printer, like the Ender 3 pro, into a dual extrusion system. This mod works different than the dual extrusion method currently available like the diamond hot end, parking extruders or a servo system. This mod uses two ramps at each opposite end to flip from one extruder to another. This makes it easier to implement, it switches fast and it looks cool. Because it uses two separate hotends it’s possible to use two different materials at different temperatures and different nozzle diameters.  This does however reduce the build volume in the X direction by 15mm before it starts to flip when using a single extruder. The build volume is reduced by an additional 35mm when using both extruders, but this is inherent to a dual extrusion systems with two hotends.

I made this design for the Creality Modification Masters contest and I’ve made a video about the process.

PROPER PRINTING PROVIDES THE SOFTWARE AND DESIGNS TO YOU “AS IS” AND WITHOUT WARRANTY OF ANY KIND, EXPRESS, STATUTORY, IMPLIED OR OTHERWISE, INCLUDING WITHOUT LIMITATION ANY WARRANTY OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE OR INFRINGEMENT. NO ORAL OR WRITTEN INFORMATION OR ADVICE GIVEN TO YOU BY ANY PROPER PRINTING EMPLOYEE, REPRESENTATIVE OR DISTRIBUTOR WILL CREATE A WARRANTY FOR THE SOFTWARE, AND YOU MAY NOT RELY ON ANY SUCH INFORMATION OR ADVICE.

On a less formal note: Don’t hold me responsible when you destroy your printer or set your house on fire.

Print settings

Printer: Heavily modified CR-10 S5 and Creality Sermoon D1
Rafts: Yes
Supports: Yes
Resolution: 0.2
Infill: 30%
Filament: Luvocom Nylon (CF) by 3D4Makers

Notes:

I’ve used this Nylon because this gives the best stiffness and low friction. However, my prototype printed out of PLA worked as well, but this is not recommended in a hot environment. The cold part of the hotend should be cold enough for PLA, but I haven’t tested this with the fan duct I made. So please double check this, otherwise the hotend plates must be printed out of ABS. This is a small part so I recon that this is printable on a standard printer.

Mounting instructions

The video shows in a nutshell how this mod is mounted. The download contains a bill of materials together with an exploded view which can be used as reference and to purchase the parts needed. Things you have to keep in mind while mounting this are:

  • The belt is mounted at the top of the gantry meaning that the X-motor must rotate in the opposite direction. This is taken care off in the modified firmware provided with the download.
  • There are two versions of some parts; with or without brass inserts. The inserts I used are these by Onkenhout, but a standard m3 insert would work fine. The parts without inserts have 2.5mm holes so you can tap them. If you go this route I’d advice to use some Loctite Threadlocker or regular super glue if you don’t mind breaking it apart.
  • The outer V-slot wheels in the rocker require standard m5 washers. Place them with the “nice side” towards the wheels. This is a bit of fiddling, but with a standard screw driver this is not too hard.
  • To determine the position of the tilter at the end:
    • home the X-axis
    • move it to the end using the controller, so 220mm
    • swap between hotends manually
    • mount the end tilter close to the right wheel

Firmware upgrade

The board that I’ve used for this mod is the standard Creality V2.2 mainboard. However, this does not come with a second extruder motor driver and I was able to place it myself. You can find the same board with this driver already equipped here. However, this is not the best bang for your buck so another dual extruder board would be recommended. If you want to use this board, you can just use the firmware provided with the download. If not, these are the changes that I’ve done in the firmware to get the nozzle swap to work with this mod:

Configuration.h

  • Line 146: #define EXTRUDERS 2
  • Line 254: uncomment #define SWITCHING_TOOLHEAD
  • Line 274: comment out //#define SWITCHING_TOOLHEAD_Y_POS            0
  • Line 275: comment out: //#define SWITCHING_TOOLHEAD_Y_SECURITY       0
  • Line 276: comment out: //#define SWITCHING_TOOLHEAD_Y_CLEAR          0
  • Line 277: #define SWITCHING_TOOLHEAD_X_POS          { -35, 220 }
  • Line 318: #define HOTEND_OFFSET_X { 0.0, -35.00 }
  • Line 421: #define TEMP_SENSOR_1 1
  • Line 1085: #define INVERT_X_DIR true
  • Line 1121: #define X_BED_SIZE 220
  • Line 1122: #define Y_BED_SIZE 220
  • Line 1168: comment out //#define FILAMENT_RUNOUT_SENSOR
  • Line 2402: uncomment #define NUM_SERVOS 3 // this has no purpose
  • Line 2407: #define SERVO_DELAY { 100, 100, 100 } // this has no purpose

Configuration_adv.h

  • Line 2021: #define TOOLCHANGE_ZRAISE                 0

tool_change.cpp (found in srcmodule)

Comment out everything below line 393 // 1. Move to switch position of current toolhead and above line 417 #elif ENABLED(MAGNETIC_SWITCHING_TOOLHEAD) except for:

  • Line 395: DEBUG_POS(“Start ST Tool-Change”, current_position);
  • Line 397: current_position.x = placexpos;
  • Line 406: DEBUG_SYNCHRONIZE();
  • Line 432: current_position.x = grabxpos;
  • Line 434: DEBUG_SYNCHRONIZE();
  • Line 435: DEBUG_ECHOLNPGM(“(3) Move to new toolhead position”);
  • Line 436: DEBUG_POS(“Move to new toolhead X”, current_position);
  • Line 438: fast_line_to_current(X_AXIS);
  • Line 442: DEBUG_SYNCHRONIZE();
  • Line 468: DEBUG_POS(“ST Tool-Change done.”, current_position);
  • Line 470: }

I’m not an experienced programmer so some things might not be the best solution. It works for this design and suggestions are always welcome!

1 review for Dual extrusion system for Creality printers AKA: “The Rocker”

  1. David

    Genius design! I just have to find some time, and then I’ll try this out. Thank you for sharing and congratulations to the well-earned award!

Add a review

Your email address will not be published. Required fields are marked *