Introduction: Low(est?) Cost Reproducible 3-axis CNC Mill

    As far as I know as of writing: this is the lowest cost 3-axis CNC mill you can build from available parts and repeatable instructions. It's small and I haven't bothered to even try cutting steel, but it's small and that reduces the "more stuff" cost too. I've been milling acrylic, hardboard/HDF, and copper-clad FR-n with encouraging results like smooth running bevel gears:

    ... and fine-pitch circuit board features:

    Trials with aluminum look encouraging too.

    This little mill uses three similar but different versions of "a cheap compact linear motion slide". That's a huge Instructable that does the heavy lifting for this project. As a precursor to publishing this 'ible, I put some time into at least trying to make the slide 'ible fairly complete. At least for now, this 'ible remains a little more sparse. Hopefully detail in the "cheap slide" 'ible will support the relatively lightweight presentation here. I also hope to put some more time into filling in the sparse corners of this 'ible anyhow.

    However, the Main Things are in here:

    • SVGs for the laser cut parts
    • dimensions for a frame
    • already referenced the 'ible re how to assemble a slide
    • link to CAD

    This 'ible intentionally focuses on building the machine. No instantly gratifying milled part will fall out at the end. CAM is harder than one 'ible. The point of this project is to lower the entry ticket cost to start learning CAM.

    How low is "low cost"? Here's a bill of materials verified May 2021 for US delivery:

    • $22.75 - 3x motors
    • $5.26 - 10x bearings (1 extra)
    • $9.78 - 9x rods
    • $1.52 - 100x screws
    • <$1.00 - ~9"x30" 1/8" hardboard

    Total <$40.31 (+tax) if you have to buy everything. A quarter of that for 6mm rod scavengable from dead printers of many kinds.

    That pays for the 3-axis machine. Costs I don't feel bad about leaving out include:

    • access to laser cutter - that's kind of a premise of the economic proposition here; commercial laser service costs would likely push this out of the niche it aims for
    • rotary tool - because that's a generally useful tool that you either have or this is the excuse you've been waiting for to get one
    • frame - I built the proof-of-concept, used in photos here, from a few poor scraps and drywall screws without a saw to cut anything
    • controller - because that's portable between projects -- or ~$10+misc part scrounge (example) if you want to count it.
    • time - yeah... don't ask. because I don't know. (actually, I can put one of these together pretty quickly now)

    Please try building one for yourself and share how you fare!

    Step 1: Check Out the Linear Slide Design

    Yes, that's a handwheel. Gotta start somewhere!

    The "slide" 'ible uses the basic example pictured to introduce how to build the mechanism shared by other variations on that theme. Although it may sound like extra work to do, I think it will most likely help you to actually build that example first. For emphasis: I strongly encourage you to build the first example there before building any of the axes for this little mill. In other words: I think planning on building four slides would be a good plan. You can reuse parts from the first if you don't want to keep it. If you build the example only as a warmup and don't expect to keep or use it for anything else, you can leave out the leadscrew/handwheel.

    The second picture shows how the XY table is a stack of two simple slides with some variation around their edges.

    Step 2: Laser Cut the Flat Parts

    (here's an example of this 'ible glossing over stuff the "slide" 'ible covers more carefully - at least for now)

    The exact shape of many of the parts depends on the expected thickness of material. This step has SVG files for 3.0mm & 3.5mm material thickness attached. If you have material over 3.5mm thick or would like a closer fit for your measured material, you can export your own vector file from the "cut lines (r.click->change config)" tab of the CAD model.

    I've been working with 1/8" (3mm) single-sided hardboard/"masonite"/HDF, cut with the good side down.

    Other materials 2.5mm-4mm thick may work. If not single-sided, mark which side was down when cut.

    Step 3: Parts and Other Parts

    Parts:

    The top-left corner of the very first image of this 'ible shows the very few non-flat parts that go into the three axes. The "slide" 'ible says more about parts and material for building the slides. The three slides are essentially all of this project -- or all of the essence of this project.

    and Other Parts:

    In addition to the slides, you'll need:

    • rotary tool -- The tool clamp in the attached SVG files fits the common style of generic Dremel®-like rotary tool that look like the shape shown, and at least some if not all real Dremels of the style imitated by the generic body. To fit a different tool, you can tweak the CAD model and cut a different clamp. The clamp is designed to be removable/interchangeable so go ahead and iterate!
    • small milling cutters (/mills/bits) -- This little mill can't generate a lot of tangential force to push a "big" (i.e. 1/8") tool through hard-ish material. I started with 1mm cutters in an even weaker mill and have yet to try anything bigger, so this can probably swing something at least a little bigger but I don't know. 1mm mills are obviously fragile but can stall an axis more often than breaking. Smaller cutters help with detailing small parts but they are also harder to not break. Vendors sell them by 10s for a reason.
    • electronics -- Complete kits of Uno R3, Protoneer-designed V3 CNC shield, and stepper drivers, suitable for running Grbl, can be bought for US delivery for under $10 (May 2021). More about that: Scrappy Integrated Grbl CNC Controller & Power. In keeping with the "cheap" theme, I tried a few ways to terminate motor cables without a crimper. Volts are good, up to 30ish. Laptop power bricks that make over 12V have been common long enough to be common e-waste.

    Step 4: Make a Frame & Counterweight

    This can fill time while waiting for other parts to show up.

    Make a frame:

    The two two parts of the mill need something to hold them in fixed relationship to each other. This can be absolutely crude, like the one pictured here, or a little fancier. Or a marvelous bit of cabinetry if that's your thing.

    What matters is the relationship between the XY table and Z axis. Check the dimensioned drawing for guidance.

    and a counterweight:

    The rotary tool I've been using "weighs" very close to 500g. The Z axis can maybe lift it on a good day but not really. Ironically, the greater problem is that it can't lower it. More about that at the "slide" 'ible. Conveniently, 500ml water/beverage bottles also weigh close to 500g and have a columnar aspect with a local minimum diameter near one end -- like they were made to be counterweights for this. Fancy red bottle because clear doesn't photograph well against white.

    Between the tool and counterweight, you'll need a beam, a pivot, and some string. Or fancier if you like. The distance between the spindle axis and a side of the frame works well as a beam arm length for an adjustably center-ish pivot. The Z axis flat parts include a hook for quick on/off the tool bail.

    While I'm mostly leaving these up to you to improvise with whatever you can find, I've found some rigging ideas that are working well for me. The main being that two simple loops can be clove-hitched over the ends of the balance beam (if not too smooth) and arranged to keep themselves in place when unloaded (TODO photo). Threading one of the loops through the hook solves the tool end. The closed loop at the other end can be folded into a lark's head over the bottle neck. Both hold while they remain under tension and release trivially when unweighted. Nevermind all the extra string in the photos -- that's just because I didn't want to cut it while trying different things. The photo shows the lark's head holding underneath the subtle, glassy and slightly oily lip of the fancy bottle -- something I'd been wondering about. But the main point of the photo is to show the little tag of tape that holds the line in the lark's head shape when there is no bottle in it, which makes it even easier to throw over a bottle neck, and also works to pull the knot open to make releasing the bottle even easier.

    Step 5: Build the Mill

    So you've built a frame, lasered some flat parts and the last of motors, rods, or bearings that you were waiting for just arrived. Yay!

    "Build the mill" amount to building three flavors of A Cheap Compact Linear Motion Slide (after one for a warmup) and sticking two of them together.

    • X: while the big side pieces look different, most of it builds just like the photo model for the slide 'ible
    • Y: a lot like X but reflected, so follow the 'ible in a mirror
    • Z: the sliding parts build like X but with the motor on the other side

    Then:

    • screw the Y axis to the bottom/base of the frame so that its top moves toward you when it extends
      • adjust the position of the slide for access to the screws that might be covered
    • screw X to Y so that its top moves toward your left when it extends
    • screw Z to the back of the frame so that it's top/front moves upward when it extends

    That arrangement of X & Y fits a frame made with the dimensions in step 4. The slides use a square pattern of mounting screws so you can turn them by 90° increments and arrange and label those two axes any way you wish. I think it may help to have the motor on the side closer to where the tool acts but haven't tested that.

    The shape and dimensions of the spoil board and its attachment screws are simple and independent of material thickness, so it should be easy to make more.

    Step 6: And...

    This 'ible isn't as "finished" as I would like. I've published it anyhow because I think it conveys sufficient information for you to build your own little CNC mill. (and maybe the CNC contest deadline...)

    Jan 2023: ...and it's just become even less "finished" because I've come up with a new Z axisthat ditches the counterweight and trades the ~$10 special motor+leadscrew part for a very low cost, very generic motor. So everything in here about Z needs update. If this comment is still here, that hasn't happened yet. For now, read this for X & Y, disregard what this says about Z (including frame upper/back dimensions), and read the new Z 'ible instead. And it seems I can't edit the intro without knocking out the inline videos, so that awaits some problem-solving. :-/

    TODO:

    (things you can probably sort out yourself or find as general information but would make this 'ible more complete)

    • motor cable management/routing
    • setting motor driver current
    • Grbl config
    • feed/speed ballpark (_shallow_ depth cuts! make deep slots wider than the tool)
    • Z probing and bed leveling
    • more about a cabinet like this for practical usability
    • Software
    • Grbl on the controller
    • A G-code sender to send G-code to Grbl - I use G-Code2GRBL for Android (via an HC-05 Bluetooth module)
    • A G-code generator (the CAM of CAD/CAM) - I use Kiri:moto
    • A source of part models (the CAD of CAD/CAM) - I use Onshape (which integrates Kiri:moto)

    Links:

    CNC Contest

    Runner Up in the
    CNC Contest