E90: Self-Replicating Milling Machine

Self-Replicating Milling Machine

In the spring semester of 2012, I completed my senior design project (known at Swarthmore as my E90), which focused on the design and fabrication of a self-replicating milling machine. Recently, inexpensive digital fabrication tools like the RepRap and ShopBot have made complex fabrication tasks accessible to the hobbyist and maker communities, and have even begun to reach outside of those communities to broader public acceptance. However, there is a significant “manufacturing gap” that this genre of tool does not yet effectively fill – specifically, tools that are capable of high-precision machining of metal and other hard materials. My E90 focuses on designing a machine to fill this gap – a bench-scale, inexpensive milling machine which is cost- and performance-competitive with existing alternatives (Sherline, Taig, Harbor Freight), and is capable of “self-replication” in the same way a RepRap is – it can produce all parts involved in its construction which cannot be easily bought “off-the-shelf” from suppliers like McMaster-Carr, MSC, etc. The ultimate goal of the project is to design a machine which can be replicated by a moderately competent user with access to basic hand tools (including power drills, etc.), and access to an existing machine.

The frame design of this machine is descended from Lindsey’s Tetraform tetrahedral machine tool frame as well as the design of a number of hexapod machining centers: it relies on the innate stiffness of triangles to produce an extremely stiff frame design. The frame is constructed entirely out of commonly available HSS sections – 2.5″ x 2.5″ x .1875″ square tubing, .1875″ x 4″ flat plate, and 2.5″ L x .1875″ angle – and uses structural bolted connections with .5″ Grade 8 bolts. It uses slotted holes to create compliance in the frame: even if one part is not cut precisely to size (basically guaranteed when the user is assumed to be using a hacksaw!), the frame can still be adjusted to ensure that all sides are perpendicular to the top and bottom, all angles are 60 deg., etc.

The spindle that my machine uses is a LittleMachineShop X2 Mini Mill R8 spindle. Although I would have strongly preferred to design my own spindle assembly, it is the most economical way I could find to procure a spindle unit AND motor – plus, it’s got a variable speed controller! I also elected to use the z-axis slide assembly from the X2 mini mill, which includes a rack and pinion gear system.


The linear motion system I designed uses 3 HIWIN AWG-15CB bearings, along with standard grade 3/8″-10 Acme threaded rods and nuts. The linear bearings are extremely high-capacity and precise. Unfortunately, they’re also highly intolerant of mounting misalignment, which led to a lot of shimming and fiddling. I designed a backlash-reducing nut housing to allow me to use standard-grade instead of precision-grade hardware (which is much more expensive). Although the thread fit tolerance differs between the two grades, the lead accuracy of the two thread profiles is the same. The backlash-reducing nut assembly, which uses a spring washer to press the nuts against opposite faces of the screw, eliminates the play caused by the looser fit. I’ve included images of the backlash-reducing nut assembly, as well as of the rest of the linear motion system, in the gallery below.

I modeled the entire assembly in SolidWorks. This allowed me not only to easily develop part drawings (which there were a lot of – 41 unique manufactured parts, and almost 100 manufactured parts total), but also to check for interference between parts, and ensure manufacturability. Especially because of the bolted connections into the hollow steel sections used in the frame, manufacturability was a major concern with this project: either the connections had to accessible through the open ends of the frame sections, or internal captive nuts had to be used. The complete Solidworks model (2011 edition) is attached below in a zip archive; if you need different file formats, contact me.

The machine made its first cuts on May 1st, 2012. It’s still very much in the prototype phase: although it was able to successfully drill stainless steel and mill osage orange (a fibrous hardwood), it began to exhibit serious chatter when I tried to do anything more than a skim cut in aluminum. This chatter eventually became so serious that some screws which I had failed to tighten fully began to back themselves out.

Because of the magnitude and the unusual “form” that the chatter took on – the machine would seem fine, and then “jump” violently during cutting – I suspect that a loose connection in the Z-axis assembly is to blame for the chatter.

