CR-10 Direct Drive

by s_gutz Dec 28, 2017
Download All Files

Thing Apps Enabled

Please Login to Comment

I too have made a direct drive mount from 4mm aluminium based on your design for my CR-10. PLA is not really rigid enough for this application even with vertical reinforcing fins.

Printed this direct drive mount in PLA and installed it on my CR-10S. The motor mount portion was a little floppy on occasion but mostly it worked great right up until the point when the raised platform supporting the hot-end started melting. Suddenly my prints started coming out quite unrecognizable due to the hot-end flopping back and forth. But I liked the idea and design so well that I decided to machine a copy from 1/4" thick 6061 T6 aluminum (not CNC created as I only have a manual milling machine). The resulting mount is incredibly rigid and being aluminum, acts as an additional heatsink for the upper portion of the hot-end. Of course all the screw lengths needed to be increased to accommodate the thicker mounting plate. Kudos to Mr. Gutz for an outstanding design!

Can I use the stock Bowden tube and extruder clamp thing, mine is yellow but I see you upgraded to a gold metal one, do I have to do that too?

I am wondering why you extended the plate so far to the left. Making it more narrow there would make the additional "switch plate" unnecessary or not?

If I remember correctly the base plate on the printer isn’t thick enough to contact the switch so making the direct drive mounting plate smaller won’t help make contact. Unfortunately my CR10 doesn’t much resemble the stock printer anymore so I can’t really know why I had to do it this way.

The plate itself was designed to eventually take a cooling fan on either side of the hot end, which is why the plate is larger than the original

Do you think PLA is a good for making this? My concern is that it might become weak from the sometimes very warm extruder motor. And: Is there a Fang that you can recommend for this direct extruder setup?

PLA is fine. If your printer plate is getting anywhere close to 180C you’ve got bigger problems.

I think most Fang coolers should fit, though I haven’t tried one.


I am trying to install this to my Ender 3, but the stock heatsink screws are slightly too short. Do I need aftermarket screws? Thanks

Probably. I haven't tried this plate on an Ender 3 but it is presumably,ably the same mounting as all of the other Creality printers. I can't remember how long the original screws are but you'll probably want screws that are at least M3x8mm. Fortunately you can buy a box of different length M3 screws off of Amazon for <$10. If you are doing any tinkering with a Creality printer you're going to want to have lots of M3 screws on hand anyway.

Okay, thank you :)

I love this Design because it should solve my problem with TPU!:)
Any experience how fast your print speed will be after this update? Print quality is still the same or had anybody problems with ghosting or something like this?

Depending on the size of your stepper motor and the general "tightness" of your printer you may have to slow down printing a bit to avoid ghosting. Print one of the many XYZ calibration cubes and play with the speed a bit to see what you like and can tolerate. You may also want to adjust retract a bit since a direct drive extruder requires a lot less filament retract and in fact too much could cause a different set of problems. In my printer I use the thinnest/lightest Nema 17 stepper I could find on Amazon to keep the weight to a minimum, which allows me to print quickly without issues.

There isn't much of my original CR-10S left and mine has been tweaked to perfection for printing at high speed. If I'm in a rush I can print at 4400 mm/min while still maintaining the quality I was getting with the original CR-10S setup out of the box, though printing at 2200mm/min is best for high quality finished parts.

There are always advantages/disadvantges to direct drive vs a long Bowden tube setup. With direct drive printing TPU is certainly easier/possible on a CR-10. This is what inspired me in the first place.

Could you list what you changed/tuned to enable that speed? My CR-10 mini has noticeable ghosting at 60mm/s (3600mm/min) print speed - and that's with outer perimeters being printed at 50% of that speed!

I was actually considering switching to direct drive to avoid all the retraction tuning hassles of the Bowden setup, but now that I've read this thread it seems that this will make the printer slower so pretty much the opposite of what I wanted to achieve :(.

First, 3600mm/min isn't terrible. Unfortunately there is so little of my original CR-10S left (mostly just the frame), but are a few things that will help on a stock printer:

  • (free) Make sure the frame is squared up and all the bolts are tight. Whoever puts the screws in at Creality seems a little weak and most of the bolts are a little loose. Don't over-tighten them though
  • (free) You might want to play with the acceleration and jerk settings in your slicer. These can have a big impact on how well your printer handles ringing. Work on one axis at a time and change only one setting per test. Print any basic calibration cube and observe the changes. If the vibration is in the Z direction then make sure the Z-screw(s) are straight and the bearing clamp in the top rail is tight.
  • ($5) If you need to, put braces on the vertical frame. If the vibration is in the Y direction this will help a lot. Lots of plans for these on Thingiverse
  • ($10) Put dampers on your X and Y stepper motors. These are cheap and aside from making your printer much quieter, they will also keep some of the vibration down
  • ($15) Keep the weight down on anything that moves. Start with a smaller Nema-17 Stepper on the the X carriage. Note though that the stepper cable for a Creality stepper isn't standard so you'd probably need to rewire it.
  • ($100+) Replace the main control board with something that allows you to use discrete driver chips. I replaced mine with an MKS Gen board and TMC2100 drivers. These can be tuned to make the steppers exceptionally smooth. I'm now in the process of switching my controller again with a Rumba+ board so I can run 3 extruders and do multi-colour printing. If this is ever in your plan then go with the Rumba now. This will probably require a new cabinet for the controller (BTW, I'm working on a new cabinet that fits under the CR-10 that I can share if anyone is interested in doing this upgrade)

