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.

23 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.


Leave a Reply

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


You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>