Beyond the chatter problem, the current iteration of this machine still has a number of design problems that need to be addressed. The first is self-replicability. Although there are theoretically only 2 parts on the machine that are too large to be created in its work volume, self-replication would realistically be an extremely difficult task for the machine, with lots of set-up time required per part. The second is cost. Excluding the cost of assorted tooling (roughly $200) and shipping, the total cost for materials of this machine came to almost $1,200 – not nearly cost-competitive with existing alternatives. Both of these problems could be addressed through redesign of certain components or systems within the machine: I’ve discussed this further in my final report, available below. While development on this project has stopped for now, please get in touch if you’re interested in  this project, or in self-replicating machines and similar technology – I hope to pursue research in this area further in the future.

More images of the machine:

I’ve decided to release my project files to the community, so that others can see what I’ve done and build off of it. All files are released under a Creative Commons Attribution-­‐ShareAlike 3.0 Unported License. To view a copy of this license, visit http://creativecommons.org/licenses/by-­‐sa/3.0/ or send a letter to Creative Commons, 444 Castro Street, Suite 900, Mountain View, California, 94041, USA. Like everything else on my site, the information here is presented as-is with no warranty/guarantee of any sort – use at your own risk.

This project was generously supported by grants from IEEE-USA and the Philadelphia Chapter of ASME.