Anyway this is a few things. Note though that most of this will require you to spend a bit of money. But in the end you can turn the CR-10S frame into a pretty decent printer :-)

Hope this helps

Thanks, that helps :). I've checked the screws, I already have stepper dampers.

I was going to start experimenting with acceleration and jerk. What settings do you use? The firmware default accel is 500mm/s2 on X and Y. I don't have too much trouble with Z at the moment.

I will look into braces but being in Europe I'm not sure where to get the rods.

Replacing the control board isn't very attractive because for just a little more money I could buy a second printer.

My settings are coded in firmware but they are set as follows (these may be the defaults in Marlin but I can't remember):

Jerk for X/Y = 6
Acceleration for X/Y = 2000

The perfect settings will vary wildly from one printer to the next though so you'll need to play.

Regarding the controller board, you are correct that you can get a second printer for not a lot more, but you'll be getting another printer with the same limitations that need to be tweaked. I believe the Anet and Prusa printers have a board where you can change the stepper drivers, though they probably start with better ones than Creality embeds on their controller board anyway. With pluggable drivers you get the ability to tweak the motor voltage/current and can tune them to be quite smooth/silent. With heat sinks on your steppers you can push the voltage a bit to make sure the motors are running with optimal performance.

If you had to buy another printer, what would you buy? I'm even tempted to buy a delta to see for myself the amazing speed everybody talks about. But I'm also torn between that and something direct drive. My least favourite part of the CR-10 is needing to retract 7mm each time because of the Bowden. It takes 1 second every retract and really adds up over a print (not to mention, introduces print defects if settings and filament aren't spot-on).

I override the firmware acceleration, jerk and max speed limits by having M201/202/203/204/205 codes in my starting script. Mine's a CR-10 mini so your CR-10 numbers might work, I will start with those :).

I noticed my steppers run much hotter since adding the dampers. They used to reach less than 40°C before, now they reach 55°C after the first hour and stay there. I've never had any of them skip steps though (my electronics are completely stock - though I did print and fit the bigery base to the control box for dual 120mm fans to get rid of the noisy little stock fans - in fact my most popular design here is a set of printable legs for going under that base).

When I buy another printer it will probably be a Prusa Mk3. Prints great and is very high quality relative to the Chinese printers. The only problem is the size - I sometimes print things that are near 300mm in at least one direction. Deltas are faster but I wonder how much maintenance they have.

No matter what type of printer/extruder you have there will be some retract. In addition to stoping the feeding of filament, it also takes pressure off the extruder to reduce "leakage". With direct drive it's still going to be anywhere from 1-3mm. 3D printers are just slow.

If your steppers are hot, get some heat sinks for them - pretty cheap way to keep them cooler and probably extend their life. Search Amazon for "40mm heat sink" and you should find a bunch

Thanks for all the help. I've been reflecting and doing some research and I can now see why upgrading the board to be able to use TMC2100 drivers is such a good idea (and why I won't gain much with yet another cheap printer). I think you and I are in the same boat with regards to needing a 300mm bed.

I used to work as an R&D engineer in a semiconductor factory. I spent much of my time programming die-attach machines worth $320,000 apiece. These machines were designed to "write" glue in a very precise pattern on a substrate. The silicon dies were subsequently placed onto the glue to be stuck to the substrate. We're talking a die of about 2mm x 2mm in size, and one machine could write 3 patterns per second with accuracy better than 10 microns. The writer was on X, Y and Z cartesian axes all driven by ballscrews, and the whole assembly was on an X carriage driven by a ballscrews. The substrate was moved by a clamp that used a linear motor. Anyway, the interesting part was that they used a time-pressure system to dispense glue from a syringe through a fine capillary (basically a 0.2mm nozzle). The machine would start the glue flowing by applying pressure, and stop the glue flowing by cutting off pressure. The interesting thing is that the flow of glue is a lot like the flow of plastic in our 3D-printers. There is some hysteresis because the syringe needs time to pressurise and depressurise, so the programming included timing corrections to compensate. For example, the pressure was turned on about 15-30 ms before writing started, and turned off 5-10ms before the end of the writing (this is like the "coasting" distance in 3D printing).

The problem with current 3D-printing software is that they assume linear behaviour of the extruder axis (you put x mm of filament in and get y mm of filament out), but neglect the fact that what you're actually modulating is the pressure in the nozzle - which is a function of time, temperature, and feed rate of filament. If you start feeding filament in, pressure in the nozzle will ramp up and molten plastic will start coming out. If you suddenly stop feeding filament, the pressure in the nozzle will decay slowly and plastic will gradually stop coming out (thus causing dripping, stringing etc.). If you reverse the feed direction (i.e. retract), filament flow will stop much sooner. I believe this is what they tried to fix when they invented "linear advance" - using a nonlinear model that accounts for nozzle pressure to more accurately control the output flowrate of the molten plastic.

I'm really eager to try linear advance (I think the Prusa supports it natively), but it's a bit of a hassle to flash Marlin onto my CR-10 mini - I'm worried I might brick it and end up with no printer and have to wait weeks for a replacement to be shipped. I might just opt for the board you suggested, at least that way I'd have the stock board as a backup if something fails.

Thanks for the 40mm heatsink suggestion, that might really help!

Thank you for your awesome answer!
Im impressed by your fast print speed. I will try your setup!

Hey, would it be possible for you to add a 3:1 gear ratio to your design?
I am very interested in your direct drive, but i was thinking of using a much lighter motor: https://www.amazon.com/dp/B00PNEQ79Q/?coliid=I2H4TSRCG4R9YN&colid=2OUEY76C5DY8&psc=0&ref_=lv_ov_lig_dp_it

My plan is to convert my CR-10S to a direct drive with this motor and print at around 100mm/s
Having lighter motor with 3:1 gear ratio will significantly reduce extruder weight.

Ever tried this Setup with this lighter motor? I would love to do the same if it works

Printed this and mounted it on my CR-10S, noticing a couple things here... Maybe it's different for the regular CR-10?

1) The printed part sticks out to the left far more than the original plate does, meaning it hits the X endstop too early and effectively loses printing area on the left because of this.

