Why the Core3D printer uses CoreXY

After reading this, please consider supporting me at GoFundMe

The Core3D printer was implemented using CoreXY as its method of motion. When I first learned about it, it reminded me of my etch a sketch. I realize, not the best founded reason for approaching something new.

The other most common methods are Delta and Cartesian. Not sure Cartesian is the right name for one of them as all methods apply to X, Y and Z coordinates. I don’t don’t  René Descartes had in mind how motors would operate to reach X=0, Y=0 and Z=0.

Let look a bit closer at all three methods.

Cartesian

The most common method in the world of 3D Printing is referred to as Cartesian motion. An example of this would be the Original RapRap implementation. Each axis has it’s own dedicated stepper motor(s). One for the X-Axis which travels up and down along the Z-axis. One Stepper motor for the Y-Axis which in case of the Prusa pulls the bed back and forth and 1 or 2 stepper motors for the Z-Axis which in this case lifts the entire X-Axis.

source adapted image

This method is the default implementation for the Marlin Firmware which operates a large portion of the 3D printer world.

Delta

The Delta 3D printer uses a completely different mechanism. The extruder head is controlled by 3 arms that move up and down their own (parallel) rails. The software calculates the proper movement to come to X, Y and Z coordinates.

source image

In the printer above three stepper motors all move in parallel but independently (up and down). The Delta printer is probably the second most available printer. From what I’ve read, trouble shooting is not as straight forward as the motion is is much less intuitive than the standard “Cartesian” motion.

Core XY

Less common, although seemingly on the rise is the Core XY motion. The best way to explain Core XY is to refer to coreXY.com but lets use the Core3d printer as a reference here.

Core3D Printer CoreXY design

X and Y are controlled by two stationary  stepper motors. Neither motor is dedicated to a single axis, instead the firmware will use the motors in tandem to reach the different X and Y coordinates.

Don’t worry about the math: Marlin Firmware takes care of all of this but in case you’re interested:

ΔX = 0.5(ΔA + ΔB), ΔY = 0.5(ΔA – ΔB), ΔA = ΔX + ΔY, ΔB = ΔX-ΔY

In the case of the Core3D printer, the Z-axis is controller by a single stepper moving the bed up and down.

Core3D printer X/Y/Z assembly using CoreXY
Core3D printer X/Y/Z assembly using CoreXY

The nice thing about all these mechanisms of motion is that you don’t have to figure it out. CoreXY is much less intuitive than the normal “Cartesian” but as far as I’m concerned it is just a configuration in the Marlin software. I’ll write a more detailed post on the configuration.

So why Core XY for the Core3D printer?

I’ll be real honest here, I could have gone with ordinary Cartesian like the Prusa but why settle for ordinary? My primary goal was to create an enclosed printer with lots of bells and whistles.

The anecdotal word on CoreXY is that:

  • it is more accurate. The fact that both stepper motors are stationary adds to that accuracy . In most 3D printers, one stepper motor moves the entire bed (which, with high builds and high speed, can introduce wobble). In the Cartesian implementation, the motor controlling the X-axis moves up and down with the Z-Axis (be it very small increments each layer) and the Z-axis lifts the entire X-axis installation. It is important to note that this accuracy depends a lot on the weight of the extruder assembly and sturdiness of the frame it sits in.
  • It can operate faster.  Yes, I can run the head back and forth at 10,000 mm/sec but that doesn’t make it accurate. As a matter of fact, I don’t think extruders can even handle that type of speed.
  • The bed doesn’t move along the Y-axis (stationairy on delta as well) so that makes for more stability. In General the bed moving around isn’t that much of an issue as long as it is light enough. When you move to metal bed, not to mention bigger prints, weight can start becoming an issue moving back and forth that fast.

I have a feeling, proponents of the other types of motion will argue or put forth similar points to defend their methods. I’m tempted to create a second version of my printer and have it implement the Cartesian motion for X and Y (I would leave the Z-Axis as is).

I thought about doing something with delta but I was put off by some of the comments around difficulty with troubleshooting. It also feels to me like the 3 spindly arms can’t withstand much force.

I went with CoreXY as, personally, I think it’s more elegant. It’s not forced to move clunky (in some cases) heavy stepper motors and extruders around. That said, the Core3D printer can actually use some improvement there, as the current construction of the extruder/brackets/inducer still ended up quite heavy.

Core3D Extruder assembly on CoreXY
Current Core3D extruder assembly

One of my next updates will be that of reducing the size and weight of the extruder assembly.