Minamil 2dc: a minimal CNC mill

Each axis: ̶$̶5̶ ̶$̶8̶ $10 motor+lead screw, 3x LM6UU, 3x 6mm x 100mm rod, 1/8in hardboard, PC case screws

Public Chat
Similar projects worth following
Developing a cheap small 3-axis CNC mill for $̶1̶0̶$15/axis.

Powered by:
$̶5̶̶ $̶8̶ $10 motor+lead screw CH-SM1545 (price rising - hello supply risk)
Linear bearing cost minimum at 6mm (smaller costs more)
1/8in hardboard is practically free per small area
#6-32 x 1/4in computer case screws are practically free
3x 6mm x 100mm rods per axis can be $1 each or 6mm rod is common in printers etc.

It's working. Selected log entries linked from "Details" below.

(update: counterweight delete)

CNC Kitchen video - thanks Stefan!

Even though the Minamil is minimalistic, the part quality Paul can achieve with it blew me away! writeup - thanks Bryan Cockfield!

Hackaday Podcast 136 - thank you @Mike Szczys & @Elliot Williams for the kind comments!

"I'm frankly shocked by the quality of the parts coming out of this" 11:54

Hackaday Prize 2021 finalist! - thank you judges!

(mocking the style of over-hyped package labeling, in case that got lost in translation)

Many of the photos and videos here show a big counterweight rigged off the side of the little machine. But nevermind. That's now "legacy product". Because the new Z axis does better with less. Yay for maximizing minimality!

This little CNC mill works well enough to produce an eye-candy demo video:

