CR-10 Dual Z with top mounted stepper

by StvPtrsn Mar 17, 2018
Download All Files

Thing Apps Enabled

Please Login to Comment

first of all thanks a ton for the model. But I'm going to ask before I go crazy. I assume my acceleration is too high or it has something to do with the tmc 2208 stepper drivers. I have this installed on my tevo tornado and whenever I use mesh levelling the steppers cut out about halfway through a calibration cube. just wondering if anyone else has overcome this or is it my driver's or acceleration. going to try swapping the drivers for the original ones as I believe they have a bit better torque. and maybe try using some smaller timing pulleys (with the proper steps calculated of course). and input would be appreciated

  • Posted with 3D Geeks Thingiverse Browser App

it also could be from using what looks like a finer pitch. just spit balling

  • Posted with 3D Geeks Thingiverse Browser App

I've used both an MKS Gen 1.4 with TMC2208's and a new Bigtreetech SKR 1.3 with the 2208's both in UART mode without any problems. I use a genuine BLTouch for bed leveling. I'm not sure off the top of my head what accel I have set for Z.

I'll have to see if using UART mode would help

  • Posted with 3D Geeks Thingiverse Browser App

Fantastic idea. I mixed a couple of mounts into my personal best, but the main idea comes from here...really good improvement on x axis levelling - especially if you use z hop or bed level correction with repeating tiny z movements!

Would this also work on an Ender 3 Pro?

I don't have an Ender 3 but looking at pictures the power supply is in the way of the right side leadscrew. If you relocated the power supply and selected the appropriate closed-loop belt then it should work.

I just stumbled on this, and find this really interesting as I've have been thinking of doing a similar solution for some time but was thinking of strengthening the frame into a rigid box, can I ask if using this setup if the torque induced from the top mounted stepper causes any vibration or momentary deflection in the frame? - thanks and nice job!


I haven't done any actual testing for what you describe but I just finished the entire set of parts for a MPCNC and the parts turned out great.

thanks for the reply - if the parts come out great then its got to be a winner so when get the time I'll get this one printed off and try it out as its got to be better than re leveling the gantry every few months with a single leadscrew -

Great idea! I bought cr-10s 500 and have been frustrated with the z screws getting out of sync. Gonna have to try it

finally got around to doing this, but my Z motor is running pretty hot at 80c , I checked the vref and it was set to 1.080, I dropped it to .810 like the other steppers and its still running very hot. what do you guys have your vref set to ? I cant find any information on what is supposed to be the vref on these motors.

It's been a while since I ran the CR-10 controller but I seem to remember lowering to around .6v. For every other axis I had it set somewhere around .9v I think.

I dropped to 0.65 if i remember correctly my vref for the Z motor.
On my cr10 mini I have 0.75 for X and Y and around 0.8 for the bmg extrder.

Well. It took some work but finally I have this installed. Will post pictures as soon as possible. I have still to understand how to sync the two lead screws the first time, I did some measurement but I am still not sure...

My Z top motor now runs very hot, about 70°. I think I have to set my vrefs. I don't' know if this could be caused by other forces...
I had to mount two new printed mount for the X axis / lead screws and one is not perfectly in axis so I will design a new one (i can see the lead screw on the extruder side "design cicles in the air" )

Thanks for your work, looks really cool. really!

I sync the two leadscrews by loosening the clamp at the top of one and twisting the leadscrew until the X grantry is even side to side.

Spend extra time making sure the lead screws are perfectly vertical by adjusting the top bracket. I use a caliper and machinist square to measure between the vertical extrusions and the lead screw. Also the belt does not have to be super tight, just enough so it doesn't skip. You may also have to lower your stepper vref as you mentioned. Mine doesn't hit over 40c ish.

Thanks for all the infos! I will try and report as soon as possible.

60 tooth is really nessesary? how about 20?

The combination of pulley size, belt length and stepper spacing are the way they are based on belt length availability and clearances. Changing any one of those is possible but you'll have to figure out the rest. For instance, if you change from a 60 tooth to a 20 but want to keep the same belt you'll have to space the stepper and the idler pulleys way out from the frame.

I like your idea and design and as I was planning to add a second lead screw to my cr10mini I found your project by looking at the Caster's one. I have one question... does the gear ratio change the overall speed of the printer? Do you have any extra raccomandation about accelerations? I'm looking forward to try it :) Thanks

