Tuesday, July 25, 2017

UMMD 3D Printer CoreXY Mechanism

CoreXY printing mechanisms are popular with people who have built 3D printers before but seem to intimidate noobs.  The mechanism is a little strange, most often compared to an etch-a-sketch.  The inventor of coreXY has a website that explains the origin and operation of the mechanism.

CoreXY: Kinematics for Personal Fabrication from Ilan Moyer on Vimeo.

Notice that both motors turn when the extruder moves in X alone or in Y alone.  When the extruder carriage moves at 45° or 135°, only one motor is turning and must supply all the torque required to move the entire X axis.  In coreXY machines, if the acceleration or jerk/junction deviation is set too high, layers start shifting when the printer starts laying down infill at 45° or 135°.

In a coreXY 3D printer, the extruder moves in X and Y and (usually) the bed moves in Z.  This has a few advantages over the much more common bed-moves-in-Y type architecture.  My last printer, Son of MegaMax (SoM) is a great example of the problems you can encounter in that architecture.

The bed is relatively massive, especially if it's well made.  Throwing it back and forth at print speed is difficult to do without creating defects in the prints.  In SoM, I had to resort to using a precision ground ball screw to move the Y axis, driven by a large motor with its own DSP driver and power supply.  Though it produces very high quality prints, it's noisy and slow, with print speed limited to about 40 mm/sec.  In this type of printer, if acceleration and or jerk/junction deviation are set too high, prints start shifting along the Y axis.

In a coreXY mechanism, there are two motors, designated 𝛼 and 𝛽, and two belts driving the X and Y motion.  The greatest moving mass is the Y axis which moves the entire X axis and extruder carriage.  That total moving mass is usually much lower than the mass of a print bed, so it is easier to keep it under control without resorting to special electronics and motors.  The motors are mounted on the printer's frame so they don't add to the moving mass.  With careful design you can minimize the remaining moving mass and produce a high speed printer.  The relatively massive bed (3.2 kg in UMMD) moves in Z which is typically very slow, so it's not too difficult to control it.

The main disadvantage of the coreXY mechanism is long belts and multiple pulleys.  Belts stretch and act like springs. The stretching under dynamic conditions can create print artifacts such as ringing.  More minor issues are connecting the cables and feeding filament to the extruder that moves quickly in two dimensions.

There are two common techniques for laying out the XY mechanism.  The first is to put both belts on the same vertical level - they run alongside each other.  This layout necessitates a twist in the belts where they have to cross each other.  The other technique, which I chose for UMMD, is to stack the belts on two levels, one above the other.  That eliminates the need to cross and twist the belts, and allows the pulleys to be stacked, but creates another problem.

Belt layout used in UMMD.  Belts and pulleys are stacked, upper belt (red) is above lower belt (green) everywhere.  Belt segments labeled A-H must be kept parallel to their respective guide rails.

If you push on a fence post near the bottom, it won't move much.  If you push on it near the top it usually bends over pretty easily.  That's the situation you have with a stacked-belt coreXY mechanism.  The tension on the belts puts a lot of lateral force on the pulleys' axles.  You have to build the mechanism very solidly to prevent the pulley's axles from tilting under the load produced by the belt tension.  Don't even consider standing up a bolt in a piece of printed plastic for a pulley axle!

In UMMD, that problem was solved by mounting the pulleys inside rectangular aluminum tubes with the axles passing through the tops and bottoms of the tubes.  The tubes have large surface areas that can be screwed down at multiple points, making for very rigid pulley mounts that don't visibly flex when subjected to belt tension force.

UMMD has 9 mm wide belts instead of the more common 6 mm wide belts because they will stretch less when subjected to the same forces.  That means the pulleys have to be wide enough for 9 mm belts.  Since I didn't intend to twist the belts, their teeth will be contacting the smooth pulley surfaces. Using too small diameter pulleys can create defects in the print surface.

The recommended minimum diameter for smooth pulleys contacting GT2 belt teeth is a diameter that is equivalent to a 40 tooth pulley.  The diameter of a 40 tooth pulley for GT2 belt is about 25 mm.  Pulleys for long belt runs also need flanges to help ensure that the belt stays on the pulley.

