Assembling the CoreXY components in a custom 3D printer
Our site is reader-supported. When you buy via the affiliate links on this site, we will receive a commission at no cost to you. All opinions remain our own. Learn more

3D Printer Build Log: X-/Y-axis Assembly

It has been a while since I made a post on the new CoreXY 3D printer (tip: don’t start too many new projects at once). Lately I made some solid progress on it however, so I figured it was time for an update.

Since the last post, I have added the CoreXY gantry components and got all the X- and Y-axis motion fully working. Aside from some minor details, this part of the 3D printer is now complete and I am ready to move on to the next section.

In this post, I will show you the progress I made and share the details.

A complex assembly of printed parts, belts, motors and aluminum extrusion inside of a partially built 3D printer.

Main CoreXY motion components

Just like on the Z-axis, for the X- and Y-axis I also went with linear guide rails mounted to aluminium extrusion. A bit pricier than using linear rods, but the extra rigidity is worth it on a 3D printer this size.

For the Y-axis I used MGN12 linear guides mounted to the 3030 extrusion of the frame, but for the X-axis I chose smaller MGN9 guides mounted to 2020 extrusion instead. This was mostly done for weight saving reasons. All X-axis components move back and forth across the Y-axis. Less moving weight means that the 3D printer can print with higher speed/acceleration and prints end up with less ghosting/ringing artifacts.

The bottom of a coreXY motion system using aluminum extrusion and MGN12 and MGN9 linear guide rails.

The MGN9 rails also use smaller carriages than MGN12 rails, which meant I could design a more compact extruder carriage for the printer.

The guide rails themselves are nothing fancy, just budget rails from Robotdigg. Fixing minor issues on the rails by hand gave me more than good enough results on a budget.

On the X-axis I used two guide rails. With one rail, the extruder carriage was not mounted rigid enough. There was a bit of play in the carriage that caused an ever so slight radial rotation on the carriage. To prevent printing artifacts from that, I decided to add a second MGN9 rail on the rear of the 2020 extrusion and stop any unwanted movement.

A close-up of a compact 3D printer extruder carriage that uses two MGN9 rails and carriages.

Timing belts

The printer uses standard fiberglass reinforced 2mm GT2 belts, as I did not see any reason to use anything else. Steel core timing belts, for example, do not work well with the small pulley sizes that this 3D printer will use. Similarly, other belt pitches (3mm) do not offer benefits either. At least not for 3D printing purposes.

As for the belt paths, I went with two non-intersecting vertically stacked belts. This is different from my previous CoreXY 3D printer, that had the belts cross over.

An overview of the timing belt path of a 3D printer that uses coreXY mechanics.

This belt arrangement is similar to the belt path of the Voron 2. One difference is that with this arrangement there is no need for a belt tensioning mechanism. Here tightening the belts can be done by simply moving the stepper motors inwards.

Two NEMA17 stepper motors mounted on aluminum extrusion with two arrows to indicate their belt tensioning direction.

To mount the motors I used 3D printed mounts and rubber vibration dampeners. I’m not entirely sure if the dampeners will be necessary. The NEMA17s that I use have 0.9 degree steps, are driven by 256 microstep stepper drivers and are mounted on a heavy, solid frame. That whole arrangement is not vibration-prone to begin with, and the dampeners might not make that much of a difference.

A NEMA17 stepper motor with rubber vibration dampener mounted to an aluminum extrusion frame.

One way I do expect to benefit from the dampeners is from their temperature insulation properties. The stepper motors will get hot when the printer is enclosed. Having the dampeners in between the motors and the plastic mounts will help prevent the mounts from softening and deforming.

Because the stepper motors are not in direct contact with the frame, they are not grounded. Because of this, I made sure to add wires between the motor casings and the frame (which is grounded). This allows any built-up static charge from the motion of the belts to dissipate. Without it, static charge can start to arc over to the motor windings and cause problems.

A NEMA17 stepper motor with a wire leading from its casing to an aluminium frame to dissipate static charge buildup.

Cable chains

To manage all the wires coming from the extruder, I used cable carriers/drag chains. I thought about using DIY tape measure cable chains, but those are too much of a hassle to use when regularly adding and removing cables. Plastic cable chains are a lot easier in that regard.

On the Y-axis I used a 10*15mm chain, and on the X-axis a 10*10mm one. The 10*10mm chain should be big enough for the wires that need to run through it (stepper, hotend heater, hotend sensor, IR sensor, fans). But if I want to add a second extruder at some point, I probably have to switch to a larger chain. I will cross that bridge when I get to it.

An overview of the cable carriers on the X- and Y-axis of a DIY 3D printer.

Cable chain bridge

To get the cables from the X cable chain to the Y cable chain, I added a 3D printed bridge. I spent quite some time on designing it, but I am happy with how it turned out. The style matches that of the chains and it blends in nicely.

A black cable chain bridge inside of a custom coreXY 3D printer made using aluminum extrusion.

It has a detachable cover for easy access to the inside.

A black 3D printed drag chain bridge with its cover removed connected to a 10*15mm drag chain

Like many of the parts on this printer, it uses brass inserts for the threads. This lets it be taken apart and reassembled repeatedly without the threads wearing out (like what happens with plastic threads).

The back of the bridge also contains a discrete hole to route the X endstop wires through. Once again, keeping things clean and removing the need for cable ties.

The rear of a 3D printed cable chain bridge with brass threaded inserts and a hole for endstop wires.

What is next?

There are still a couple of minor things that I need to do to finish the X/Y components. Wiring up the endstops and routing the stepper motor wires, for example. I will do that after I build the extruder, because then I can do all wiring at once.


  • Tim

    Tim is the founder of Clever Creations. He is passionate about building, repairing, and anything DIY related. When he is not busy writing about these topics, you can find him in his workshop.

6 thoughts on “3D Printer Build Log: X-/Y-axis Assembly”

  1. Hi Tim,
    I found your project accidentally while I was searching some ideas for my next project – I´m about to build another corexy printer for myself. I have plenty of 3030 lightweight profiles in my garage (it is so called Consta -profile) and decided to use these.

    I was wondering if you would like to share your stl -files or step -files of your project? My idea was to build a fixed build plate printer this time and it seems that your XY gantry is pretty much what I have been looking for. Except that your X-axis is made from 2020 profile – I decided to use the same 3030 profile and MGN12 -rails and carriages which I already have… so minor changes to come but I like your design a lot… 🙂

    Please let me know if you´re willing to share your project and files. I will of course share my project with you then… 🙂

    Best regards
    -Mika Sihvonen, Lahti, FINLAND

    1. Hi Mika,

      the files will be available for download once I have finished the entire project. I can’t say for sure when exactly that will be.

  2. Nice build, pretty much what I have been looking to do. I will be following along, thanks for sharing. What didn’t work is as important as what does, appreciate those being included.

    A mains powered bed heater is the way to go for something this size. Should heat up much quicker than a low voltage DC bed. I suspect many kits use DC bed heaters more for liability reasons than anything else.

    1. I definitely agree on bed part. Even though low voltage DC beds also come with (fire) risks from the high amperages they pull through their wiring and connectors.

  3. Hey, love the build, super clean, just wondering if you had any guides or tutorials you’d recommend for designing a printer in cad? I know what I want to do, I just don’t know how to do it haha. (I have cad experience so that’s not the issue.)

Leave a Comment

Comments are moderated on a ~24-48 hour cycle. There will be some delay after submitting a comment. Your email address will not be published.

Scroll to Top