You won't see any change in how fast you can print or what acceleration or jerk settings you should use with this mod. The main purpose is to force the X gantry to remain consistent. How aligned it is will depend on how much time you spend up front adjusting it. As far as my acceleration settings so far I'm still using values I copied from someones setup long ago and have had reasonable results from that (default accel 500, retract 1000 and travel 500). I do have to spend some time tuning that with my new direct drive setup though.

And that's is what I am interested in, consistence on the X gantry, because I'd like to have a direct drive setup and with the added weight your mod looks important. Looks like not so easy to find the 900mm belt but I will do some extra test and measure :)
I like a lot your locking system without nut on the rods :)

How is the thread locked on place? On second picture is visible some lock screwed to the frame?

ok, my bad, didn't saw a hole for screw in the image

Thank you for sharing out your design, love it!

however, I got a question here. how to calculate the step per unit? I'm using on ender 3 and I'm using the gears I have which is 16 for the stepper and 36 for lead screw.

I guessed the step per unit is the original 400 divided by ratio of the gears, in your case is 1/3, and get 1200. based on this I got 900 for mine but it seems not right.

  • Posted with 3D Geeks Thingiverse Browser App

900 sounds right to me for that gear ratio.

Great Design! going to try to implement it on my ender 3 that i just cant seem to get aligned with one lead screw.

i'm thinking the firmware step change would still be the same as the ratio should still be the same... does that sound right? or would the smaller frame width need to be accounted for in the step change?

Thank you for your work and any knowledge you may be able to share to get this done!


The pulley ratio is all that matters for the steps/mm change so as long as you use a 20t on the stepper and 60t on the leadscrews you make the same changes I did. The more important piece you're going to need to figure out is a belt length.

Thats what I was thinking but didnt want to make that mistake lol
Thank you for such a quick reply, I bought all the parts (minus the belt) a couple weeks back, just need to get stuff printed now so i can mount it and get the belt sized correctly.
thanks again! ill be sure to get make up and a cup to you once I can finally print with this damned thing lol

First of all, Thanks StvPtrsn for the great designs!! <3 I would like to try it myself.

DickT8, can you please share the belt length for the Ender 3?

No problem, glad you like it. Be sure to post a make when you're done. For the belt length it should just be 900mm minus twice the difference in width between the Z rods of the CR-10 and the Ender 3. If the difference is just the 75mm in heated bed width then theoretically a 750mm belt is needed. You may need to remix the stepper bracket if you need more tension adjustment depending on belt availability.

Good luck and be sure to post a make when you're done :)

thank you very much for your answer really super fast

I realized your editing and I had a question.
have you had problems with overheating with the engine?

The stepper gets warm but does not overheat. I didn't get a chance to try reducing the stepper current before completely rebuilding the printer with a new controller and new stepper drivers. Stay tuned for some minor updates to this thing and a new thing with other CR-10 mods I've done.

Really excellent work. I'm going to do this when I build my Ender 3. If you use a metal stepper bracket it will dissipate heat into the frame. I did this on my coreXY and the motors barely rise above ambient ever since. So you can drive them harder without over heating. There are at least a couple of different metal NEMA 17 mounts available cheap on Amazon. Then you just need to 3D print the tensioner bits. Since you are pulling instead of pushing I don't even think spring loaded or delrin lead screw nuts are useful. Sweet. I'm building my Ender direct drive with an E3Dv6 and Bondtech too.

I thought about metal brackets but I suspect any overheating problems can be cured by adjusting stepper driver voltage. My CR-10 is apart right now undergoing a major transformation. Stay tuned for a new make once I've finished.

Hi Steve, I send you a beer, thanks for doing this upgrade. I'm happy with. So far no issues with.

Looks great! I'm glad you like it and thank you very much for the beer!

Hi Steve, thanks for brilliant idea, I build a second Z drive already but had often that they are not alignet and syncrone in high.
Now I ordered the mentioned parts and I'm happy to use the old 500 mm threaded shafts. NowI start to print the parts. Do you remember the fill in percentage?

I probably printed mine around 20-30%, it doesn't need to be high. Perimeters would be more useful to make sure the stepper screws have solid plastic to tighten against. I think I used 4 perimeters.

Thanks for the reply. That is what I figured so I found a few different size belts. Since the difference is 200mm plus your 900mm I found one that measures 1140mm. None that are 1100mm. So you are right I may have to design up a top bracket with different wheel spacing to take up that extra 40mm of length. Thanks for the advice.

The belt will have to cover that 200mm difference twice so look for something around 1300mm. Also, considering the larger setup with heavier X gantry of the S5, I would definitely look at using a larger stepper for Z.