UMMD needed flanged pulleys at least 9 mm wide and about 25 mm in diameter.  After some searching I found that common F608zz bearings could be stacked to make a pulley that would meet almost all those criteria (actually the space for the belt is 11 mm wide).  They are 22 mm in diameter, so a little smaller than the recommended size.  I took a chance on them and they seem to be working just fine without producing any visible print defects.

P1 pulley assembly made from 2" square aluminum tubing.  This whole assembly rides on the right side Y axis bearing block.
P3 pulley assembly made from 2" square aluminum tubing.  This assembly is stood off the base plate by a printed red spacer.  Note larger pulley on top.  Old Y axis endstop shown, eventually moved to P4.

P4 pulley assembly sits at the left rear corner of the printer.  Belt segment K rides on a pulley made from F6902zz bearings. Note larger pulley on the bottom.

Motors and Mounts

I wanted to try 400 step/rev motors so I got the highest torque NEMA-17 size I could find, 64 oz-in. holding torque (about $15 each, IRIC).  I was pleasantly surprised to find that I can run the mechanism at over 200 mm/sec with acceleration at 10,000 mm/sec² and it doesn't miss steps even when only one motor is moving the mechanism.  I haven't tried pushing it to its limits.  I routinely print at 100 mm/sec and get print quality almost as good at Son of MegaMax's at 40 mm/sec.

Both motors have 20 tooth drive pulleys and operate with 16:1 𝜇stepping.  That yields 160 𝜇steps per mm.

The motors, like the pulleys, are subjected to side loading due to belt tension.  That means the motor mounts have to be very solid or the motors will tilt.  Since the belts are stacked one above the other, the motors have to be offset vertically by the same distance as the belts.  Some provision has to be made for adjusting belt tension.

UMMD uses tubular aluminum motor mounts for the same reason tubing was used for the pulleys mounts.  Aluminum tubing is commonly available in 1/2" incremental sizes.  When you stack two pulleys made from F608zz bearings with a washer between them, the center of the pulleys are about 1/2" apart.  I found that I could use a 2" square piece of tubing for one motor mount and a 1 1/2" x 2" piece of tubing for the other, lining up perfectly with the other pulleys.  I allowed for adjusting belt tension by mounting the motor mounts on flat plates with slots.  Tensioning the belts is as easy as pulling on the motor mount then tightening the screws that hold it to the plate.  I extended the flat plates to mount the motors outside the printer's enclosure so they wouldn't get too hot.  The aluminum motor mounts help transfer heat out of the motors, too.  A win-win situation!

If you don't have two sizes of tubing available, you can use one size for both motor mounts and put a spacer under one of them to lift it up.

UMMD XY stage motor mounts.  The one on the left is 2" x 2" x 1/8" tubing.  The one on the right is 1.5" x 2" x 1/8" tubing.  Holes in the bottom are tapped for 10-32 screws and serve as tool access holes for mounting the motors.
"𝛼" motor mount made from aluminum tubing.  Slots in the base plate allow the mount to be shifted to tension the belt.  The "𝛽" motor mount is made from 2" x 2" tubing.
Underside of 𝛼 motor mount.  

Printed cover added to prevent pinched, curious fingers.  There is a complementary piece on the back of the mount that is slotted to allow the belt to pass through.  The two pieces are held in place with two screws.  A similar cover was added to the B motor mount.

Common Errors in CoreXY builds

There's one very common error in coreXY design and construction.  If you look at the belt layout, you can divide the belts into segments at the motors and pulleys (see the first image, above).  Segments J, K, and M don't change length when the X or Y axes move.  Segments A-H all change length depending on the extruder carriage location and have to be made parallel to the guide rails or linear guides by careful positioning of the pulleys.  If segments A-H are not parallel to their respective guide rails, the belt tension will vary depending on the extruder carriage position.  In extreme cases, it can cause the belts to slip or even fall off the pulleys, or motors to stall.  In less severe cases, prints will be distorted.  Here's an example of a coreXY design in which none of the belts are parallel to any of the guide rails.  Don't do that!  Here's another.  Can you spot the error?  Beware- the internet is chock full of bad designs created by well-intentioned designers!  Finally, one more extreme example, which illustrates one more point- segments A-H must all be parallel to their guide rails in all 3 planes, XY, XZ, and YZ.

