The Two-Axis Gantry–Part 2


After machining an H-Bot, I discovered an issue involved in moving the platform about a two-dimensional space. In what follows, I’ll discuss the drawbacks of the H-bot design and then discuss how the Core-XY overcomes these drawbacks. Quite naturally, I just couldn’t resist building one too, and I’ve listed a build log with some tricks for making your own. Feel free to email me for CAD models and more info.

The Motivation

Drawbacks of the H-Bot

The H-bot design is straighforward, clean, elegant; yet it has an inherent design issue that can throw the precision motion out of spec for all but the few H-bots made under very tight tolerances. To see why, we need to take a close look at the net forces acting on the moving axis. Consider the following diagram below

Suppose we’d like to move the platform in the +x direction. To do so, we’d produce a torque M in each motor counterclockwise to produce the following forces on the platform. Since belts only exhibit a force in tension, I’ve drawn a squiggly arrow to represent a loose belt while a straight arrow represents a force T carried by a belt under tension. From an ideal physics standpoint, the y-vectors cancel, and the platform moves to the right in the +x direction.

However, this motion occurs under the assumption that the moving axis is perfectly rigid, an assumption that doesn’t make sense in the real world. To see where we start to have issues, we need to take a close look at the net forces acting on the moving axis. Consider the following isolation diagram of just the moving axis below:

Taking the moving axis as a whole, we can see that the two belt tensions exhibit a net torque about the moving axis’ center of mass. For this reason, Hbots that aren’t purely rigid will exhibit a flex. Furthermore, this flex isn’t just present in left-to-right motion, but in all linear combinations of motion. It just so happens that the net moment is maximized when the platform is moved purely left or right and zero when moved up and down.

If the tolerances are tight enough, this flex may be negligible; but in many high-end 3d printers and other precision motion systems, this flex can limit the quality of the parts produced. For a great example of this flex in action, take a look at the prototype shown here at 0:38.

The CoreXY

The Core-XY happens to solve this net torque issue inherent to the H-bot. The Core-XY is a two-axis linear motion implementation developed at MIT Media Labs. The design itself is open source; nevertheless , at the time of writing, it has yet to spread around the 3d printer community as common design choice. Overall, it delivers the same benefit of the H-bot, a light moving platform, by keeping both motors fixed to the frame rather than mounting one motor on the moving axis. Furthermore, by crossing the belt, the unwanted torque vectors are eliminated. To see why, let’s take a look at the force vectors again. Have a look below:

Now suppose we exhibit a moment M in both motors, Once more, the platform moves in the +x direction as expected. Again, the force vectors in the y-direction cancel each other out as well. However, this time, no net torque is exhibited on the moving axis. For this reason, the moving axis does not twist in response to this motion.

It’s a small change in belt pattern, but it leads to a world of difference in the real world. With a CoreXY design, an extremely rigid setup is no longer as critical a requirement as it was for an H-bot design. In other words, we can assemble one from 80/20 beams and a bit of hand-tuning.

Design Tricks

Over the past year-and-a-half, I’ve been building up a CoreXY and slowly adding in the features for a laser cutter. Along the way, I’ve picked up a couple implementation tricks in the shop. Here’s a quick list of noteworthy characteristics that discovered in designing and building two versions:

  • Delrin Component Design: Delrin is far less brittle than acrylic, allowing it to deform slightly more without cracking. That said, components can be fastened onto delrin plates and tightened down without cracking delrin. Delrin also cuts almost as well as acrylic on a 40[W] laser cutter.

  • Hand Tapping: Delrin provides the benefit of being softer than acrylic. This characteristic makes hand-threading screws very feasible. In fact, in many places, I relied on being able to hand-thread the shoulder screws just by screwing them in gently by hand. Acrylic is far too brittle to get this trick to work reliably.

  • Pulley Locations: Four pulleys on the gantry corners bend the belt into its characteristic CoreXY pattern. Provided that the pulleys are set at the correct height, the actual location of the pulley on the corner plates has a lot of “wiggle room.” In other words, a drill press, rather than a mill could be used to drill holes to set the locations of these corner pulleys.

  • Bore Reduction: Not all pulleys and motor shafts come in mating inner and outer diameters. The right component to fix this issue is called a bore reducer, but, all-things-considered, it’s basically an aluminum tube. One trick that we can use in the field is to cut an aluminum soda can into a thin strip and wrap it around the motor shaft until the the outer shaft mates with the inner. At this point, the set screw on the pulley will hold the two components together.

First Implementation: Fall 2013

I’ve been starting off of the old H-bot design, pushing more of the parts to the laser cutter without sacrifcing performance. The benefits? Moving parts to be laser cut saves hours of machine time and makes the design easier to fabricate without requiring a machine shop. For that reason, while many of the plates start here as aluminum, future revisions could be dropped in with delrin versions. Here’s a quick run-down of the features of rev 1.

Non-coplanar belt:

The Core-XY design relies on a non-coplanar belt path to drive the center platform. In this case, both the right motor and its belt, are offset above the second belt with nylon spacers. In this way, both belts remain parallel to the plane about which the center platform moves.

The corner plates are identical to those from the H-bot with a few extra holes drilled into them. Shoulder screws and silicone lubricant keep the gantry rolling squeak-free. All parts involved in the belt drive were sourced from McMaster-Carr in this case.


On the left, just like in the H-bot, budget pulleys are constructed from two discs of delrin sandwiching a conventional VXB ball bearing. By placing a washer between the bearing and the delrin discs, the bearing slides freely, guiding the pulley while maintaining belt tension. On the right, MXL pulleys guide the toothed end of the timing belt. Shoulder Screws hold them in place, lubricated with a silicone lubricant. Nylon spacers handle the non-coplanar offset of the second belt.

Set Screws:

I chose set screws to secure the linear shafts to the 80/20 angle plates. Each set-screw fixes the linear shaft to an end-piece, but it also provides the benefit of easy removal, in case the gantry needs to be disassembled for transport. These screws also offer the benefit of later switching to a design with slightly different dimensions.

Second Implementation: May 2014

In my last weeks at the Harvey Mudd machine shop, I made a number of changes that make the design overall a bit cleaner, while sightly reducing the number of components that need to be machined.

Upgraded Pulleys:

The revised pulleys feature two smaller ball bearings from McMaster-Carr. This change eliminates the need for any lathe-work to make a shaft that will hold the vxb bearing in the previous version, another step towards reducing the fabrication complexity. The plate also gets the bonus of being just a bit lighter.

Cable Carrier:

Cable Track (also another McMaster-Carr find!) does an excellent job cleaning out the clutter. It’s sold by the foot, and it’s a nice professional-looking touch. Looks aside, it does its job by ensuring that wires remain untangled and out of the laser’s line of fire.

Upgraded Belt-Tensioner:

Motion of the center platform works best when both belts are at a moderate and equal tension. This upgraded belt-tensioner allows for quick tensioning a hex wrench. One end of the belts rests on slots such that both may be tugged by the stationary block of aluminum to the left.

Coming Soon: The Laser-Paper-Cutter

Ok, let’s face it: laser-cutters are expensive freakin’ awesome, so why not build one? I’m in the midst of converting the latest CoreXY revision to do just that, although I’ll have to settle with just cutting paper for now. Right now, I’m in the midst of ironing out a workflow to go from dxf to gcode. I’ll keep this page up-to-date as more unfolds. In the meantime, feel free to write to me for the CAD files or more details.