I want to make this for my S5. Started making the parts this evening. What length belt would I need? Any other mods you think are needed because of the larger size?

I don't have an S5 but if you assume that the only applicable difference is the 200mm wider print surface then a 1300mm belt should work. The problem is that if it's much off then the belt tension setup I made might not have enough adjustment. But that's why I included step files :) If you make it and succeed please post, I'd like to see it.

I used this mod for my custom AM8 with Anet A8 control board and I noticed the motor and stepper driver heat sink get really hot. Anyone else having any heat issues?

On my CR-10 the Z stepper has always been hot. I didn't measure the temperature at the original location but it was too hot to keep my finger on it long. Up top it doesn't exceed 60C which admittedly is hot, but not out of spec. Once I finish my titan direct extruder setup I'll move the larger extruder stepper to the z axis to see if that cools it down. Also, current measured voltage on my z axis driver is about .75v. Lowering that should be a way to effectively cool the stepper. I haven't experimented to see how low it can go without causing missed steps.

I'm 2hrs into a 6 hour print and the motor is at 46 degrees. I don't think it's too hot, but I might add a cooling fan to it anyways.

Yeah, 46c isn't bad at all. Did you take any further measurements?

The hottest it has ever got was 47 degrees. I noticed today that the Anet A8 control board has an stepper adjustment for just the Z axis, so I turned it down a half turn and now the coolest motor on the printer at 32 degrees. The stepper driver is much cooler too. Thank you for the help.

Good to see that turning it down showed a noticeable difference in temps but be careful, half a turn is a pretty large change. It may be fine but make sure it's not skipping steps.

I haven't had any lost steps, but I did turn it up a little because the motor was not even getting warm.

Great design! Apparently at least some versions of the controller board used in the CR-10 require that a specific one of the Z-stepper driver ports be used when you have only a single stepper. Which one of the original steppers did you extend the wiring for...left or right (viewing from front)?

Many thanks!

Thanks! My printer started as a plan CR-10 so only ever had one port on the board.
Regarding the CR-10S, that board still uses a single driver for both steppers. So the output is either wired in parallel or series. If parallel then it won't matter which port has a stepper plugged in. If series then neither will work unless both are plugged in or the other port has jumpers to complete the circuit. So I'd check the source that says a specific port needs to be used.

Thanks for your help. I will look in the starting script in Cura.
Is that all I will need, "M92 Z1200" ?

No problem and to answer your question yes, putting that command into the starting script will compensate for the 20t to 60t pulley ratio that this set up uses. I think your easiest path would be to see if you can do it via the printer control panel. When I get home I can clarify which options to look for.

Apparently a 36MB video won't upload. The specific options I used are to go to the Control menu, then Motion, then Steps/mm. Depending on what version of firmware and what options are enabled the options shown may display differently or not exist though :)

I would like to try this but use Cura.
Do you know of an easy way of adjusting the cura settings to allow for the different stepper speed?
Many thanks

Depending on what firmware version and what options are enabled on your printer you may be able to use the printer control panel to go into the "Control" and then "Movement" sections to adjust the steps/mm of the Z axis. I'm not at home so I may be off on the exact names of the menu items. There may also be a "save to eeprom" menu item to make this change permanent. Alternatively you could include the "M92 Z1200" command at the beginning of your starting script in Cura. I haven't used Cura in months but I'm sure a search for "Cura starting script" will point you to the correct location to edit this.

really considering building this, have you had any problems so far StvPtrsn ?

I just looked at my octopi history and I have over 100 hours of printing on this setup without problems. That includes an 18 hour lithophane. Before I did this modification I noted that the z stepper got pretty warm in the factory location. Well, it still gets pretty warm when mounted up top. The difference is a larger stepper can be fitted now whereas the x carriage prevents a larger stepper from being installed in the factory location. I don't have records or recollection on how hot the z stepper got before I switched to the original dual z belt drive system back in November. I have hundreds of hours printed on it without any z related issues since then.

My next mod on the CR-10 will be a titan direct extruder setup. When I complete that I'll be moving the larger factory extruder stepper to the Z location. I'll report back if that has an effect on temps.

Liking the reduced gear ratio, should help keep things accurate.

Yep, full step increments on the Z axis should be 3x finer than factory.

Sorry for those few who had liked and collected the previous thing before I had to take it down. Facebook would not parse the link returning a 404 error no matter what I had tried so I just republished this under a new design.