Modding the Creality Ender 3 Pro: Direct Drive
Get better prints with a direct-drive system!
The Ender 3 (and many other printers) use a Bowden tube system. While this is an easy and cost effective method of extrusion, the filament cannot be controlled precisely due to the play of the filament over a long distance. That’s where direct drive extrusion comes in. We reduce the distance between the extrusion motor and the nozzle so that we can control the filament much more precisely. The effect of this becomes even more visible once we start printing at higher speeds. If you’d like to know the specifics and differences of each tube system, I suggest you check out this article by Taylor Landry. They’ve done a great job explaining all there is to know about the two systems.
I should note that while Bowden extruders will theoretically allow the X-axis carriage to move faster because of the decreased weight, they don’t have precise enough control of the filament at higher speeds due to hysteresis and play. Mounting the extruder motor directly on the carriage may decrease the theoretical maximum speed, but better filament control makes up for it greatly.
If you search Thingiverse for Ender 3 direct drive, you’ll find several different approaches. The most popular direct drive option for Ender 3 printers is the SpeedDrive v1 by sashalex007. This project claims to keep the X axis as balanced as possible by mounting the motor on the opposite side of the crossbar as the extrusion head. While this sounds like a good option, mounting the motor here will reduce both your X and Z travel by about 10%, requiring you to make an extension for your limit switch and reducing the overall print area.
The best alternative I could find for the SpeedDrive is the Direct Drivinator, by Madau3D. Instead, this mounts the motor over the crossbar and to the left of the entering filament. This allows us to keep our entire X, Y, and Z range. This option also appears to have the smallest effect on the balance of the X axis since the motor is mounted above the roller bearings, while the SpeedDrive attempts to rebalance the stock carriage by mounting the motor behind the rollers. Because of this, I will be using the Direct Drivenator, but you can use any mount you prefer.
First, we’ll need to print out the mount. The creator of this bracket suggests using 15% gyroid infill, 0.2mm layer height, and supports. This will take about 4-6 hours.
Now, we’ll take off the X axis carriage and extruder motor. Start by removing the belt from the carriage. Remove the Bowden tube and tube retainer from the extrude head. Using a wrench and hex bit, remove the upper roller bolts. Take the metal bearings from these bolts and press fit them into the motor mount. If the fit is too loose, use epoxy to hold them in place. Re-attach the bolts and rollers, now with the mount in place, to the X axis crossbar. Screw the bowden tube retainer back into the extrude head, but do not insert the bowden tube.
Next, we’ll remove the extruder motor from its original bracket. First, unplug the motor. Remove the bowden tube from the retainer. Next, loosen but do not fully remove the tensioner spring. Now, unscrew the hinge of the spring arm and carefully lift it away, taking note that the spring will be under pressure still. Screw the tensioner screw back in fully so that it’s out of the way, and remove the remaining screws from the motor.
The next step is to cut off the correct amount of the bowden tube to use in the new direct drive system. Start by cutting off about 5cm of tube. Insert the tube fully into the retainer on the nozzle, and lower the mount we just removed onto this tube. Make sure the tube is pushed fully into both retainers, and check the holes on the mount we removed to the bracket we printed. If the screw holes do not line up with those on the bracket behind it, cut off pieces of tube slowly until the holes line up. Once the tube is the correct length, insert the motor into the bracket. I angled the connector on the motor backwards so that I don’t see it from the front, but you can angle the connector up too. Reattach the mount to the motor, starting with the bottom and back screws, then attaching the arm, spring, and spring retainer last. You may need to hand loosen the tensioning screw before attaching the spring, as you will not be able to reach a tool under it. Lastly, don’t forget to re-attach the belt underneath the carriage.
Now that the motor is mounted, the last step is to extend the extruder motor cable. Cut 4 lengths of wire about 35cm long. Strip the ends of the wires. Now, one at a time, cut the wires from the extruder connector, and solder on the new wires. I recommend you use heatshrink to insulate the wires, but electrical tape will work too. Note that the middle two connections may be naturally twisted. This is why I recommend to only cut and attach one wire at a time so as to not lose track. Lastly, we connect the motor and use zip ties to route the motor cable and extruder/fan cables together and out of the way.
And, that’s it! I suggest to try a test print to make sure everything is wired up correctly. The benefits may not be obvious yet, but your prints should come out with less blobbing and stringing. This helps a lot with filament control at higher speeds. If you have any questions or trouble, leave a comment below and I’ll see if I can help!