How to Upgrade CR-10 From Single Extruder to Dual V6 Extruders?

This is meant for people who had some experience with electronics and they know the risk of modifying your printer. It can be used for any 3D Printer but I will be focusing on the CR-10.

The tutorial will start by explaining the hardware parts and at the end, the software installation (Marlin), plus some problems and solutions through the tutorial.


If you are looking for the Marlin file click he re

Step 1: Introduction

Hi everyone, for the past month I was trying to find sources where I can make my Cr-10 print with dual extrusion. However, there is a lack of information on the subject. After all the research I was able to print my first printing with two nozzles, and now that is working I would like to share my work.

This project may take a whole day or a few hours depending on your skills, but I will make sure I put every detail to make it easier for you. I believe the first part of the project is to know how much money and which part you are going to need.

So let get going.

Step 2: Parts

These are the parts that you will need for the upgrade and I add it an extra board. In my opinion, I would choose MKS instead of GT2560 board but these two boards would do the job. I use GT2560 and then went to MKS after I could not make the LCD work and when the LCD did not work with MKS, I knew it was something else. But I find the problem and both of them are really good for dual extrusion.

Step 3: 3D Prints Parts

The rest of the parts are going to be print it with your

CR-10, here is the link: BY Robert Schrade

Just make sure you print these files before you start disassembling your printer.

I made a diagram explaining how to put all the 3d part together.

Step 4: Cable Managment

Here is a diagram of the CR-10 before any modifications. There is going to be some modification that you will need to do to the cable to connect it to the new board so beware.

Step 5: GT2560 Board Connections

Now most of the cables are going to unplug and plug, but the

only a few that may need to change for the board connection.

Step 6: MKS Gen 1.4

For the MKS is going to be the same, but with some differences in connections. Just follow the board's pictures, and you will be fine.

Step 7: Hot Ends Fans

The 12 volts fans that cool down the board and the hot ends do not have a plug for the board, which means you will need to solder female pins for the GT2560 board or the KMS Gen 1.4 . This fans will cool down the board and the hot ends. TheGT 2560 board comes with the best labels that I have seen, KMS not so good, but will guide you on both of them.

  • if you flip the board you can see where the pins need to go. Red is + and Black is -.
  • For the Controllable Fan cable from the CR-10, you just need to plug it in the PWM Fan in the GT2560. This will allow controlling the fans that will cooldown the print.
  • For MKS just cut the cables and connect them where the fan connection is located on the board:

    Red is + and Black is -


Step 8: Heaters and Sensors

  • Both of them are really forward, the only you need to know is the "Heater 0" is the first heater and is going to be the left one and "heater 1" is the second heater and is going to be the right one.
  • For the sensors, you are going to plug them in the X-min, Y-min & Z-min.
    • For MKS, you will do the same, but because this one has three connections for the endstops, you will need to use two of them. The only ones you need are the "s" and "-", you may need to modify the cable connection in order to connect right. I just shave one of the plastics that stick out of the connector.

The only ones you need for the endstops sensors are "s" and "-". Do not use "+" the motors will not move correctly if you do that.

Step 9: Stepper Motors, Drivers and Endstops

  • The stepper motors are plugged and play. The only one that will give you some trouble is the second extruder.
    • For this part, you may need to look at the first extruder and see which cables are needed it for the stepper motor, we only need 4, and the stepper motor uses 6. Just grab the wires that are only need it (check picture)
  • The stepper driver direction matters, you want to keep the voltage away from the connectors
  • For the MKS, holds the voltage screw on the left side or the power connection side.
  • The Stepper Drivers that I like and they are the same as the CR-10 are this make sure you are using 1/16 per step to be in order with the Marlin firmware.
    • To check this type the name of the stepper driver micro stepping online and it will tell you how far can the stepper go, some of them can go as far as 1/32. More than that is not necessary.
    • For the A4988 you can check this link. The pins location will be located on the board between the two eight pins where you put the stepper driver, they are removable, but for this tutorial, you leave them there because the original CR-10 uses 1/16 micro stepping.
  • The end tops are plugged and play, make sure you are putting the end stops on the right axis, or you will have the motor moving a few millimeters everytime away from the axis.

If you have any question you can check their website:


MKS Gen 1.4

Step 10: The Power Supply and Hot Bed

  • This one is simple, just connect the cables that you remove from the CR-10 that came from the power supply and put them on the new board.
    • For the GT2560, you can see at the back which one is positive and which one is negative.
    • For the MKS, is really hard to see which one is positive and which one is negative. From the picture the one on the top is positive, and the one on the bottom is negative.
  • Is essential, for the heat bed you have a black and red cable that connects to a switch which allows for higher voltage. Make sure you put the wire on the right polarity, Negative "-" and Positive "+."
    • You want to make sure you connect the positive with the positive and the negative with the negative.
      • For the GT2560, you can check the board for the positive (red) and negative (black). the top one is negative, and the bottom one is positive.