27 thoughts on “E90: Self-Replicating Milling Machine

  1. Pingback: Designing a self-replicating milling machine - Hack a Day

  2. Pingback: Designing a self-replicating milling machine | Share Blog

  3. Pingback: Designing a self-replicating milling machine » Geko Geek

  4. “Because of the magnitude and the unusual “form” that the chatter took on – the machine would seem fine, and then “jump” violently during cutting ”

    That doesn’t sound like chatter, that sounds like backlash. Research epoxy granite/polymer concrete to improve the vibration dampening properties of your superstructure. If you are familiar with backlash and you are conventional milling like you’re supposed to instead of climb milling then you are probably building up deflection with an excessive depth of cut/feed rate.

    • Hi! Thanks for your comments – I hadn’t thought about backlash, although it’s certainly a possibility. Right now, my backlash-eliminating nut system seriously leaves something to be desired, and could very well have been causing some of the phenomena I encountered. I avoided climb milling, but was doing both conventional milling and full-width end milling (slot milling?) – the backlash was most pronounced during the slot milling, which makes me think that the axis perpendicular to the direction of feed might have been sliding around too much.

      • Slot milling on lightweight machine tables is notorious for breaking endmills. You have to have tight gibs and a lot of inertial mass to resist the 50% of the endmill which is trying to climb mill. The easiest solution is to tighten down the gibs until its laborious to turn the handles.

        You can find out for sure by machining the perimeter of a square block in your vise conventional milling instead of climb. I would guess you’ll encounter the cutter jump much more frequently while climb milling.

        The good news is even full sized milling machines will behave like this given a sufficiently deep depth of cut relative to their table mass. If this is the only thing wrong with your machine, then you’ve done well, because this is a problem with all manual machines to varying degrees. 🙂

        Some of the small harbour freight mills have very small & light tables and will demonstrate this behavior in a very extreme way.

        The machine looks great, and I like the stewart platform/hexapod approach to rigidity. That was very smart of you to go that route. Overall design is highly optimized for manufacturability. I’m very impressed. You have a talent for engineering.

        • He doesn’t have gibs, he’s using linear bearings rather than dovetail slides. This places even more focus on the lead screws, since linear bearings have much lower amount of friction/damping.

      • Good idea for a design, but I also thought that the spring in the backlash assembly might not be stiff enough. See if you can record the sound made during a chatter event, and pick apart the harmonics and check against natural modes in Solidworks starting with the axis drive sub-assemblies.

        Endmill slotting is also the worst at creating chatter. Try face milling the top of the workpiece using as shallow axial depth (.015″ or so) and a radial step over no more than about 70% of the tool dia.

        Good luck!

    • I agree with onemachinist. I had similar problems on a CNC Milling machine I created. Filling the structural voids with a simple combo of two part epoxy and light beach sand dramaticly stiffened the structure and at the same time significantly dampend the vibrations. I was amazed at the result for relatively little effort.

      I used beach sand because I lived next to a beach, but any fine agregate should work. If you do use beach sand wash it to get out any organics, then make sure it is completely dry or it will foam the epoxy. You can fill larger voids with this mix because the sand reduces the heating problem you get with 2 part epoxy, just make sure it is dry sand. Use slower setting epoxy if possible. You need to add the sand after mixing the two parts to make sure you get an even set. You will need time to do this. My experience has the best consistency for the mix being similar to a think mud. Any less and the sand will settle, leaving an epoxy only zone at the top.

      This is a great project, good luck on it.

  5. Pingback: Self Replicating Milling Machine « Engineering Hacks

  6. Doh. Sorry. My fault for skimming. 🙁

    Needle valve on an air cylinder is the first thing that comes to mind, bandsaw style, but it’s kind of a crude fix for an otherwise well executed project. Ball screws are probably the best value for time invested. Putting a teflon/delrin/uhmw skids on a jam nut against the table could do it too. Got to weigh the options in the solid assembly.

    Hope the anti-backlash nut can improve it. It’s a solvable problem. There are some good FFT cell phone apps which use the phone’s accelerometer. Should give you some quantifiable date to measure improvement. Separate the frame harmonics from the table jump.

  7. Pingback: Designing a self-replicating milling machine | ro-Stire

  8. Pingback: Designing a self-replicating milling machine | vis a vis | visual mind

  9. Pingback: MAKE | Self-Replicating Milling Machine

  10. I agree with onemachinist that adding mass is a good place to start tackling your chatter problem. I disagree with his choice of materials. Like many home machinists, I’ve looked into polymer concrete/epoxy granite. While it has many useful properties, these come at a stiff price. In the present context, you have a cheaper solution in plain old concrete. It is not as sexy as epoxy/polymer concrete, but it is orders of magnitude cheaper. In the present instance, the disadvantages of plain old concrete aren’t such a big deal: since your structure is made of hollow steel tubes, all you’d need to do would be to fill the structural members with concrete. Concrete tends to shrink as it cures, which can make it problematic for building precision free-standing 3-D shapes (lathe beds or mill towers, e.g.). In the present instance, though, if the concrete were to move, it would just pull away from the steel a bit, rather than shove it askew. And even if it were to move the tubes, it sounds as if your joints would be able to tolerate some small misalignment (even if your bearings won’t). Also, Portland cement is basic, so it won’t rust the steel.

    I believe the folks discussing backlash have a point. I think, however, that it is always best to attack the cheapest-to-fix problem first, and I suspect this conforms closely to your design philosophy!

  11. Pingback: Self-Replicating Milling Machine | Indoor Digital Billboards

  12. Pingback: Self-Replicating Milling Machine | House of Mods

  13. Pingback: Self-Replicating Milling Machine

  14. Pingback: Self-Replicating Milling Machine | Price Gadget Reviews

  15. Pingback: Tech/Travel News Commentary for May 15 2012 « TechTravel Review

  16. You should offer this design to the Open Source Ecology team – they might be able to use something like this. (Assuming of course you can eliminate the “chatter” problem you mention.) 🙂

  17. There are several things that can beef up the rigidity,
    a subject several others mentioned, adding mass, etc. but
    I would like to mention that the joints of the frame
    probably need some attention to keep down vibration.
    The bolted on plates that hold the triangles to each other
    are too thin and will flex under load. Just a hip-shot,
    I would guess about 1-1/2 times the tubing wall thickness.

    I understand the design goals about being able to make this
    minimal other tools, and although this may seem to be against
    the design goals, if the joints were welded to one of the
    two tubes (still using the bolts to fasten the other tube)
    stiffness would go up even more. You would have to assemble,
    square it up, then tack weld, weld out–maybe even take apart
    to weld, then recalibrate after reassembly. Welders are
    everywhere and within the reach of home-builders working
    with metal.

    One idea to stiffen the whole frame (but might take some extra
    steps) would be to spend the time and effort to make
    fabricated corner pieces on a shop made welding jig, and use
    those to assemble square tubes for the members. This would
    get the actual unit closer to the model that you had a picture of.

    Another thing about using square tubing, and bolting it
    together–you can never get the bolts really tight.
    You end up collapsing the tubing sides inward around the bolt,
    and getting tension by flexing the sides of the tubing inwards,
    but under vibration, they will loosen over time. The solution
    is to put a round tube( with an id suitable for the bolt)
    inside the tube where the bolt goes through, and put the bolt
    through the square tube with the round tube inside it, and the
    two side plates. This gives you solid metal all the way through
    where you are bolting, preventing the square tube from collapsing,
    and you can *really* get the bolt tight. For best results,
    weld the tubes in place by reaching inside the square tube
    with your welding rod. Aother possible benefit of putting tubes
    in, is that it facilitates pouring polymer-concrete into the tubes
    for vibration dampening.

    The “stance” of the linear ways makes a big difference as well.
    that is, the width apart of the linear ways versus the height above
    the linear ways that you will be milling (combined height of x
    and y stages + vise). Twice as wide as high is what I read in
    an old machine design book.

    You have done a really good job making this and documenting it too!
    Look forward to seeing how this project comes along.

  18. Epoxy Grout is what you are making. for stabalizing the structure and giving it more weight. There are several epoxy grouts but some shrink.

    The concrete lathe project I think is a great source of insperation towards using concrete or epoxy mass to stabalize tools that are traditionaly masively steel. I think there are several diferent tools that could use this concrete and steel integration. And to join the concrete and steel use epoxy grouts.


  19. Do you have some points on machine design, which allows to make all themself parts scaled few _larger_ to make more size machine replica (with some manuall finishing for precision) ?

    • Hi Dmitry! Making a larger version of this machine will be an interesting challenge. For relatively small size increases (going from a 6″x6″x6″ build volume to an 8″x8″x8″, for instance), the machine design won’t need to change dramatically, unless you’re trying to achieve much higher cut rates or a significantly stiffer frame. However, dramatically increasing the size – say going from 6″ travel to 6-foot travel – will significantly impact the design of the machine. The dimensions of frame components will need to scale not just according to the relevant scaling law, but also to accommodate increases in the frame’s weight, increases in the moment arms about the joints, and presumably increases in the cutting force at the tooltip.

      If you’re going to try to build a dramatically larger machine, you will probably have to replicate the work I did in developing my system. My report (available above) will provide a good template for this, but you’ll need to modify your approach to consider the issues I’ve mentioned above, among others. Best of luck!

      • In my question I mean using N generation machine to do all mechanical work making parts for N+1 few larger machine. Not using any other side machines (lathes, drill presses and so on), and with very minimal purchased parts (async motor and bearings from car shop maybe).

        It’s like some “three plate method” technique in gagemaking: how to make 3 flat plates from bare material not using any other measurement tools — do something not using special (expensive) instruments or bespoke machining.

        Idea how to make this machine will be very useful for developing countries or some technology-isolated places in the world, where people very problematic just buy some set of machines (drill press, lathe, mill machine,..) and upgrade his life level.

        In respect of machine construction: it must consist of compact parts, which can be machined with one-only workpiece setup or with some guaged movement technique. Later this parts can be assembled with handfinishing forming scaled machine construction.

        But I still can’t find any materials linked with this theme 8-(

  20. Nothing replaces *mass* for resisting vibration in machinetool designs, but as the most recent Comment, from Dmitry Ponyatov, mentions, really, mass should be added *locally* (we hope) in the process of distributing machinetool technology to the parts of the world that need it, like every garage in every home, and all over the world, to better people’s lives.
    Conventional drill press design is expanding-C-frame adapting poorly to the needs of milling: when large work is attempted, raising the head means the column is long, slender…and not stiff. Julian, your externally framed design turns this on it’s head! I don’t know if you realize that but you’ve got a contracting-C-frame there; at the expanded limit of travel, the head is *near the frame*, well supported, and stiff.
    Please add mass in the form of plaster or concrete inside the tubes of your next try–I’ll try something similar–and plug the tube ends as suggested with fitted and or welded plugs, or with just pewter, it’s fairly machinable for drilling, or aluminum. Then finish drill or even jig-bore in the machine with accurate bolt holes and voila–instead of additively making flimsy time consuming parts of itself like a RepRap, you’ll be subtractively making strong, durable, heavy, stiff, precise parts of your machine, with that selfsame machine. Consider driving tapered pins for permanent assembly into match reamed tapered holes with a heavy backing block–they are available with pull release nuts and can be welded.
    Good work!

Leave a Reply

Your email address will not be published. Required fields are marked *