Thingiverse is currently experiencing issues related to search. We are currently investigating. Thanks for your patience.


X and Z MGN12 linear rail conversion for 2020 frame cartesian printers (cr-10 / Tevo Tornado)

by nzalog Nov 8, 2018
Download All Files

Thing Apps Enabled

Please Login to Comment

Hi, what is the option to use MGN12H carriage for the Z ?

The original gantry (green in pictures) used mgn12c rails, I added two files that let you use mgn12h instead. Either one will work just fine.

damn Xd i downloaded it way before and didn't have them...have to reprint them. thanks anyway!

Hey man, looks like good stuff. I've decided to go ahead and convert one of my old printers into something very similar. I was wondering if there is a chance I could get some of these files in STEP or 3DM format rather than STL so I can make some mods to fit my printer properly. If you don't mind, let me know and I can send you my email. Thanks!

I don't know if you still want the step files but I added an assembled.step with all the components, but it may be out of date compared to other individual STLs.

Did you end up getting the STEP files for this?

Nice work! I'd like to put this on my FLsun that I'm building for a second printer. Can you provide step files?

For those who have issues find a suitable nut, heres my solution:
I've used the parametric nut from here with these parameters:

// Diameter of base, in mm
// Hole pattern diameter, in mm

Customizable Leadscrew Flange Metric

Would you be able to test this out?

It's an adapter to fit the more common sized nuts onto this thing.

EDIT: same adapter but with hex m3 nut recess. Should be easier to use.

I apologize for the hassle. When I get some time for it, I'll see if I can create a small adapter can allow for the more common sized nuts to fit.

I've printed and tested yet, tomorrow I'll post you some photos

When you print, I think the v1.2 might be a better option. After thinking about it, the original would make it hard to tighten the screws so i made a a small tweak to hold an m3 nut from spinning.

Ok, tomorrow i'll let you know how it work! ;)

Sounds good, just got home and realized I had the wrong measurements so just making sure you get the latest file. Not need to reply just making sure you know.

So, as you can see from the photo, the coupler's holes are a bit out, i think just a mm...

Hmm it looks like it lines up. You're supposed to use two holes for the nut side and the other two for the gantry side.

Does that make sense? I can do a diagram if need be.

EDIT: Looks like the CR10 has a different dimension POM. I added two different options 16mm hole spacing and 18mm hole spacing.

This is great! I've been planning on a linear rail upgrade for my Tornado and you've done all the work for me! I have some questions though:

  • Is the X-axis rigid enough without the aluminum extrusion?
  • I will have dual Z-axis with a single stepper motor. I think I'll just have to make a different base for the bottom of the second lead screw and modify the top to fit a bearing?

Because these are structural parts, I'm thinking of 100% infill and something like 0.15 layer height? Also, what's the difference between the lead screw top offsets? I measured the dimensions and can't seem to spot a difference

I've seen no flex or signs that it's not rigid enough, I did however use glass fiber reinforced PETG. I think you can get away with just plain PETG and maybe 4-5 outlines and at least 50% infill. I've been printing most my stuff in 0.10mm layers but I think 0.15mm should be good as long as you don't have any layer adhesion issues. You could always put an extrusion behind the X axis (where the plastic piece is sandwiched by the rail and the extrusion).

Yeah you can likely just modify the top.

So initially when I made this, the lead screw was centered to the Z block and Z extrusion. Somewhere in my design it was offset by a tiny bit maybe 1 or 2mm. Since I had already printed a lot of this I just left it and design the top to compensate.

Attached the measurements.

Thanks for your reply!

I'm printing the parts now in anticipation for the linear rails to come in soon. Good to know about the offset - I'll have to compensate for that when I design the other lead screw part.

I'll post a make once everything is done, but it'll probably be around 3 weeks. I ordered 1515 extrusion to do a Y-axis linear rail too and I'll install them all at the same time.

Awesome, make sure you don't forget the anti-backlash nuts, I unknowingly designed this around non-standard nuts.

By the way I have some additional stuff for the Y-axis (1515 to 2020 mounts and spacers to keep belt parallel). Unless you've got some specific way you're going to set it up, I can send you the STLs.

I love your design, there are few dual Z axis linear rail upgrades out there for CR10/Tornado. I may use thi sif I can find the right material to print with. I have an e3dv6 and a hardened nozzle so I should be able to do find and use some glass reinforced PETG.

Could you please explain the benefit of the anti-backlash nuts? How are they superior over normal brass nuts? I assume these are the nuts that are used on the brackets for the up-down motion on the lead screw.

Also what kind of coupling are you using? That looks interesting. I have some simple aluminum (or steel) rigid couplings. I also have the dual axis belt upgrade (single stepper motor). I still get some sort of weird layering in the Z dimension. Although I don't care much now because I'm making some major upgrades, I wonder what is causing it.

Thanks for your work, man!

I appreciate the positive comments

That's it!? No explanation for me regarding the anti-backlash nuts? lol. C'mon maaaaaan!

Comments deleted.

Aww shoot...

I seriously type out a really long reply, but right after the word "comments" I put a smiley emoji. I'm assuming that thingiverse does not handle emoji unicode because all the other stuff I typed after is gone... lol

Here is a good video on explaining backlash, but it's basically the mechanical slop when gears and screws have when changing direction. For example, if you go in one direction and then turn around, there will be a small part of the movement in the other direction that won't actually move as the gear or screw re-engages and takes up the mechanical slack. The mechanical slack is needed so things don't just bind up.

As far as the coupler, it's a diaphragm based coupler, it's fairly immune to stretching unlike the stock one. Thought it is a bit on the expensive side.

Awesome, thanks so much!

