How to Upgrade CR-10 From Single Extr0der to Dual V6 Extruders With Bltouch?

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.

Enjoy.

If you are looking for the Marlin file click he re

Step 1: Introduction

Please read everything before you attend this. You are responsible for any changes you make to your printer and this hack should be done by someone who knows the dangers of electricity work.

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:

https://www.thingiverse.com/thing:2777673

https://www.thingiverse.com/thing:2853340 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: 2nd Extruder Holder

For this one is going to be tricky, if you don't have dual z-axis then you are going to struggle a little, I have seen people putting the second extruder next to the other one but I have not try that before. I use a motor mount bracket and hold the bracket with a single screw from the hole that is left in the z-axis bracket. I had to use a drill in order to make a hole in the bracket for the wheel screw could pass through, and happily, the screw is not long enough to poke the stepper motor. This is not the fanciest way to do it but the motor does not move from its place and it does the job, but if someone has a better solution I open for ideas.

Step 5: 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 6: 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 7: 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 8: 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 9: 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 10: 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:

GT2560

MKS Gen 1.4

Step 11: 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 12: Marlin Firmware

I basically follow this steps from this website:

Link

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, 23} // (in mm) for each extruder, offset of the hotend on the X axis
    • this will tell the printer to offset the second extruder 23 mmm from the home point (first hot end)
  • #define X_PROBE_OFFSET_FROM_EXTRUDER 30 // X offset: -left +right [of the nozzle]
    #define Y_PROBE_OFFSET_FROM_EXTRUDER 25 // Y offset: -front +behind [the nozzle]

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 13: 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 cables closer to the board and leave the one in the LCD alone.

After that hack, the screen will work 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 14: Stepper Motor Voltage

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 the voltage is not strong enough to pull the filament or the bed.

You will need to have the printer turn on at this time, just make sure the flat screw does not touch anything but 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
    • Note: You can use a multimeter in order to check the voltage once you are done. The way you check it is by putting the multimeter in DC Voltage and connect negative cable to the negative board screw and the positive on the screw from the stepper motor.

Step 15: Simplify 3D Profile

Here is the setting for simplify 3d that I use on 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 with dual extrusion.

Step 16: BL-Touch Setup

For bltouch script steps, I will send you to a YouTube link. The main thing you will need to be careful is the cables, they need to be in the right connection. White and black should be in the same way as the picture above or bltouch won't work. You can download the Marlin file with bltouch setting add it, the only thing you need to do is uploading it to your board.

Note: I have not done this with a GT2560, right now is just the MKS and it works just fine but I check this website and there are no changes in the Marlin firmware but check this website link

