Cantilever printer design based on leftovers

…and then I saw your edits, and raised you a better answer… :wink:

If anything, it should be more stable, I think. All the substantial moving load, the bed, stays low and doesn’t move. And if you’ve ever balanced a pole upright on your hand a you’ll know a long broomstick is easier than a short pencil because inertia works in your favor. So yes, if something were actually pushing the top in the Y direction it would have more leverage, but I don’t think it’s something to design for.

The weak point I can think of is racking near the top so that the Z height is inconsistent from side to side, and is the first place I would see wear in the Z guide wheels. But most of the inertia there is directly side to side as the head moves, closely assigned with the lower Z guide wheels, so I don’t see a substantial source of racking force. I might be wrong and have some possible mitigations in mind if it occurs though.

1 Like

I edited the post to start with an image of the printer moving all three axes simultaneously. That probably gives a much better sense of how it works than the previous renders.

1 Like

And of course your better answer came after my reply! I need to just check the forum a little less often so that I stop replying before I see the whole picture! :framed_picture:


That bed looks like it might get wobbly side-to-side. Am I misunderstanding it?

1 Like

The “frog” on which the bed is mounted is itself mounted on MGN12 rail. It might look like the bed should be mounted on two MGN12 rails side by side, but there would be at least two problems:

  • It’s over-constrained, so any imperfection will lead to binding
  • More specifically, even without imperfect mounting, thermal expansion will cause binding.

In my corexy, I do run two rails for Y and suspend X between them, but I have a sliding joint between them to resolve the overconstraint.

In practice, people do put gantry printer beds on a single MGN12 rail as upgrades.

I could upgrade to MGN15 or MGN20 later if MGN12 is a problem in practice. But I don’t have that sitting around the house, and it’s almost certainly substantially better than the LM8UU bearings loose in bearing blocks on the donor printer. :slight_smile:


Personally I would just drive it from one side and let the other side be cantilevered, works fine on my Ender3 with zero issues but it really depends on how wide you’re going. Another option would be most boards have an output for a second extruder, you could always instead use that for dual z motors and Marlin now has the ability to home each side independently to tram it to the bed. Pretty slick setup.

I’m an adherent to the Mark Rehorst “If you design it right, it stays tram” school of design. No extra drivers on the board anyway, so a moot point given my self-imposed constraint. :slight_smile:

Regarding making it cantilevered, it’s a 224mm wide bed (reasons) and I think about arm deflection as the cube of the length. But yeah, that would probably work fine here. I’ll ponder more…

I have a third piece of 450mm MGN12 in which I replaced all the ball bearings, and the new bearings were slightly larger. I worked earlier to alter the rail to fit the new bearings. I probably got it loose enough to use for Z; the carriage is tight but doesn’t take much effort to move. That would get rid of using any of the openbuilds wheels. I could still drive it with the ball screw, but the motor would be at the bottom and the screw would stay in one place.

What I don’t have the tools to do, or don’t know that I have the tools to do, is calculate the deflection of the 2040 (or 2060, I could do that too) v-slot arm with some (unknown now) hot end and extruder mass at ~250mm station (depends on exactly how I mounted the Z linear rail). I just know that it’s dominated by the cube of the length of the arm… @Eclsnowman you’ve done more design than me, do you have knowledge and data enough to calculate deflection? I’d have the mass of 335 mm of v-slot, 255mm of MGN12 rail, and (say, a max of) .5kg hot end at max 250mm station. Is this something you can just load up into solidworks or fusion360, assign materials, and click a “FEA” button somewhere, and have it just do it? I’m quite clueless here. :frowning:

1 Like

I’m still working out how best to attach motor and Z screw nut best for the cantilever design, but that’s no big deal; if I don’t think of anything more clever, I have some 2" square aluminum tube I could make work. @Eclsnowman is this what you had in mind? (I put a block to represent an extruder/motor on the hotend to visualize the extra cantilevered mass that I didn’t worry about with the gantry design.)

1 Like

Yep I think that would work, the only thing I might do is add another tower on the other side and then even just one v-wheel (3 would be better) on the other side to guide it so you don’t get the cantilever arm whipping with harmonics (during infill or gap fill).

1 Like

I need the extra arm length to hold the X idler bearing, so there would be room to add three wheels and the extra tower if I need it to damp harmonics in the arm.

For statics, I just found (that is, finally bothered to do a search) that someone kindly put up a spreadsheet:

A 1kg concentrated cantilevered load at 0.3m station on 2040 v-slot should deflect 0.03mm according to that spreadsheet. If I change to 2060 v-slot for the arm, that goes down to 0.01mm deflection. I would just have to do something different for the X motor mounting, but I can imagine a few ways to do that.

For dynamics, I’m pretty lost. I guess Z axis harmonics are the major component you are suggesting, because all the moving mass is on one side of the beam. It is, however, bound to a rail made of bearing steel. I wonder if that would change harmonic characteristics significantly? I wouldn’t be surprised if the frame contributed more just from the mass of the moving bed when doing infill/gap fill.