Step 11: Marlin Firmware

I basically follow this steps from this website:


The only changes I made are this:

  • I download the latest firmware 1.1.8
  • Line (122) For GT2560 choose motherboard 7 for the MKS motherboard 47
  • Line (290) Change from 0 to 1
  • Line (329) Change from 275 to 300
  • from 494 to 501 just leave everything in "false"
  • Line (215) change it to:
    • #define HOTEND_OFFSET_X {0.0, 22.79} // (in mm) for each extruder, offset of the hotend on the X axis
    • this will tell the printer to offset the second extruder 30 mmm from the home point (first hot end)

For the people who don't like to learn the beauty of Marlin here is the li nk for the files, just make sure you use the latest Arduino software or you may get errors.

Step 12: LCD Connection

For some reason, there is a problem with the LCD connection cables, it works great with the smaller lcd but the full RepRap LCD it seems to not work.

For me, I had to flip the connections 180 degrees in order to get the screen to work.

I grind the middle piece of plastic that keeps the cable from going the opposite direction. Just grind and flip the ones close to the board and leave the one in the LCD alone.

After that hack, the screen was working without a problem.

Some errors that I had in the past:
GT2560 does not upload the file: Remove drivers, for some reason the board won't accept the firmware if the board or the LCD is connected.

LCD make some noise but it won't turn on or show display: Flip the connections, you may need to remove the tip of plastic in order to flip the connections. Do not swap the EXP1 with EXP2, just flip it clockwise.

Step 13:

The voltage is something you will need to play with, most of the time the voltage is too high and you can hear the grinding noise from the motors or they are not strong enough to pull the filament.

You will need to have the printer on at this time, just make sure the flat screw does not touch anything than the voltage screw.

  • You need to move the voltage from the stepper driver in order to get the best performance.
    • first, turning clockwise will reduce the voltage
    • you start by homing the printer
    • then you make any axis move 100 mm
      • if you hear any grind sounds, lower the voltage, if the motor is skipping then add some voltage
      • the trick is to not hear the grinding noise but not at the same time have enough force for the movement
    • for the extruder, you will need to add heat to the hotends and extrude 100 mm of filament
      • if you hear it skip, then add more voltage, if you hear the motor grind too much then lower the voltage

Step 14: Simplify 3D Profile

Here is the setting for simplify 3d that I use for my printer. Unfortunate I have not use Cura before, but I'm sure there are enough tutorials explaining how to use dual extrusion with different slicers.