So many problems!  Belt segments A, B, G, and H are not parallel to the Y axis guide rails in the XY plane.  Segments C, D, E, and F are not parallel to the X axis guide rails in the XY or XZ planes.  Compare the tensions of the belts at the two motors at the rear of the frame in this photo.  Ouch!  Original photo link. 

There are other less common errors, too.  I saw one instance where the builder put a 16 tooth pulley on one motor and a 20 tooth pulley on the other.  The motors should be identical, or at least should be built for the same number of steps/rev.  In the firmware configuration you must set both X and Y axes for identical steps/mm.

Belt Tensioning

The diagram of the belt layout provides clues to how we can safely adjust belt tension without disturbing the parallel relationship between the belt s and the guide rails.  You can move the motors in the Y direction, or tension the belts where they attach to the extruder carriage by moving the attachment in the X direction.  Don't move the motors or any of the pulleys in the X direction!

In a coreXY mechanism, any changes to tension in one belt results in a not-necessarily-equal change to tension in the other belt, no matter how you adjust tension (moving motors, moving attachments at the extruder carriage, etc.).  So, when you're tensioning belts, you're going to make two adjustments.  With the first adjustment (moving the 𝛼 motor, for example), leave the belts a little looser than you want them to be, because they will both tighten up when you make the second adjustment at the 𝛽 motor.  If the belt tensions are not close, the X axis may shift so that it isn't perpendicular to the Y axis, so you must check the alignment of the X and Y axes as/after you tension the belts.  A framing square can be used to check for squareness, but the ultimate test will be to measure diagonals of a rectangular or square test print.  If the diagonals match, the alignment is square.

UMMD's Structure

I wanted UMMD's coreXY stage to have very solid construction, independent of the rest of the printer's frame, so it was built on its own subframe of 40x40 mm aluminum t-slot extrusions with two 1/4" cast tooling plates on either side to mount the Y axis linear guides.  The plates were extended beyond the 40x40 frame for the motor mounts.  The 40x40 frame is bolted directly together with 5/16-18 button head cap screws, and the two side plates are bolted to that frame with 5/16" carriage bolts.

The Y axis uses two NSK LE-12, 24 mm wide x 8 mm high linear guides with one bearing block on each (purchased used, via ebay for $75 for the pair).  They are bolted to the flat plates using #6-32 screws with star lock washers and nuts.  The carriage bolts that secure the flat plates to the 40x40 frame serve as mechanical stops for the Y axis bearing blocks.  The Y axis blocks serve as bases for tubular pulley mounts which also provide a convenient mount for the X axis guide rail.

The X axis uses an IKO LWLF-24 linear guide with two bearing blocks (purchased as NOS via ebay for $30).  One bearing block is used for the extruder carriage and the other is used to attach the guide rail to the Y axis bearing block, allowing for thermal expansion of the printer's frame.

Early photo of the coreXY mechanism used in UMMD.  Only minor changes have been made since it was built.  There is a square 40x40 mm t-slot subframe with two 1/4" cast tooling plates.  The Y axis rails are NSK LE-12 and the X axis rail is an IKO LWLF-24, all of which are 24 mm wide and 8 mm thick.  Note the extra bearing block on the X axis (at the top of the picture) which allows for thermal expansion of the machine's frame.

When the printer is enclosed and heated for printing ABS, the steel X axis linear guide will expand much less that the aluminum printer frame.  As the frame expands, the Y axis linear guides will move apart.  If the steel X axis guide rail is solidly bolted to the Y axis bearing blocks, when the Y axis guides start moving apart, the X axis rail will put huge side loads on those bearing blocks, possibly causing the mechanism to bind.  I addressed that potential problem by bolting the X axis rail to only one of the Y axis blocks via the pulley mount.  At the other end of the X axis I used a second X axis bearing block (at the top of the X axis in the photo above) to connect to the Y axis bearing block via the tubular pulley mount.  This allows the Y axis rails to move apart but fully constrains the X axis otherwise.  It seems to be working well.

I tested it as a plotter before I built the rest of the machine: 

Here's the mechanism mounted on the printer and running at 150 mm/sec:

First print:

Note: corners are lifting because I'm printing PLA without a print cooling fan that was added later.

Extruder Carriage