(that's a "new" (June 2022) demo vid; here's the first eye candy demo

...and mill fine-pitch circuit board traces:

What little CNC mill?

Minamil: a minimal CNC mill

First there was #CDCNC, a highly-constrained just-barely-functional one-off toy built by improvisation with found junk and simple tools.

Here I'm developing an idea that came from thinking about whether or not there is any space between a dumb stunt like CDCNC and a commercially (i.e. efficiently) produced entry level CNC mill/router. Early results seem encouraging.

In contrast to CDCNC, this is about reproducibility from a simple BoM, economical access to laser cutting, and instructions for building your own sub-mini CNC mill.

Next there may be #"Desk Accessory" CNC Milling Machine. For progress in that direction, with not much more effort in the frame+enclosure department:

(different Z axis in those two pics - part of [what used to be but isn't anymore] the not-quite-so-minimal "and friends" part of the project title that I haven't written much about yet) 

Minamil to go
click image above for video of setup/packup

Telescoping axes allow the enclosure to fold up smaller when parked and expand for operation:

Selected Log Entries

  • 1 × XYZ mechanics follow "Parts source / cost notes" link under "Selected Log Entries" in the Details section
  • 1 × Electronics
  • 1 × Laser-cut parts from 1/8" (3mm) hardboard
  • 1 × frame & counterbalance
    • crude or fancy - first was very rough scrap
    • follow "Build!" link in Details & scroll for simple frame drawing
    • follow "packaging" link for slightly more elaborate example
    • counterbalance: 500ml bottle, beam, pivot, string (flat parts include a hook)
  • 1 × rotary tool
    • included clamp fits Dremel®-like tools with 1-7/8" cylinder bodies like canonical model 395 type {n<=5} or current models 100 & 200, and many clones
    • or adapt removable clamp for something else

View all 6 components

  • Project title de-confliction

    Paul McClay08/07/2023 at 23:36 0 comments

    I've been calling this general theme of design evolution "Minamil" (minimal mill). 

    Lately I've been working on a variant that seems different enough to warrant distinction -- a mechanically similar design using 3d printed structural parts instead of flat laser cut parts -- and calling it "Minamil 3dp" (3d printed parts).

    So I've been retronymically calling this one "Minamil 2dc" (2d cut parts).

    I'm not a branding guy. Let's see how this goes...

  • Project title de-complication

    Paul McClay07/25/2023 at 16:52 0 comments

    The project title used to be "Minamil: a minimal CNC mill. And friends." because that seemed like an economical way to make room for some variations that would be less strictly minimal. That became slightly inconvenient because it clashed with the handy HaD editor function of inserting #projectname inline into sentences where the extra punctuation confuses grammar. In some places I've edited ". And friends." out of the resulting link text to make a sentence flow better -- each time adding a little weight to the thought "maybe I should just change the project title". Meanwhile, ideas spinning off into separate projects, or just not going very far, add lightness to the counter-thought "but it's not all quite so minimal...".

    So now it's #Minamil: a minimal CNC mill and #"Desk Accessory" CNC Milling Machine and #A Cheap Compact Linear Slide and longer lead screws happening over here and non-minimal Z axis variations that escaped the local minimum and got even more minimal and dual motor+screws not really happening (yet) and ...

  • QFN-16 breakout (3mm x 3mm package, 0.5mm pitch, 1.7mm pad)

    Paul McClay05/02/2023 at 21:34 0 comments

    Apparently "QFN" is a broad category and "QFN-16" doesn't mean much without parenthetical elaboration. The buried point: 0.5mm pin pitch:

    That beats earlier 0.65mm "fine pitch" results.

    Yes, the two top-left holes are a little bigger. Getting through the whole process without error eludes me. Defaults and scripting in the toolchain (mainly FlatCAM & bCNC) would help, but first efforts at that haven't yielded much yet. In this case, I (i.e. it) drilled all the holes with a 0.9mm drill (25mil * 2^0.5), then switched the drill for a 1mm 2-flute end mill to cut the outline, then watched it re-drill two holes before remembering to load the cutout file. Sigh. (Earlier I tried plunging holes with the 1mm end mill, which would save a tool change, and which worked until the piece where each hole got shallower as end of the bit got duller.)

  • 0.2 mm center-to-center circuit board traces

    Paul McClay04/28/2023 at 21:14 0 comments

    • getting the 3d printed XY stage sorted well enough to match the laser-cut version
    • some "0.1 mm" Vbits are more equal than others

    At 0.2 mm pitch, the remaining copper is pretty near exactly one hairsbreadth:

    ...and the 0.15 mm traces -- even more thin than a hair -- aren't completely obliterated. The ends anchored to the 0.2 mm traces fared better than the ends that got cut free at the last pitch shrink to 0.1 mm. Maybe <0.2mm could work for short straight links between less thin copper areas -- like sneaking a trace between fine-pitch IC pins? Counting copper and two cuts, that would get a trace through a 0.3 mm gap or maybe smaller.

  • Change one thing at a time. Or not.

    Paul McClay04/22/2023 at 20:20 0 comments

    This appears to be working well enough to risk saying so.

    Little stepper+screw units for $5 shipped got this project started. That price has multiplied while the cost of longer but otherwise similar units has come down some. So I wanted to try stretching the XY dimensions a little to fit the longer screws.

    One thing.

    Simples, right? But people asking about 3d printing and Micro Center dumping Enders. But design for 3d printing is different. But doable. But the frame/box limits longer X travel, which doesn't actually prevent testing. But thinking about different frame. XY works but not great so rebuild, and thinking about accessory stuff that I could fit into the box but haven't yet but can start but halfway = finish before more actual testing, which wasn't great on the 2nd try either. Etc. I was getting a little fretty about dumping time into a new thing that wasn't matching the performance of the old thing.

    Test, rebuild, digress, test, revert, test, digress, rebuild, test, tweak, test, ...

    I think it'll be ok.

    "One Thing"
    short leadscrewslong (less short) leadscrews
    55mm x 55mm work area75mm x 75mm work area
    laser cut 2D parts3d printed 3D parts
    100mm rods120mm rods
    many screwsnot so many zip ties
    compact stowed footprintcompacter stowed footprint
    exposed electronicsenclosed electronics
    unreachable hold/resume/abort & motor power switch; invisible indicator LEDsreachable hold/resume/abort & motor power switch; visible indicator LEDs
    "compact" but: add'l acquarium air pump + hose over the side, two power bricks, external switched AC for spindle, blower & vent fan (four power cords + spindle signal to hacked power strip)integrated chip blower, DC power,  switched AC outlet for spindle (not actually in there yet), chip blower DC switched with spindle, vent fan DC switched as "coolant" (one power cord)

    Two projects

    But really, this is two distinct and very different projects: the CNC mechanics and the frame.

    The frame can still be dirt simple if you just want the CNC stuff to work.

    (simple frame pic cropped/edited to (mostly) hide the obsolete counterweight)

    Fancy packaging is already its own project: #"Desk Accessory" CNC Milling Machine. That project has been pretty static so far but this iteration brings it more to the front.  More about fancy packaging will probably appear in that project instead of this one here.

    I haven't decided yet whether to continue writing about the 3d printed CNC mechanics here, or to start a new project for that. It's basically the same mechanics, but also a significantly different "project" if you want to build one. I do plan to post at least STLs, maybe CAD, and info for building one.

  • Brass (thin)

    Paul McClay03/05/2023 at 04:18 0 comments

    Ok, it's just 0.005" / 0.12mm shim stock. But brass is harder than copper and 0.005" is thicker than 1oz copper cladding, so that's a capability expansion.

    Cut with a 0.1mm 30° V-bit.

    Cutting more substantial brass stock with an actual milling cutter remains to be tried.

    ... and just for fun, I tried skimming the side of a razor blade:

    That produced a very small pile of metal slivers, so it wasn't just scratching the steel. Interesting. I didn't try to do any more with that today. Also interesting: at this scale, there's enough magnetic attraction between the steel blade and slivers thereof that the slivers don't leave the immediate area around the action. Convenient because, not expecting to cut anything ferrous or particularly hard, I haven't given much thought to keeping magnetic or hard bits out of the works. Dunno if the blade was already magnetized or magnetized by cutting.

  • new Z: killed the counterweight

    Paul McClay01/18/2023 at 05:11 2 comments

    Nearly half a year since first log about dumping the Z counterweight, maybe increasing stiffness, and further reducing cost, here's the goods: Instructable; CAD.

    This Z axis has hit the same micron (±0.8μm) more than 200 times in a row over most of an hour of Z probes in a "Minamil" rig (this project). Practical repeatability appears to be within 25μm (0.001") after warm-up. In other words, it can resolve micron-scale dimensional creep as stepper heat spreads through a structure.

    So how did that take half a year?

    Someone at Instructables apparently liked the 'ible enough to send it straight to the home page:

  • strings

    Paul McClay11/09/2022 at 23:38 0 comments

    (coders: relax -- not a trigger hazard)

    So I'm trying to write up how to build a nouveau Z axis. The "find some string" part was getting too long. So instead I'll drop the TMI dump here to simplify that there

    This design uses a bit of string on a pulley to winch up a load against gravity (or other orientation / opposing force).

    The previous design already used string as part of a low cost clamp for firmly holding a round tool with flat laser cut parts.

    It looks like the two uses will require two different kinds of string.

    Initially I used the same kind of string for both purposes, then shifted to preferring smaller diameter string for the hoist cord, then fully committed the pulley design to use <1mm cord for the hoist. Although I haven't actually tried it, I suspect that such small diameter cord that was also strong and tough enough to use for the tool clamp would be too much like a wire saw for that job. So, two kinds of string to do two kinds of things.

    The tool holder uses a “Spanish windlass” variant to firmly clamp the tool in place. I’ve arbitrarily used some synthetic, maybe nylon, 3-strand laid cord about 1.4mm diameter that was handy when I started. I thought that it might be too thin and fragile and anticipated changing to something like 2mm braided cord (which I still suspect would be "nicer" so if you're parts shopping...). But so far it’s worked well enough for that purpose that I haven’t given it any further consideration. Parts are designed for cord up to about 2ish mm diameter. The cord needs to be flexible enough to bend around its own diameter repeatedly under tension without breaking fibers.

    For the new tool lift idea, I started with the cord described above. That worked ok until I started tweaking for tighter repeatability. Based on nothing, I guessed that maybe it was thick enough to affect the effective diameter of the lifting pulley but irregularly so and didn’t always wrap onto the pulley in exactly the same way every time. Other things I tried: 

    • single strand of three-strand cord
      • fail: too frizzy to work with
    • heavy sewing thread
      • works well
      • better repeatability than 3-strand cord
      • unknown composition “extra strong for buttons, carpets, very heavy fabrics”
      • seems vulnerable to progressive wear
      • redundant lift is cheap insurance against sudden breakage
      • low stretch holds ~constant load at ~constant length
    • braided Spectra® (UHMWPE) fishing line
      • works great
      • tested with 50lb strength, 0.38mm diameter (nominal)
      • initially appears invulnerable to wear
      • redundant lift is still cheap insurance
      • practically zero stretch
      • retail purchase of branded product = mo$t co$tly component, but generic UHMWPE exists

    Because the pulley surface is only a few mm across, the 1.4mm cord I tried first only fit a couple of wraps on the pulley before it started to wrap back over itself, which changes the steps/distance ratio. I didn't worry about that since my application calls for precision only in the lower range of motion. I did try increasing the pulley diameter to cover the full range of motion in <two turns, and confirmed that a single motor had sufficient torque to manage that. Then I changed back to smaller pulley diameter for finer precision (more steps/distance) because, IME, the 28BYJ-48 motor steps are very unequal so two full steps is the minimum consistent stride. In the current version the pulley diameter makes two full steps ≈ 0.001"/25μm and covers the full range of motion in a little under three revolutions (plus at least a partial wrap at full extension). For ~3mm material, that requires <1mm diameter cord to fit all in one layer on the pulley.

    The current design further commits to <1mm diameter hoist cord where the cord attaches to the pulley. I doubt these motors are meant to bear lateral loads, so to minimize the degree of abuse I wanted to load the shaft closer to the motor rather than hanging the load out closer to the end of the shaft. The difference...

    Read more »

  • Other builders

    Paul McClay11/04/2022 at 05:21 0 comments

    In contrast to the preceding one-off hack, a central idea of this project has been predictable reproducibility from a short list of parts and adequate construction instructions. I can say so, but proving so remains for others to do.

    So far a couple of people have contacted me about their builds-in-progress.

    @alkrever has just produced first results from his XY table:

    There's payoff for having some flanged hex head screws in the stash that I measured to decide how much clearance to allow for screw heads!

    ...@alkrever continues with Z axis + counterweight. "Currently I can draw fairly detailed and repeatable pencil sketches."

    Another builder got the basic assembly together before Other Life suspected his work for the moment:

    Wherever he found black screws, I think they look ... elegant:

  • OSHWA interview

    Paul McClay10/13/2022 at 04:07 0 comments

    October is Open Hardware Month -- an initiative of the Open Source Hardware Association. And OSHWA is starting a Monthly Talks series. And...

    ...I've just enjoyed the privilege of helping to kick off the series with some long answers for short questions and occasional handwaving. Thanks Lee & Sid for choosing this project to share! 

    Wow -- apparently I think with my eyeballs.

View all 54 project logs

Enjoy this project?



Anthony wrote 04/28/2023 at 22:44 point

Hahah... The 'faux' ad, and I 'm thinking 'counterweight' ? And then I see the counterweight. Made me laugh, thank you.

  Are you sure? yes | no

Paul McClay wrote 04/29/2023 at 01:39 point

You're most welcome :)

  Are you sure? yes | no

Anthony wrote 04/29/2023 at 10:53 point

Though in true HaD fashion, please add an ambient temperature sensor to your controller-- and then program in a correction factor to take account of the evaporation rate on the weight of water in the counterweight. *smirk*

  Are you sure? yes | no

zakqwy wrote 11/09/2022 at 23:44 point

This is really impressive, well done! Seems to be scaled perfectly for so many tiny machining tasks.

  Are you sure? yes | no

Paul McClay wrote 11/10/2022 at 00:05 point

Thanks! Any particular tiny tasks in mind?
(responding to comments in either months or minutes...)

  Are you sure? yes | no

zakqwy wrote 11/10/2022 at 01:01 point

I recently fell in love with milling PCBs, but after leaving the lab, lack easy access to a PCB mill. This looks like it could fit the bill nicely. I like how tiny it is! I don't need 100+ mm!

  Are you sure? yes | no

Paul McClay wrote 11/12/2022 at 01:18 point

Sounds like a good fit. It would be great to hear if you get started to build one!

  Are you sure? yes | no

Clayton wrote 07/24/2022 at 12:45 point

Ordered the parts from Aliexpress yesterday to give this a try.  Is there a Discord or other community where people talk about this project, or is the Hackaday page the best place?

  Are you sure? yes | no

Paul McClay wrote 11/04/2022 at 05:45 point

Hey Clayton! I'm sorry to have spaced your comment for ... three months!

There is a "Public Chat" here for this project. One of the big yellow buttons up top. Not much there yet so please feel free to kick it off.

So far I've had direct correspondence with a couple people about their builds in progress, by direct messaging here. Just added a log about that.

  Are you sure? yes | no

Elliott Dyson wrote 07/17/2022 at 06:48 point

Amazing work! Do you think you'll ever work on a larger version for a little more money (but still a lot less than the machines you can just buy)? I'll be Keeping a close eye on this project!

  Are you sure? yes | no

Paul McClay wrote 11/04/2022 at 06:37 point

(...obviously I'm not catching incoming comments here...)

Hi Elliott. Glad you like the project!

I have some ideas. The first step for "larger" will be simply switching the specific motor+screw units that are not cheaper anymore for the similar but longer generics that are not more expensive anymore. I haven't done the CAD for that yet.

There's not much room to keep cost under the low end of "machines you can just buy". But this does seem capable of better precision than cheapest options, so I wonder: what is the low cost machine "you can just buy" that can turn out similar precision e.g. for circuit board milling? 

  Are you sure? yes | no

AJonkhart wrote 06/02/2021 at 19:37 point

This is going to be my first aluminium project for my WorkBee cnc

  Are you sure? yes | no

Paul McClay wrote 07/27/2021 at 04:34 point

(two months later...)

I'm sorry I didn't see this before - I didn't get any notification when you posted.

Did you mean that you were thinking of cutting the flat parts from aluminium plate? If so, I would very much like to hear more about that!  

  Are you sure? yes | no

Ahron Wayne wrote 01/08/2021 at 03:35 point

The closeup revealed when you zoomed out on the gear and it was on your fingernail was fantastic and the video kept getting more and more impressive as it went on. Not just impressive but just full of eye candy and I'm absolutely stunned that the CNC wasn't even the focus of it but obviously wow, look at what it can do! Seriously, you should win all sorts of prizes for this if you haven't yet.

  Are you sure? yes | no

Paul McClay wrote 01/08/2021 at 22:47 point

Glad you liked the vid! - that was a bump for #the Metaproject of describing projects.  This project hasn't drawn much attention beyond spillover from #CDCNC 's 15 min of fame -- but I'm kinda sandbagging until simplification and documentation meet in the middle somewhere. I guess I'm trying to take most of the "hack" out of building your own. :)

  Are you sure? yes | no

Dan Maloney wrote 09/14/2020 at 20:18 point

I like the idea that you're building on the ideas tested in the CDCNC. Looking forward to seeing what you come up with.

  Are you sure? yes | no

Paul McClay wrote 09/15/2020 at 04:43 point

Hi Dan - thanks for skulls! Sorry to keep you waiting for results. While slow shipping and other life block progress for a while, I think early results give [me] good cause for confidence.

  Are you sure? yes | no

Similar Projects

Does this project spark your interest?

Become a member to follow this project and never miss any updates