Here is this Youtube video that explains how to use it with Cura and Simplify 3D.



    • Make it Glow Contest 2018

      Make it Glow Contest 2018
    • Optics Contest

      Optics Contest
    • Plastics Contest

      Plastics Contest

    9 Discussions


    Question 4 weeks ago on Step 6

    Hi there, I'm following your Instructions to upgrade my CR-10. Thanks for the Tutorial! However, I'm stucked. I cannot figure out how to connect the cooling fans for the hot end on the MKS Gen V1.4 Board. I guess the two fans for the hot ends go to 'fan' on the board, but how about the two fans to cool down the print iself? They should be controllable, right? Regards, Kevin


    2 months ago

    It is possible to use the CR10'S' PCB standard to upgrade to dual extruders. Change configuration.h for standard dual extruders , but you also need to change the pins-RAMPS.h and solder a standard A4988 stepper driver IC in the missing stepper motor driver (Only the IC itseld was not populated, the rest is intact). I solder this just with normal soldering icon but you need good solder flux (just drown it , you can always clean it after).

    I just comment the complecated EEF ect out and fix the pins in the pins header file. This was done with Marlin 1.1.9.

    #define HEATER_BED_PIN RAMPS_D8_PIN // ok

    #define FAN_PIN RAMPS_D9_PIN //ok


    #define HEATER_1_PIN 7 // working

    #define HEATER_0_PIN RAMPS_D10_PIN //ok

    /* commented out

    #if ENABLED(IS_RAMPS_EFB) // Hotend, Fan, Bed


    // Gerrie added this Aug 2018

    #define HEATER_1_PIN RAMPS_D9_PIN

    #elif ENABLED(IS_RAMPS_EEF) // Hotend, Hotend, Fan


    #define HEATER_1_PIN RAMPS_D9_PIN

    #elif ENABLED(IS_RAMPS_EEB) // Hotend, Hotend, Bed

    #define HEATER_1_PIN RAMPS_D9_PIN


    #elif ENABLED(IS_RAMPS_EFF) // Hotend, Fan, Fan

    #define FAN1_PIN RAMPS_D8_PIN

    #elif DISABLED(IS_RAMPS_SF) // Not Spindle, Fan (i.e., "EFBF" or "EFBE")


    #if HOTENDS == 1

    #define FAN1_PIN MOSFET_D_PIN





    #ifndef FAN_PIN

    #if ENABLED(IS_RAMPS_EFB) || ENABLED(IS_RAMPS_EFF) // Hotend, Fan, Bed or Hotend, Fan, Fan

    #define FAN_PIN RAMPS_D9_PIN

    #elif ENABLED(IS_RAMPS_EEF) || ENABLED(IS_RAMPS_SF) // Hotend, Hotend, Fan or Spindle, Fan

    #define FAN_PIN RAMPS_D8_PIN

    #elif ENABLED(IS_RAMPS_EEB) // Hotend, Hotend, Bed

    #define FAN_PIN 4 // IO pin. Buffer needed

    #else // Non-specific are "EFB" (i.e., "EFBF" or "EFBE")

    #define FAN_PIN RAMPS_D9_PIN




    The Configuration.h file you should have

    #define MOTHERBOARD_RAMPS_14_EFB enabled

    #define EXTRUDERS 2


    #define TEMP_SENSOR_1 1 // must be > 0 check your heat sensor .


    Good luck ..


    Question 3 months ago on Step 14

    Hello, your tutoriel is thank you really well explained for everything details.
    On the other hand j would have one question, how fix you the engine of the second extrude?
    Have you a plan or a room(part,play) has to print?
    Still bravo!

    Bonjour, votre tutoriel est vraiment bien expliqué merci pour tout les details.
    par contre j aurais un question, comment fixez vous le moteur du deuxieme extruder?
    avez vous un plan ou une piece a imprimer?
    Encore bravo!


    Question 5 months ago on Introduction


    My cr10 s5 came with a color LCD screen (I attached some pictures). Do you think I should reuse it or do I need to purchase the one you have in your parts list?

    Also, dumb question, does this account for dual z axis cr10 models as well?

    Thanks for putting this up, can't wait to try it out.

    5 more answers

    Answer 5 months ago

    I have a setup with both an lcd screen and a MKS-TFT32 screen on a MKS-BASE-L v2.1 board and I can confirm that you can get the MKS-TFT screen to work with some extra steps.

    The MKS-TFT28/32 screen has its own firmware and acts as a self contained external controlling device that sends g-code to control the printer (like when you would be using a laptop or raspberry pi to control the printer). This means that you connect it on the AUX-1 port in stead of the EXP-1 port. It also means that you will need to configure both Marlin and the MKS-TFT for the dual extruder setup.

    Howto for updating and configuring the MKS-TFT firmware:

    Latest MKS-TFT firmware binaries:

    It is important that the screen firmware and Marlin firmware are set to the same baud-rate (115200 works for me). Also the AUX-1 port is the same port as the usb port that is used to update the Marlin firmware, so you need to disconnect the screen to be able to update Marlin.


    Answer 5 months ago

    Thanks so much for replying. I think I'm going to follow Jaime's advice and just buy the simple LCD since it's not too expensive and I'm a bit of a newbie.

    Can you think of anything interesting that I could re-purpose that LCD screen for?

    Hopefully your post will benefit more people since there's not a lot posted for the version of the CR10 I have.


    Answer 5 months ago

    I think that buying an simple LCD is a smart choice as it will help you understand Marlin better and it will be easier to debug configuration mistakes.

    As for re-purposing: you could still use it for controlling your printer. When you have successfully setup your printer with Marlin and a simple LCD display, you can add the touch screen as a separate project. The two screens can be used together, and you don't need to change Marlin to get the touch screen to work.

    Other uses than controlling a 3d printer are limited (at least at this moment). This project aims at replacing the closed source stock firmware: Essentially, the board is an arduino that controls a screen, an optional wifi module a sd-card reader and a serial port, so I think it is safe to say that re-purposing solely depends on your own development skills ;)


    Answer 5 months ago

    Unfortunate is kind of hard to help you if I don't have the screen to test if this would work. This website talks about it:

    If it gets complicated, just buy the Simple LCD from the instructable link, they are not expensive and I believe they do the same job. The only reason I have not upgrade my screen is that I'm using Octopi as my controller.

    Your second question:

    I upgraded my old CR-10 to dual Z-axis, and is working fine. Both motherboards will handle just fine Dual Z-axis


    Answer 5 months ago

    Thanks so much for replying. I think I'm going to take your advice and just buy the simple LCD.

    Do you think you could edit this instructable to add instructions for the dual z peeps out there?

    Thanks again for putting this up and taking the time to reply.