The extruder carriage design is under frequent revision.  It is made from- you guessed it- a piece if 2" square aluminum tubing.  I carved away a lot of material to make room for an E3D Titan extruder and v6 hot end.  It has been drilled full of holes to accommodate whatever I need to bolt on in the future.  Extending it downward isn't ideal in terms of mechanical performance- it would be better if the extruder nozzle were closer to the bearing block, but that was impossible with my XY stage and Z axis designs.  I have a CubeX Duo printer with a large extruder carriage and it's almost impossible to see what's happening at the nozzle, which I find very annoying.  This design allows for pretty good visibility, and I haven't been able to identify any print defects related to flex in the extruder carriage or play in the bearings.

The back of the extruder carriage showing the soon to be replaced print cooling fan and the X=0 switch.  Wires are held together with short pieces of velcro tape that can be reused over and over without leaving any sticky residue.

Front view of the extruder carriage.

The belt clamps are printed ABS, and self-locking.  The belts fold over on themselves, teeth to teeth which prevents the belt from pulling free of the block.  Details of the design can be seen here.  The width of the clamps matches the diameter of the pulleys at the ends of the X axis and spaced away from the X axis linear guide by the same amount as the pulleys, keeping belt segments C, D, E, and F parallel to the linear guide.  The belt clamps can fit inside the P1 and P2 pulley assemblies when the extruder carriage is at the extreme ends of the X axis.

Left side extruder carriage belt clamp- the right side is identical.  Belt segments D and F (and C and E on the right side) must be kept parallel to the X axis guide rail, so the clamp is 22 mm wide to match the diameter of the pulleys in the P1 (and P2) blocks.  The clamp is self-locking by folding the belt back on itself.

The extruder carriage belt clamps fit inside the pulley assemblies at both ends of the X axis without interfering with either the pulleys or the belts.

The extruder carriage wiring goes through a drag chain to the controller board.  One end of the drag chain anchors to a post on the extruder carriage and the other end to the left side of the printer's frame.

Limit switches

CAD software and slicers all use the standard right-hand rule coordinate space.  That means the printer must do the same or the prints will come out mirrored.  That means the printer's origin has to be at either the front left or right rear corner of the machine.

UMMD's XY origin is at the front left corner of the machine.  The Y limit switch is located on top of the P4 pulley assembly at the back of the machine (I know, the photo shows it on top of the P3 pulley assembly, but the picture is old), so it gets activated when the Y axis is away from the origin, therefore, the Y limit switch is at Ymax and the controller's firmware is configured to "home to max" in the Y axis.

I originally wanted to put the X axis limit switch on the machine's fame so I wouldn't have to run the wires to the extruder carriage, but couldn't come up with an acceptable way to do it that would work at all Y positions.  I ended up mounting the X limit switch on the back of the extruder carriage.  It bumps the Y axis linear guide mounting plate on the right side of the machine, again, away from the origin, so the firmware is configured to home to maximum in X also.

I could just call the right rear corner of the printer the origin, and call the switches X=0 and Y=0, and tell the firmware to home to minimum, but I use Slic3r a lot and it's default view assumes the origin is at the left front corner of the machine.  The way the switches and firmware are set up now, the print goes on the bed in exactly the same orientation you see when you slice it in Slic3r.  I like that.

8/3/18  Update:  just in time for a Hack-a-day feature, I was working on a new post that goes into more detail about the layout and belt tensioning.  

1/28/20 Update:  made some changes to the design, including changing the P1 and P2 pulley mounts to 1.5" x 2" tubes and mounting optical endstops.  Fusion360 file of the new version is here.  Check the newer blog posts here and here.  The extruder carriage has gone through multiple changes, too.  The latest and probably final version is in the Fusion360 file linked above.  The Z axis also went through a few changes that correspond to the changes in the extruder carriage. See this post.