Share

    Recommendations

    • Sweet Treats Challenge

      Sweet Treats Challenge
    • Paper Contest

      Paper Contest
    • Remix Contest

      Remix Contest

    39 Discussions

    0
    None
    BlackInfinity

    Question 2 days ago

    This is useful. The problem is I want to use a capacitive ABL (like ezabl) and not a BL Touch. Would it be possible to implement a support for it on the mount please?

    1 answer
    0
    None
    JaimeF11BlackInfinity

    Answer 2 days ago

    Sure, but I will need the sensor in a 3d file: sketchup, STL, obj, you named. This way I will know where to add it at the mount. If you can find or make the sensor, I will design it

    0
    None
    LGProspects

    Question 2 months ago

    I have a very large gap between my bed and the extruders. I had these v6 clones on hand is there a large variation in overall length on these things?

    IMG_20181223_144923.jpgIMG_20181223_144931.jpg
    6 answers
    0
    None
    JaimeF11LGProspects

    Answer 21 days ago

    Check thingiverse for 1mm and 2mm lower. if you need it to be lower, you can stretch the springs with two pliers (not to much) just enough to give the extra mm that you need. most of the time when we tight the bed, the springs shrinks with heat and the tightness

    0
    None
    LGProspectsJaimeF11

    Reply 8 days ago

    Working great! Now to hook up the other extruder. Thanks!

    0
    None
    JaimeF11LGProspects

    Answer 2 months ago

    The bed is too low, try to loose the screws in order to bring the bed up,. The metals that hold the wheels together at the z axis is touching the z motors and that as far it goes, if you can't bring the bed higher just reply me and I will add a lower hotend holder

    0
    None
    LGProspectsJaimeF11

    Reply 8 weeks ago

    Jamie a lower hotend holder would do the trick! My bed doesn't raise up much more than it is now.

    0
    None
    JaimeF11LGProspects

    Reply 5 weeks ago

    Sorry for taking so long. I have a question. How low ( in mm) you need the hot end?

    0
    None
    LGProspectsJaimeF11

    Reply 4 weeks ago

    No problem! It looks like it is 1mm difference.

    0
    None
    JordiP2

    Question 16 days ago on Step 16

    GRACIAS POR TU TRABAJO, Te parece que tu idea puede funcionar con una Ender 3 pro? Por lo que veo en las fotografias y en su pagina web, tienen similares mecanicas.Gracias

    1 answer
    0
    None
    JaimeF11JordiP2

    Reply 16 days ago

    Porsupuesto. Ender 3 y CR-10 completamente igual en el "hotend bracket".

    0
    None
    MaxK88

    26 days ago

    I just started the upgrade process, and after replacing the board, and hooking up the connections I powered the board up. The power supply is set at 115V, but the board would not power up. When I switched to supply to 230V the board powered right up.. Being that I live in the US, and the outlets supply 120V, should I be worried about the board being supplied too much voltage?
    Thanks for any help that you guys can give..
    1 reply
    0
    None
    JaimeF11MaxK88

    Reply 21 days ago

    Disconect the board from the power supply first. Then get a multimeter and check you are getting 12v when is in 110 v if you dont get energy it means the power supply is not working properly and you should returned or get a new one. If you dont have a multimeter use a 12 v led light in order to test the power supply.

    0
    None
    alex77k12.

    Question 5 weeks ago

    Same demand as others, purchase new lcd is necessary? I have here front gt2560 and original lcd, cables reversed, lcd on but without any writing, lighting on, emits continuous buzzer whistle, string "#define CR10_STOCKDISPLAY" enabled, I can not find schema pinout to check for links. If anyone has any information about it please write? I have CR-10 not S

    5 answers
    0
    None
    JaimeF11alex77k12.

    Answer 5 weeks ago

    Try using this string instead:
    #define REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER"

    and plug the cables again, try to connect the cables in different positions, just remember to turn off the board with every try.

    0
    None
    alex77k12.JaimeF11

    Reply 27 days ago

    JaimeF11 I checked, everything works if you use a ramps but not with gt2560, the correct setting is only "#define CR10_STOCKDISPLAY" while "#define REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER" returns a different pinout. I feel there is an error in Marlin on the pinout configuration but not I know how to report it. To run Gt2560 revA or Gt2560 revA + with original display cr10 reverse connection of 180 ° and if you use Marlin 1.1.9 modify the file pins_GT2560_REV_A.h from line 98 onwards or the line that does:
    "#if ENABLED (ULTRA_LCD)"
    in this way:
    #if ENABLED(ULTRA_LCD)
    #define BEEPER_PIN 18
    #if ENABLED(NEWPANEL)
    // --- Codice CR-10 Display ---
    #if ENABLED(CR10_STOCKDISPLAY)
    #define LCD_PINS_RS 5
    #define LCD_PINS_ENABLE 6
    #define LCD_PINS_D4 21
    #define LCD_PINS_D5 -1
    #define LCD_PINS_D6 -1
    #define LCD_PINS_D7 -1
    #define BTN_EN1 17
    #define BTN_EN2 16
    #define BTN_ENC 19
    // --- Fine codice CR-10 Display ---
    #else
    #define LCD_PINS_RS 20
    #define LCD_PINS_ENABLE 17
    #define LCD_PINS_D4 16
    #define LCD_PINS_D5 21
    #define LCD_PINS_D6 5
    #define LCD_PINS_D7 6
    // Buttons are directly attached
    #define BTN_EN1 42
    #define BTN_EN2 40
    #define BTN_ENC 19
    #endif
    #define SD_DETECT_PIN 38
    #else // !NEWPANEL
    #define SHIFT_CLK 38
    #define SHIFT_LD 42
    #define SHIFT_OUT 40
    #define SHIFT_EN 17
    #define LCD_PINS_RS 5
    #define LCD_PINS_ENABLE 6
    #define LCD_PINS_D4 21
    #define LCD_PINS_D5 0
    #define LCD_PINS_D6 0
    #define LCD_PINS_D7 0
    #define SD_DETECT_PIN -1
    #endif // !NEWPANEL
    #endif // ULTRA_LCD

    0
    None
    alex77k12.alex77k12.

    Reply 27 days ago

    in case you do the same job but with Marlin bugfix both 1.1.x and 2.0.x change the code from line 98 to go down or the line that reads "#if ENABLED (ULTRA_LCD)"
    in this way:
    #if ENABLED(ULTRA_LCD)
    #define BEEPER_PIN 18
    #if ENABLED(NEWPANEL)
    // --- Codice per display stock cr-10 cavo invertito 180° ---
    #if ENABLED(CR10_STOCKDISPLAY)
    #define LCD_PINS_RS 5
    #define LCD_PINS_ENABLE 6
    #define LCD_PINS_D4 21
    #define LCD_PINS_D5 -1
    #define LCD_PINS_D6 -1
    #define LCD_PINS_D7 -1
    // Encoder
    #define BTN_EN1 17
    #define BTN_EN2 16
    #define BTN_ENC 19
    // --- Fine modifica codice ---
    #else
    #define LCD_PINS_RS 20
    #define LCD_PINS_ENABLE 17
    #define LCD_PINS_D4 16
    #define LCD_PINS_D5 21
    #define LCD_PINS_D6 5
    #define LCD_PINS_D7 6
    #define BTN_EN1 42
    #define BTN_EN2 40
    #endif
    #define BTN_ENC 19
    #define SD_DETECT_PIN 38
    #else // !NEWPANEL
    #define SHIFT_CLK 38
    #define SHIFT_LD 42
    #define SHIFT_OUT 40
    #define SHIFT_EN 17
    #define LCD_PINS_RS 16
    #define LCD_PINS_ENABLE 5
    #define LCD_PINS_D4 6
    #define LCD_PINS_D5 21
    #define LCD_PINS_D6 20
    #define LCD_PINS_D7 19
    #define SD_DETECT_PIN -1
    #endif // !NEWPANEL
    #endif // ULTRA_LCD

    ______________
    I hope this can help others with the same problem

    0
    None
    alex77k12.JaimeF11

    Reply 5 weeks ago

    I thank you for the answer, for now I tried without success
    #define REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER
    #define REPRAPWORLD_GRAPHICAL_LCD
    #define CR10_STOCKDISPLAY
    As a firmware I tried
    Marlin 1.1.8
    Marlin 1.1.9
    MK4duo 4.3.7
    in all cases tested the board speaks with repetier, illuminates the display and in the case of MK4duo emits a sound from the buzzer at startup (so expected function correct) but in no case you read anything on the screen, if you reconnect to the original Melzi works correctly, so I can exclude display defects. As links are connected with reverse pinout as suggested by you, as well as various forums and youtube videos, many confirm correct operation with reverse pinout but using mainboard Rampe 1.4

    0
    None
    jgwinneralex77k12.

    Reply 4 weeks ago

    Just as a quick note, you wouldn't want to #define all of them; that'll confuse the code. You would probably want to define only one of them. I haven't tried compiling it yet myself yet, just thought that might help.

    0
    None
    jgwinner

    Question 5 weeks ago on Step 2

    Fantastic idea! I think the link you have to the second extruder is wrong; it doesn't show an actual bracket, just the red extruder gears. ??

    What did you mount the second stepper to?

    Again, great work.

    == John ==