Skip to main content Link Menu Expand (external link) Document Search Copy Copied

Clank’s Mechanical Design Details

I use a few design patterns in this machine that I love to share as self-contained lessons / examples when discussing machine design with others.

Also check out this mechanical design page from our “how to make almost any machine” class, taught in 2021 through the MIT CBA.


There’s a tonne of roller pairs in the Clank designs, used as linear guides in the same style as a roller coaster’s wheels ride along a track. These are similar in principle to the V-Rollers you may be familiar with, but here we use a bare bearing, and constrain out-of-plane motion with a second set of rollers (rather than using the V).

FDM printed parts are not very precise and so we can’t know for sure that our bearings will end up with exactly 20mm (of extrusion) between their two faces. Some roller systems tackle this with manually adjusted offset cams, but Clank simply prints in-place a tiny flexure and undersizes the face-to-face gap by about 0.25mm, such that roller pairs are automatically preloaded against one another.



Kinematics is not just about couplings. One way to think of kinematics in machine-design terms: each of our axis (rotary or linear) are structures that have exactly one “loose” or unconstrained DOF: the degree of freedom that is actuated at that junction. Kinematics is about precisely constraining all other degrees of freedom in the matrix without “binding up” the free DOF.

Clank uses the little kinematic trick below in order to keep the Y axis smooth even when the frame is a little bit mis-aligned:


This means that when the motors are turned off the Y Axis is free to rotate somewhat in the XY plane:

But when the motors are on, this is perfectly constrained. If the Y-Left assembly and Y-Right assembly were identical, Clank would be over-constrained. It’s worth noting that if we were to write a suitable controller for Clank, we could control this slight rotation in the XY plane of the Y axis: the machine has “three axis” but four motors: using differential drive on the Y-Left and Y-Right motors would allow use of the “loose” DOF here. In practice, the motors simply mirror one another.

Most importantly, this design means that the left-side Y rail and right-side Y rail do not have to be perfectly parallel - because the Y-Right assembly has no X constraint, the rail on this side can “wander” without causing two X-Constraints to fight with one another.

So: a bit subtle, kind of boring, and easy to ignore, but careful kinematic design is what can make your machine glide like this:

Clank-FXY actually has four motors in the Z axis, and the kinematics are set-up such that the whole flying-xy gantry system can be ‘tilted’ by about ~ 4 degrees in A and B axis. Similar to -stretch Clank, this means that a competent controller could adjust these A and B axis, perhaps for small swarf milling or for automatic tram compensations.

FDM Printed Belt Reductions

There’s a few places where I use a closed length of GT2 belt to give an axis some more oomph: the Z in clank-stretch and in clank-fxy do this.


This means drawing the GT2 tooth profile in CAD, which can be a bit of a pain: and it’s near most FDM printers’ feature size limit, so careful attention needs to be paid to printing parameters and some small CAD adjustments are warranted.

I wrote some tiny notes. on this a while ago.