Anyway, if I do the cantilevered version, I’ll start without the second tower as an experiment, and it’s a few minutes work to add it if I do need it.

I can’t ignore the static deflection of the tower, either. Leaving that as 2040 v-slot seems unwise. I don’t have 4040 v-slot but I have some recycled 40mm t-slot that is solid; probably more than the 4040 v-slot would be anyway, and I can work out all the mounting hardware I need for it. Also, I bought it from a scrapyard on a whim and then wondered what I was going to do with it, so happy to put it to use! (I don’t have a model for the t-slot, so I’m just mocking it up with two 2040 vslot sections.) Here’s an animation with 2" square tube for Z screw and motor mount, 2060 X arm, and 4040 Z tower.


A minor thing, but I always prefer the motor on the bottom of the screw, because gravity helps keep it in place. Similar to your “if you design it right…” comment.

Not sure what you mean by “gravity helps keep it in place”; it wouldn’t be sitting on the table in any case. The screw is fixed in the XY plane by a flange bearing represented by the fixed cylinder on the top of the square tube there, and the motor is screwed to the same fixed tube. I was planning belt drive allowing for various drive ratios.

But that’s not really important. There is room. I’m not really using motors that long or dual-shaft motors, I just wanted to visualize enough room to not have to worry about what motors I might some day put in. I should look through my scrap bin for parts to mount it for direct drive. I think I have some 2" aluminum angle and I could use two pieces, one for the flange bearing and one for the motor. I have the necessary couplers, and it would be simpler. And it would get rid of the need for the only “vitamin” I don’t already have, the 200 tooth GT2 closed belt.

So thanks for the push!

I was simply referring to this latter design’s Z-axis screw held to the motor with a coupler.

When you had it inverted (motor on top), the mass of the X-axis would be pulling down on the screw, which can stress the coupler holding the screw to the motor shaft, and could lead to it slipping off over time. This is effectively a non-issue with the motor on the bottom.

1 Like

Ah! One of the things I don’t like about the junk printer that this is intended to replace is that it loads the couplers axially. They are fortunately loaded in compression, not in tension, but even better is to transmit only radial movement, not carry axial load.

It’s not necessarily super obvious from the animations I posted, I expect, but none of my designs in this post so far use a coupler to connect the motor to the Z screw. They have all support the screw on a bearing and use a belt to couple the motor to the screw. I didn’t model the belt, I just made sure the path was clear for it.

I think I’m going to switch to direct drive with a coupler, but the screw load will be on the bearing not the motor; the coupler won’t be loaded axially (here, in the Z direction) at all.

My corexy has the motor driving a long belt, which also goes around the two Z screws to move them always synchronously.



I have 1.5" angle but that’s not big enough, so I can cut off 40mm of the 2" square tube and cut it into two pieces of angle, each of which has one side that is fully 2" long and the other side is 1/8" + kerf smaller, which won’t matter. Then I can mount the motor on one piece and the screw flange on the other, so they are both supported and the coupler (dark red here) has only radial load, not axial load. There’s plenty of room.

So now I don’t need to wait for a belt to arrive.

I don’t think I’ll cancel the order; I still have a bunch of different sizes of GT2 pulleys, and if I end up deciding I want a different drive ratio, I can go back to belt drive. Or I’ll use the belt for another project.

I’ll have to be careful to cut all the holes in the right places, and assemble the parts in the right order, because there are lots of order of operation assembly constraints. If I were designing this with different constraints from “what’s in my scrap pile” I think I could design more for ease of assembly. :slight_smile:


Nice! I should add that I am living vicariously through you with this. I have parts from my first Printrbot LC Plus and my Printrbot LC Plus v2 that I was planning to cannibalize along with some Misumi 2020 extrusions I bought years ago to design and build a new 3D printer. Right now I have a roughly 75% complete design in FreeCAD and (surprisingly right now, I’m sure) not enough time to finish it. All of my maker toys (3D printer, CNC Router, K40 Laser cutter) have all been gathering dust roughly since my daughter was born about 2.5 years ago. She’s a blast, but she has put a kink in my “maker style”. :wink:


Been there! They get older so fast, too! And even with older ones, my corexy build took about a 20 month hit thanks to the Google+calypse — which is how I ended up here.

It’s my youngest who is the only one in the family with actual experience running a laser cutter, and has been campaigning for one. He asks me for help with OpenSCAD and slicing, and I sometimes ask him when I’m stuck in FreeCAD.

I helped a friend resurrect a printerbot simple metal a couple months ago. It was definitely solid. Just small for my occasionally grandiose prints.


I laid out all the parts to cut in FreeCAD as separate bodies defined by sketches, and included all the holes in the sketches to pad. Then I arranged them to cut from a single piece of aluminum plate for minimum waste, and opened TechDraw to create a drawing.

