tesseract 2.0 (penteract?)

working on a new version of this ultimaker-y lulzbot-y reprap

This is version 2 of the design, some things stay, some things change.


  1. Metal corner brackets. I thought about doing corner connectors a la the cat guard, but they just will never be as stiff and I like the aesthetic this way better. I like how you can see the profile of the extrusion on the end, it goes with the “transparent” design vibe i’m going for.
  2. Kinematics, with the exception of the addition of guide rods for the z-axis.
  3. All the other features from the first prototype – easily enclosable, large build volume to footprint ratio, mechanical symmetry, dual extrusion, continuous belts, 3-point leveling, etc
  4. The GPA26GT2060-A-H8 pulleys from Misumi. It hurts, because you need 10 of them and they are $12.54 a piece. but, they’re just so perfect for this application. There are alternatives available that would suffice.


  1. 378 mm x and y rods instead of 380 mm. The way the frame is, it’s exactly 380 mm between the extrusions, so when you put a rod in there and spin it, it squeeks like crazy. I’m going to close up the hole in the bearing holder to give the rod some plastic to spin on, and hopefully that will solve that issue.
  2. 19x6 mm bearings instead of 22x7 mm. This will make the space required for the bearing holder smaller, which gives more z-height, 2mm more travel in x and y, and makes it so the bearings can sit inboard of the edges of the extrusion.
  3. Z-guide rods. The prototypes wobbles because one of the screws is pretty bent. I’m glad it did though, otherwise I would’ve been fooled into thinking that was going to always work. To get straight z-motion even in the case of a bent screw, I’m going to put guiderods right behind the two front screws. Then, I’ll design the z-top so that it meets the top of the screw, but does not constrain it in x and y in a bearing like it was in the prototype. That way, when the bed changes direction right after homing, the upward force on the screw by the nut will not displace the rod in z, and the couplers will not be allowed to stretch like they would otherwise.
  4. Endstops mounts. While I don’t mind homing manually every time, I’m not sure other people will feel the same. They will be frame mounted (as opposed to carriage mounted) and be triggered by the axis sliders. For the z-axis, see below.
  5. Beefier Z-motors. Because the screw in the prototype was bent, and constrained top and bottom, one screw would bind a tiny bit every turn. All screws are bent, but this one was *really bent. Beefier motors combined with the design tweaks of the z-axis should make binding a thing of the past. It makes the z-motors stick out a little from the bottom, but I think I can move them up a tiny bit, now that the x and y bearings are a little smaller.
  6. 8mm machine screws for the z, instead of 10mm. That’s what makerstoolworks sells now. I could probably go elsewhere, but $18.95 for a machine screw with a nut included is a pretty good deal.
  7. Shorter x and y belts. If you don’t *really tighten those belts, the lash is noticable, if only just barely.
  8. In the first .blend, I used a lot of design templates from thingerse. Those design templates were not completely accurate and so I ended up “eye-balling” a lot of alignment things. In this version, I thoroughly check critical templates so as not to run into that issue again, and everything is dimensioned and positioned *exactly where it is supposed to be so there will be no “eye-balling” involved.

Pie-in-the-sky plans:

To justify all that furking hardware (ATFH?) the big new feature I want to implement is *actual auto bed leveling, instead of z-compensation (I know i’m fixing something that isn’t broken, it’s a result of a special mixture of nerdiness and insanity). To do this, I plan on mounting the aluminum bedplate to the z-nuts with springs, such that the nozzle will compress them during the homing process (kind of like how the heatbed was compressed towards the bedplate on the AO printers, except in this case, it will be the aluminum bed and the z-nut, respectively). Mounted to the z-nut will be a enstop positioned such that it will be triggered when the springs are compressed. I’ll wire all three of those to the z-endstop switch. Then, to make this work, I will need to add two more axis to the RAMBo (7-axis) so that all three z motors are controlled independently, and instead of re-interpreting the gcode like G29 does now, It will rotate the appropriate z-screws the appropriate amounts to make the bed level wrt the plane of the x and y axis. If I can’t figure that out, I’ll just throw a setscrew and a z-endstop somewhere, wire all the z motors to the same driver, and call it a day.

Good thing I don’t have to have everything %100 figured out when I’m getting started…

I am very interested in thoughts, input, insults, whatever.


https://www.thingiverse.com/thing:83340 for the nema 17 template
https://www.thingiverse.com/thing:97522 for the rambo template

the .blend is attached if you want to play with it.
tesseract_2.0.2.blend (16.9 MB)