Good to know. I have some on order, but if the design calls for the ones you listed then I'll return mine and get those.

Yeah, if you have the STLs for the Y-axis it would help out a lot! What's the best way to send them?

Here you go.

The 2040 spacer goes under both sides of the 2040 piece that the Y-belt runs through, the 2020-1515 pieces should be self explanatory.

Lastly I mounted my bed carriage directly to the blocks (measured it out and drilled). So not sure this will be helpful if you're using a different method.

Finally got the linear rails and 1515 extrusion in - I've posted my make. Thanks for your help. Great project!

Looks good! Everything working well?

I might eventually come back to this and design some cable management for it, been busy trying to get a Voron 2.1 together.

Yep, it was very easy to put together and worked immediately with the duet 2 wifi. Some parts were a bit too precise but overall great design. I had a spare stepper motor so I decided to use it for the 2nd Z axis. Still trying to configure the duet for independent homing of the Zs but I hear they're going to make it easier with an upcoming update.

Also, I used the MGN12H files and they fit perfectly.

Looks like an interesting project - good luck!

Yeah the dual Z with leveling between the gantry and bed is really useful.

Let me know if you want my configs for the duet.

Just re-read your message. I'd love to see your configs for the duet. Do you have the dual Z attached to the same stepper driver or different ones? (I tried following the instructions for separate drivers but it wasn't well documented so I switched back to single driver).

Yeah I'm using dual Z on separate drivers, one is on the Z driver the other is on E1 driver.

I attached all my configs but I would not take them as is, just use it for reference, I have converted from the duet wifi to a maestro so there were some config changes (using the duet wifi for another printer).

from what I remember, I think the most important things you need from config.g is :
M584 X0 Y1 Z4:2 E3 ; X on X, Y on Y, Z and Z2 on Z and E1, E0 on E0
M671 X-89:379 Y150:150 S10 ; Z leadscrews are at

Also use the entire bed.g and homez.g but just look over it all for sanity.

Lastly, if the gantry gets more misaligned after you homez, just swapping the two Z motors should fix it.

That's exactly how I planned to mount the carriage.

Thanks for the files!! My printer sure will be busy this week!

Is there also a model for the Y axis? In your pictures you have 2 linear rails under the bed so, that's why I ask. I am having such a hard time getting great prints out of my CR-10S. I've had to retighten the rollers, raise the bed due to leveling issues, upgraded to a Titan Aero, etc. I have a reliable Prusa i3 Mk3, but want the bigger build volume on the CR-10s. I'd like to make the CR-10S better by doing many of the same upgrades you have done on yours. Eventually, I'll buy a Duet 2 Wifi board, but want to get the mechanical issues squared away first.
Thanks for any advice and where I can find info on the rails that are under the heat bed.

I do have some parts for the Y axis but they're really just to mount a 1515 extrusion which the rails go on top of. I actually just mounted the carriages directly to the metal bed carriage by drilling holes through it. Only reason I didn't share it is not sure how people are on drilling through stock parts and I also don't have a good guide on where to drill.

I added some close up pictures of how everything goes together, let me know if you're still interested and I can dig up the STLs.

EDIT - by the way there is a way to make the v-slot wheels more reliable by replacing the plastic spacer between the two bearings with a metal washer (m5 i believe). The plastic spacer that comes stock gets deformed and doesn't let you tighten down the wheels.

What kind of anti-backlash nuts are those? They are not the standard 8mm metric variety which has a hole spacing of 16mm from side to side. Yours are much larger

Apologize for any issues this might have caused you, I'll add the backlash nut to the description.

Link to item on manufacturer webpage:

Original eBay description:
"Delrin Anti-Backlash Silent Nut for 8mm T8x8 Lead Screw Trapezoidal ACME"

Thanks for the info. I just noticed you are using the C blocks. I'll have to attempt this another time.

Had more request for MGN12H so I ended up adding an H block version.


It's unfortunately not tested but I don't see why it would not work.

well job
it is possible to use the original 2020 on the X axis because I don't use titan aero .

you print this with PETG ?

thanks a lot

thank you for this upgrade.

In principle I am interested in modifying my CR-10S to eliminate a mechanical issue.
The problem is the z-roll system. It's too stiff so it cants the x-unit.

But with the x-carriage I have no problems except for the high and uneven wear of the rollers between top and bottom.
Although these rolls are not ideal and have wear, the print quality is surprisingly good.

So my question is, what exactly does this upgrade improve?
Do you see any difference in print quality or accuracy?

Yeah for me the wheels always caused some sort of issue, it was either too much play or sticking from when the wheels get flat spots. It was just really hard to have any sort of repeatability. So right now all my axis including my bed are on rails and it really does help.

As far as quality it's tough to say since that really wasn't my main goal so I didn't really test for after changes. I'm sure that it made a difference but I also changed so many thing it's hard to point to one.

If you're only looking to only do your Z axis, I have seen someone make a much easier adapter plates that just replace the wheels. It looks well made and rather simple.

CR-10 Z-Axis linear rail mount adapter

Thank you for your explanation.
The z-wheels cause a lot of stress. They cannot be adjusted in angle or distance to the other side. My inner wheels already sit tight on the profiles while the outer wheels barely touch the profile.
When I press one side more, the x-unit is no longer levelled. It is a very rigid over-determined system.

Can you adjust the linear bearings to the rail spacing?
Does everything run smoothly without jamming?

I also noticed that the lead screw is not aligned with the motor shaft. When I removed the upper bearings, I noticed that the right leadscrew has 3 mm less distance to the frame at the top than at the bottom. This means that the Z motor must be placed 0.44 mm closer to the frame. But that's not possible, the motor is already sitting on the frame.
The left spindle has even 4 mm less distance at the top.