This is how I learned that if your holes were defined by circles in the initial sketch that you pad, instead of as a separate operation, the TechDraw workbench won’t show the circle center, so you can’t dimension the centers of your holes, even though it will show the radius or diameter. [EDIT: I was wrong. It’s just that the Arc Center Marks option apparently defaults to false and for every view or view object that you want to use center/arc center marks, you need to go to the View tab and change Arc Center Marks to true. Maybe this was done to avoid cluttering the diagrams, but for most of my holes I want to know where to drill them.]

I was annoyed, so I tried exporting the STEP file to try out dimensioning in Fusion360 and SolidWorks.

  • The dimensioning in Fusion360, oddly for a product owned by Autocad, was basically unusable. Couldn’t choose where to place the dimensions, and it happily scribbled dimensions over each other. Made me really appreciate FreeCAD TechDraw as generally good and usable (other than the pickle I got myself in by not knowing this quirk up front). Autodesk’s own forum has complaints about how terrible it is.
  • SolidWorks needs you to add dimensions in the model which it automatically shows in appropriate views, which probably works great if you design in SolidWorks but not so much when you import a STEP file. Also, SolidWorks pretends that US-sized paper doesn’t exist. I get it, our sizes are weird, but I found no templates for them at all in the product.

I had already wasted too much time experimenting, so back to FreeCAD. I printed out the dimensioned drawing without center marks and dimensions, took a pencil, and copied dimensions from my sketches onto the printout. So hopefully today I find time to start roughing out the parts.


I fabricated the parts that I designed to be cut from 1/4" sheet. It turned out I had a piece that was nearly the perfect size; relative to the “frog” that sits under the bed, only about 10mm oversize on X and about 15mm oversize on Y. From that I was able to cut all the pieces, with plenty left over in case I discover a mistake, or to use on the next project. (It’s a little silly to call it a “frog” when It has only three legs because I’m using a kinematic mount, but oh well.)

I realized — while I was making the parts — that I had modeled the plate that sits under the X gantry that the Z screw goes through, but I hadn’t measured and modeled holes for the screws that hold the Z nut to it. But with the part in the vise, I forgot that it engages with the nut, and instead made holes to fit the fixed bearing. :man_facepalming:

Since that was one of the most involved parts to mill, I’m glad there’s still enough room to put the correct mounting holes in place. It’s an L shape with an inside fillet and several holes, including one of a size that I don’t have a bit or end mill for, and had to use a boring head instead. So glad to assume for now that I don’t need to start over. But I think I’ll get to the point of assembling the printer before drilling the final holes.

I also thoughtlessly drilled the holes intended to be tapped M5 with a 4.5mm drill bit. When I tapped them, I finally remembered that M5 should be drilled with the 4.2mm drill bit I don’t have as a metric bit, and I should have used a #19 instead. One of them I can change my original plan and just drill it out to 5mm. But three of them are for my bed’s kinematic mount. I’m wondering whether wrapping the M5 screws in many layers of teflon tape will both solve the oversize hole problem and function as insulation, killing two birds with one stone. Otherwise, I’ll have to figure something else out.

I keep forgetting how much I hate tapping M3. Especially blind tapping. Going slow, backing out and cleaning the tap every few mm, then finishing with a bottoming tap. At least I didn’t break a tap. But some of the holes were over 10mm deep. That was slow going.

I haven’t yet designed or made the Y belt bearing mount. I’m trying to make something that installs easily on V-slot. But I’m not 100% sure which orientation I want to mount the Y motor in, which would change the design of the mount. Also, I haven’t yet drilled holes to mount the Y belt clamp into one of the “saddle” pieces that extends below the bottom of the Y block, because I first have to decide about the Y belt. Once I decide it should be easy enough. But I’ll probably wait until I’ve assembled the frame to make a decision.

I haven’t cut the kinematic mount features in the bed. I also plan to use the heated bed that came with the donor printer as the heater for the cast aluminum plate bed that I’ll mount, but haven’t yet figured out how I’m going to bond them together. Some invention still required there.

I made the design so that I could build it with what I had at home, but I also ordered a few parts to make it easier or better. I have plenty of microswitches, but I bought some optical endstops instead. (I was buying them anyway to improve the other printer, and they came in a set of six, so might as well put them on both printers.) I have scrap to make mounts for the Y motor, and the Z motor and nut, but I bought some NEMA17 angle brackets which might make it easier.

I plan to try printed cable clamps to start with for X and Y. I ordered an inexpensive set of aluminum clamps, though, in case the printed clamps don’t work well enough.


I just realized that I should have made the Z lift plate also hold the X motor. Then I wouldn’t need to cut the X beam. I think I can make it work without cutting a new Z lift plate by attaching the motor with only two screws. If that doesn’t work, I can fix my nut/bearing confusion while cutting a new Z lift plate. I’ll have to mill away some of the plate to make the motor fit, but I think it will be OK.

It’s hard to see in this animation, but I added a belt clamp behind the hot end mounting plate.