No matter how good you think it is, there's always something that can be improved.


  1. Have you considered the volcano hotend before? It seems like it'd be suitable for such a large machine.

    1. I have used a volcano on this machine, but I have been unable to tune retraction and other settings to get it to produce acceptable quality prints. It's OK for vases, but other prints often have gaps where extrusion starts and stops.

  2. Hellow!
    Can the lines of CE and DF be combined on an extruder? That is, they will not be parallel, but converge to an extruder.

    1. The only way is to offset the pulleys at P1 and P2 so that the CE and DF belt paths will line up. If there is no play in the extruder carriage bearings (such as a quality linear guide), it doesn't matter that those segments don't "converge" on the extruder carriage.

      Paths A-H must be parallel to the guide rails, no matter what kind of bearings or rails you use.

  3. Thanks for detailing your excellent work. I've got a question regarding the P3/P4 assemblies. Why are larger bearings used? Was it only to smooth out the belt teeth? It would be OK to use smaller toothed pulleys instead?

    1. As the X axis moves toward pulleys P3 and P4, segment A, bent around P1, gets very close to segment J. Likewise, segment G, wrapped around P2 gets very close to segment K. The larger pulleys were used to ensure that there would be no interference between the belt segments because J, wrapped around the larger P3 pulley, is moved outward, away from A.

      Before I built the XY mechanism, I wasn't sure if the belt segments were going to wobble and bump into each other when the machine was operating, so I created the extra clearance. The belts don't wobble so it isn't really necessary to use larger pulleys.

  4. From what I understand, the X/Y axes are limited only by how long your belt is and how long you can make the rails, right?
    But where do you find a suitable large Hotbed?

    1. There are a few Chinese companies that will make a custom size bed heater for you.

      There are other considerations for size limits. If the bed is heated, a large bed will require a LOT of power. If the bed is very large it will be heavy and you need to design a suitable lifting mechanism. If the X axis rail is very long, it may sag, and may flop back and forth a bit when you try to start and stop it suddenly. That will limit acceleration/jerk/junction deviation which will in turn slow printing down.

  5. the plate is made up of aviation grade aluminum which helps in preventing warping of 120 Fahrenheit temperature.

    1. Unlike the phrase "aircraft grade", "cast" actually means something specific about the way the plate is made. As nearly as I can tell, "aviation grade" is mostly a marketing term use to impress people: "if it's OK for airplanes, it must be OK for what I'm going to do with it", and to enable charging a higher price for the product. Is your "aviation grade" aluminum the grade/alloy they use to make casters for the drinks cart or the stuff they use to make the wings?

      Cast aluminum tooling plate isn't usually called "aviation grade" but it works perfectly for 3D printer beds.

  6. orthoclaise feldsparJanuary 14, 2019 at 1:05 AM

    Great build! For your fasteners, you use "carriage bolts" to secure the plates. Are these literal, square-shouldered carriage bolts, and if so, did you mill the holes square to fit, or are they more like hex bolts or socket-head screws with a straight-shaft hole?

    1. Thanks. I used 5/16"-18 carriage bolts with square shoulders. The heads/shoulders fit into the 8mm wide slots in the aluminum t-slot frame members. There's no need to mill anything.

  7. orthoclaise feldsparJanuary 14, 2019 at 10:28 AM

    Ah, that makes perfect sense. I've got a source for 1.5" x .25" square tubing, so I think I'm using that instead of 4040 T-slot, so I hadn't taken that into account.

  8. Thanks for the great posts! I'm learning a lot.

    It might be a silly question, but how do you know everything is orthogonal? The tooling plate has good specs, but the t-slot extrusions could be warped making the plates not co-planar. Why mount the Y axis linear guides on tooling plate to start with?

    1. Orthogonality can be verified by measuring diagonal corners of anything that is supposed to be square. If the diagonals are the same length, the sides are square. Sometimes it is hard to measure the mechanism because of the way it is built. In that case, print a large (not small!) cube and measure the diagonals in all three planes.

      I put the Y axis guide rails on aluminum plates to provide a flat surface for them and to ensure that they would be coplanar so I'd only need to align them parallel to each other- pretty easy to do.

      The t-slot was bolted together on a flat surface, then the aluminum plates were bolted to the t-slot frame. I don't have any means to measure it, but it's pretty good, and works perfectly.

  9. Can you comment on your selection of linear guides and the decision of rounded vs grooved rails? Ball bearing or sleeve bearing? Thank you for your insight!

    1. Linear guides are as close to perfect bearing/rails as you can get. In a well made linear guide, there is zero play in the bearing block- the only motion it is capable of is down the rail. I buy whatever size is available cheaply, usually used, but sometimes new, usually Japanese made. Based on what I have read in the forums, I'd rather take my chances on getting a worn out, used, high quality linear guide than buy a new, cheaply made piece of junk. The most important characteristics for a 3D printer are the length of the rail and the number of bearing blocks. 3D printers are not much of a load for even small linear guides, so almost any size available will do. You can cut the rail to length needed using a cutoff wheel on a grinder. 12 and 15 mm linear guides seem to be most common on the surplus market.

      Round rails can be made to work, but they're typically end supported and have to be used in pairs which can make aligning, and keeping them aligned difficult. They will tend to sag under the weight of the bed or extruder carriage.

      If you're going to use round rails, I prefer linear ball bearings, but they have to be used on hardened rails or the balls will chew grooves into them. I don't like polymer bearings much, mainly because they are not so easy to use properly, and wear out when used improperly.

  10. Regarding the X-axis bearing block at P2, was this put in as part of the initial design, or found to be necessary soon after assembly? I can see that it will allow the X-axis linear rail to move free even when the frame expands or contracts due to temperature changes, but in others' designs, both ends of the rail are tied down.


    1. Before I came up with the kinematic mount for the bed plate, I used a short linear guide at the roll screw in SoM to allow thermal expansion of the bed plate without forcing the leveling screws to bend.

      When I was designing UMMD I saw forum posts about xy mechanisms built using linear guides binding due to temperature changes, so it was a simple and obvious (to me) solution to add the second bearing block to the X axis. So yes, it was part of the design from the start.

      Machines made using round guide rails don't often have problems with binding over temperature changes because the rails will flex and the bearings are sloppy enough to accommodate the dimensional changes.

  11. Why did you not use a boden-type extruder and get even more weight off of the moving print head?

    1. It is very difficult or impossible to print flexible filaments using a Bowden extruder, which rules it out for me.

      The big concern some people have about the mass of the extruder carriage usually comes down to printing speed. The Bowden type extruder allows the carriage to carry just the hot-end and leave the mass of the extruder bolted to the printer's frame. In theory that should allow the XY motors to position the extruder nozzle faster, but moving the nozzle at high speed isn't the problem some people make it out to be. Even my very heavy system can print at 200 mm/sec with acceleration at 10k mm/sec^2.

      Controlling extrusion of hot plastic through a tiny nozzle is the most difficult problem in FDM printing. Doing so at high speed is never easy.
      The added complication of a long Bowden tube between the extruder and hot-end makes that problem a lot harder.

  12. So I see you mention using large enough smooth bearings on the toothed surfaces of the belt. Is there a reason to not just use GT2 pulleys in this location (and any location that has teeth on the bearing surface)? Cost? Availability?

    (It seems like a benefit of using toothed pulleys, esp if you use the same size as is driving the belt via the motor, is that you don't have to calculate an offset to keep the belts parallel, as you do when you use a smooth bearing)

    1. GT2 pulleys can be used, but they typically have very small, cheesy bearings that I wouldn't count on to last long. You could go with motor drive type pulleys, and add a shaft and a couple outboard bearings, but that's getting pretty complicated and you can't stack the pulleys that way. The F608 bearings are cheap, readily available, and capable of handling much higher loads than they'll see in a 3D printer, so they will last. There are probably other, smaller, bearings that would work fine, too, if you're concerned about the weight.

      You only have to figure out where to put the motor mount/pulleys once, and it isn't difficult to do.

    2. I see. I was thinking of using some 40 tooth GT2 pulleys and boring them for 5/8" ball bearings, mostly because I already have both the bearings and the pulleys from another project (and a lathe). I could probably pick up some of the ones you used also, though.

    3. That should be OK if you want to do the work. One thing to consider is that if you bore holes slightly off center or the pulleys aren't well made, as they rotate they'll be modulating the tension on the belts which will put rotational torque on the X axis. I think bearings are made more accurately than pulleys and putting the belts directly on the bearings is likely to result in more accurate motion.

  13. Mark, what are your thoughts on using a stepper motor with an integrated planetary gear box for the Z axis? Would there be any concerns with backlash or power off dropping with something like a 27:1 ratio?

    1. I don't think there would be any backlash problem, but it may not hold up the bed if power to the z motor is cut. It will depend on the mass being lifted, friction, and the detent torque of the motor. If the gear ratio x the detent torque is enough to hold the bed it may work.

      Any quality defects in the gears will show up in the z axis of the prints, and will repeat each time the gears rotate a full revolution.

  14. Mark, I am encountering a problem and I've run out of ideas on what could be causing it. When printing a cylinder vertically, the points of minimum Y and maximum Y (directly opposing) are flattened. The points of minimum X and maximum X are round. This is on a stacked belt coreXY setup. Because this is at a point of direction change in Y, I am suspecting a hardware issue. Have you encountered similar issue before? Can you suggest a troubleshooting point of departure?

    1. Whenever you have a motion problem the first thing to check is the mechanical basics: hot-end solidly held in its mount/extruder, belts tight but not too tight, drive pulleys securely mounted on motor shafts, motors and pulleys solidly anchored- nothing should wiggle. If you turn off motor power and push the extruder carriage around the printable area the force required to move the carriage should not vary much. Assuming that's OK, check the acceleration, jerk/junction deviation, and speed settings. When you configure a printer, it's best to start with acceleration and jerk set relatively low and then bump them up as you get things working.

  15. Kind Sir, I'm looking over the Internet trying to figure out if having a Core XY printer with crossing X and Y rods is possible (like Ultimaker but core xy) - I don't think I need it for anything I just need to know (to stop thinking about it :) ) - it would seem that constraining the carriage in both axis would be a good idea but since there are no examples of that I suppose there's something I'm missing. Thank you.

    1. Both corexy and whatever ultimaker calls it work fine. I don't know how you'd combine them, or why you would want to.

  16. Thank you for the blog post. It helped me better understand how these work. I was wondering if there are any constraints as far as belt length and accuracy go? do the pulleys need to all be equal distances from each other? For example, using the picture at the top of your post, does the distance from motor "A" to motor "B" need to equal the same distance from motor "A" to "P4" and from "P4" to "P3"?

    1. In theory, yes, using different belt lengths could lead to some minor print artifacts because the longer belt might stretch a little more than the shorter one under dynamic conditions. However, it's more of a philosophical matter than a practical one. Belts don't stretch a lot normally, and if they are anywhere close to the same length, you'll never see any problems in prints that can be attributed to a difference in length.

      The distance from motor to pulley or pulley to pulley doesn't matter as long as belt segments A-H are kept parallel to the guide rails.

      See: https://drmrehorst.blogspot.com/2018/08/corexy-mechanism-layout-and-belt.html

  17. Thank you for your excellent blog. The information on your UMMD design has been a great help. I started building a BLV MGN Cube and after buying a frame kit and printing a bunch of parts I was really dissatisfied with how things were going together. That's when I found your "Tech Topics". The mostly metal design really appeals to me. I have reconfigured the BLV frame and made most of the pulley and motor blocks out of box tubing inspired by your design. I have a CNC Router which has been a great help in making the aluminum fixtures. The X linear guide should arrive in a few days which should allow me to finish the mechanical parts. The CAD model predicts a build area of 350x350mm but I will probably limit the actual limits to something a little less.

    I still need to procure the (direct drive) extruder, hotend and build plate assembly. Based on your experience what do you recommend for these parts? I have found a somewhat reasonable priced source for a Mic6 build plate but I'm torn between 1/4 and 5/16" thickness. I have designed a built a triple Z axis so hopefully the weight won't be a big problem.

    I plan to control the printer with a Duet3 with a toolboard for the direct drive extruder.

    Here's the Dropbox link to my build progress. It is not very complete compared to your blogspot but it is a start.


    1. Thanks for the comments.

      I really like the Bondtech BMG extruder, and have had very good results from the cheapo XCR3D hot-end that I use ($15 from China, but replace the fan with a Sunon for another $7).

      I looked at the dropbox file. I'm not sure how the bed mount works with regard to thermal expansion and adjustment for leveling. Otherwise, it looks pretty good. I think you'll get some great prints from it. keep me posted on your progress.

    2. Check some of my more recent posts, especially the one on XY stage modifications- I added optical endstops and replaced the Y axis linear guides when one failed. The new bearing blocks were shorter than the old ones so I switched to 1.5 x 2" tubing for the pulley mounts on the ends of the X axis.


Leave comments or a questions here and I'll try to post a response as soon as I can.