2) The stepper motor hanging off the back plate like that makes it hit the frame before the extruder has moved all the way to the right, meaning you either break the part and the stepper motor comes tumbling down, or your make your X-axis skip steps, and again lose printing area on the right, too.

Is this not the case on the CR-10, just on the CR-10S?
If possible, could you upload the original design in a .stp file so I can make the modifications that I need to it myself?

One of the reasons the plate sticks out to the left more is so it comes into contact with the X-axis switch a bit earlier, thereby making enough room to accommodate the stepper, and as you've noted, this does rob a few millimetres from the x-axis. Not much that can be done about that unfortunately, unless the stepper motor is flipped to the front of the plate, but that would require a bit more thought.

I'm not sure why it's possible for your stepper to hit the right rail. There may be a difference between the CR-10 and 10S here because the S has a screw drive on the right side which may change how Creality handles the carriage. You could always fix this my doing a firmware update with change to the size of your printing area. On my 10S I can't slide the carriage far enough to the right to come anywhere close to the right rail.

Let me see what I can do about creating an STP file for you. You should be able to pull the STL file into TinkerCad though and modify it directly, but let me know what changes you do and I'll either make a variant specifically for the CR-10 or make those modifications to the original design and fix it for everyone. If necessary, you can always post a remix specifically for the CR-10 if I've really messed something up for your printer.

Thanks in advance! If you want to just add a specific version to your own thing upload, that'd of course be fine by me. Once my current print (testing flexible filament at long last now that the distance between extruder and hot end is muuuch shorter!) finishes, I'll figure out exactly how much room I have left between stepper motor and left Z-tower (to see how much shorter the plate can be made on the left), and see if I have any idea about how to handle the right side... For now, I've got 270mm of X-axis reach left by cutting some off the right, but that's with the X home placed about 20mm too far to the right, so, ultimately... This should be about 10mm of loss on the X axis, which I'm willing to accept until I can get a pancake stepper that won't hit either tower in any case!

Speaking of which, a version for people with a pancake stepper, that doesn't extend further to the left than stock at all, might be handy, too! I'll report back with those measurements... Roughly an hour from now.

:Edit: For reference, I moved the stepper motor right next to the towers, and there's about a 10mm area where the motor hits the tower. I think any stepper motor with 30mm or less length (I've seen 25mm and 20mm ones) should fit without hitting the towers.

:Edit2: I just realized that you said you also have a 10S. That should be the same as yours, then, which makes this whole thing a bit weird!

Alright, after looking it over and moving things around a bit, it wouldn't really be worth the edit... I'd barely regain a couple of mm on the left side.

A pancake stepper should let me use the full 300mm X axis travel, though!

Thank you man! Greetings from Argentina

Very welcome. Hopefully it works out for you. I’m also working on a version that can take a depth gauge to simplify bed levelling and another variant that includes cooling fans

Awesome, thanks s_gutz! As soon as I can get good prints again I will be making this :)

Do you mind adding a picture of how you have your Filament mounted?

I've been using this set-up for a while now, and figured I'd chime in - since you have a CR-10S (according to your profile), if you want to keep using the filament sensor, you can simply keep the spool on top of your control box as always (or on a separate spool holder, not adding mass to the printer's frame) and use the little casing I remixed for this to house the filament sensor where the extruder used to sit. The original PTFE tube can be used to help guide the filament to the new extruder location without bending it too tightly, and if you want you can even use the spare push-fitting screwed into the casing to help keep it in place, at least on one end.

Thanks MrJelle! I am still considering this; however, I've fortunately not had any problems lately with the Bowden Tube popping out. This still seems like a great idea though.

Here you go. I just whipped this up in TinkerCad so I had something simple. I plan to build something better when I have time but I can post this if anyone is interested.