Minamil: a minimal CNC mill. And friends.

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

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

Powered by:
$̶5̶$8 motor+lead screw CH-SM1545 (low price seller raised price - 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. Log entries say more than the "Details" at the moment.

(update: link to 'ible replaces waffle about insufficient info. yay.)

The current iteration of this little CNC mill works well enough to produce an eye-candy demo video:

Minamil: a minimal CNC mill

First there was #CDCNC, a highly-constrained just-barely-functional one-off toy built by improvisation with found junk with 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. 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

  • second look at PCB milling -- looks promising

    Paul McClay05/29/2021 at 06:38 0 comments

    update: Clean traces on  ̶0̶.̶5̶  0.3 mm centers.

    Yesterday's result:

    That, and grid Z probing + bed leveling not logged yet.

  • Feeding metal

    Paul McClay05/27/2021 at 09:09 0 comments

    A first whack at cutting metal (Al) was encouraging, but feed was too slow and it wasn't really cutting. It seemed like a good day to try again...

    1 minute video:

  • Make yer own! (that took a while...)

    Paul McClay05/25/2021 at 09:55 0 comments

    I've been pretty quiet over here while working on spawn project #A Cheap Compact Linear Slide with the idea that it would eventually feed back into this project.

    Eventually is now: CAD, Instructable.

    TODO: the 'ible needs more work for appearances - but I think it has sufficient information

    TODO: "Details" update

  • UNCNC: handwheels

    Paul McClay01/06/2021 at 06:42 0 comments

    Just before Christmas I had an idea for replacing the motors with handwheels. For a first try I converted my first XY table and gave the result to my brother. He doesn't CNC but does some very finely detailed model-making.

    It worked better than I expected, even without the backlash adjusters for which I didn't get the springs done.

    This seems like a way to further generalize the generalized slide model

  • CAD for a generalized linear slide

    Paul McClay12/18/2020 at 09:24 0 comments

    Here’s an Onshape model of Minamil's linear slide mechanism generalized for generality:

    CAD image

    click for CAD

    pmc's cheap linear slide

    See the README tab, which refers back to a couple of log entries here for:

    Please don't expect to have it working two minutes off the laser cutter. Assembly is not really trivial and still really under-documented. Working on it. Things that make it less trivial include: no template for the backlash-adjuster-locking spring yet (but a bit of tape will work) and the inconvenience that you can't build two halves and stick them together because the halves capture each other. That and ordering parts.

    The mill is three of those, so a complete for-publication model shouldn’t be far behind. Modulo Christmas. And other stuff. So not promising super-soon. But working on it...

    Update 11 Jan 2021

    Writing this to get it out of my head for now but revisit later: for modeling these parts I've used a semi-arbitrary minimum feature size of 3mm. For example, the clamps keep 3mm material across the tops of the bearings -- a stressed area. Minimal features like that will be stronger in thicker material and weaker in thinner material. In principle, the minimum dimension could shrink with thicker material and should grow with thinner material. But meh. But some stressed features shrink with thinner material and grow with thicker material and that creates a perverse ~quadratic weakening with thinner material. While that's not great, I don't promise thinner material will be great, so meh.

    But I've come up with a simple solution -- "simple" apart from re-refactoring the CAD again which I should stop thinking about for now. The current design starts with the working parts in the middle of the "sandwich", then adds "bread" of variable thickness to each side. If the top-to-bottom thickness of the "sandwich" holds constant, then the space in between decreases with thicker material and increases with thinner material, and the height of the perpendicular end plates may increase/must decrease accordingly. So endplate area can vary inversely with material thickness; and minimum feature size -- in the plane of the material -- can vary with area available; and minimum feature cross sectional area can stay closer to constant across a range of material thickness. As a beneficial side effect, the constant exterior dimension would simplify making anything into which one of these units should fit.

    In other news:

    Better (i.e. some) assembly doc, handwheel configurations for more general generality, simplified stacking, and easier generation of cut vectors from variable parameters coming "soon". Sooner if I stop thinking about this...

    I checked the first try at handwheel slides with a dial indicator and got some astonishing (to me) results. More about that "soon" -- if warranted after I get a build from this model and an indicator together.

  • Parts Prices

    Paul McClay12/14/2020 at 09:38 0 comments

    (updated: May '21 + June re fancy screws)

    Started tracking part prices because they've been a bit volatile and small changes to small prices can be significant.

    Example BoM cost

    • $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)

    That misses the early $10/axis target, but still <$15/axis. Motor price hike accounts for ~$2.80 over $10. Scavenging 6mm rod would get back down to $10.

    Part cost details

    For orders from US in May 2021

    • CH-SM1545 -- motor + leadscrew
      • Aliexpress "Drillpro Global Store" 25 May 21
        • spend: 3x $6.53 + $3.16 = $22.75
        • unit cost: $22.78 / 3 = $7.58
      • Banggood 25 May 21:
        • spend: 3x $7.35 + $3.16 = $25.21 "10-15 business days" to US
        • unit cost: $25.21 / 3 =  $8.40
        • ... but IME BG shipping options at checkout vary between item view and checkout and over time
      • Aliexpress "Shenzhen Chihai Motor Store" 25 May 21
        • spend: 3x $6.50 + $8.95 = $28.45
        • unit cost: $28.45 / 3 = $9.48
        • mfg direct; possibly more consistent quality
      • Aliexpress "TO-HO store" 25 May 21
        • was $4.78 shipped in Aug and some longish time before that, which made a stronger argument for designing around this part!
        • spend: 3x $11.53 + $4.00 = $38.59
        • unit cost: $38.59 / 3 = $12.86 (+169% up from prior low)
    • LM6UU -- 6mm linear bearing
      • Aliexpress "VENSTPOW Official Store" (formerly "CNC Factory Supply"?) 25 May 21
        • spend: 1x 10pcs $5.26
        • unit cost: $5.26 / 9 = $0.58
        • extra: 1
        • (lm{n}uu minimum $4.49 @8mm)
          • or
        • spend: 1x 12pcs $5.83
        • unit cost: $5.83 / 12 = $0.49 if use extra 3 for another slide
        • (lm{n}uu minimum $5.58 @8mm)
      • Amazon "Sold by JS Electric and Fulfilled by Amazon" 25 May 2021
        • relatively instantaneous delivery in area served
        • spend: 1x 12pcs = $8.55
        • unit cost: $8.55/9 = $0.95
        • extra: 3
    • 6x100mm rod
      • Aliexpress "Link cnc shaft rail store" 25 May 21
        • spend: 9x $0.36 + $6.54 = $9.78
        • unit cost: $10.90 / 9 = $1.09
      • Aliexpress "Hardwar &Yool Store"[sic] 25 May 21
        • stainless 304 "ground" - might be hard enough for this application?
        • spend: 10pcs $7.41 + $3.24 = $10.65
        • unit cost: $10.65/9 = $1.18
        • extra: 1
      • Aliexpress "VENSTPOW Official Store" (formerly "CNC Factory Store"?) 25 May 21
        • spend: 5x 2pcs $2.64 = $13.20
        • unit cost: $13.20 / 9 = $1.47
        • extra: 1
      • Scavenge
        • pretty common in printers, etc.
        • need means to cut (probably not an old hacksaw)
    • Screws #6-32x1/4in -- general assembly
      • Grainger 25 May 2021
        • spend: 1x 1MU12 100pcs pan head Phillips $1.52 ("sale price"; regularly $1.79)
        • = Fabory U24522.013.0025
      • Ace Hardware 25 May 2021
        • spend: 1x 56297 100pcs round head combo $3.49
        • = Hillman 90114
      • Non-Imperial: look for #6-32x6mm because PC cases
      • Scavenge
        • Common PC case screw
          • but need a pile, so less likely by casual scavenging
          • unless building less, like just one axis
    • Screws #6-32xSmaller -- mounting motor/leadscrew units
      • roll your own
        • spend: $0.00 if you drop no more than 2 from the 100pc bag (current rev)
        • unit cost: $0.00 + file
        • 12x file heads to <2mm thickness
        • 4x file length to material thickness
      • Supermicro 3.5in hdd caddy screws (via Amazon seller) 14 June 2021
        • spend: 1x MCP-410-00005-0N $5.88
        • unit cost: $5.49 / 12 = $0.49
        • extra: 88x screws, 24x caddy labels
        • but probably not if you don't already have some
      • other
        • not really a standard screw (that I know of - comment plz?)
        • #6-32x4mm screws exist
          • some of which have thin heads
        • thin head
        • thin/shallow countersunk flathead ideal for constraining position
          • it looks like the magic feature is 100deg countersink; bonus 100deg+undercut
          • McMaster-Carr 91771A977 might work. $9.35/100 (1/4inch)
          • or McMaster 91771A976 $7.22/50 (3/16inch)
    • Material
      • 1/8 in hardboard
        • finish one side
        • current design could tile inside 9" x 30"
      • Home Depot 25 May 2021
        • spend: 1pcs 2'x4' $4.11
        • fits 3x current cut layout
        • unit cost by potential cut count: $1.37
        • fits >= 4x area (if globally efficient...
    Read more »

  • Made a thing of >1 parts [and a demo video]

    Paul McClay11/23/2020 at 07:30 0 comments

    Made the leap from making parts to making a thing made of parts.

    Spinning spider gears
    differential from CNC milled gears and parts

    At this point a major obstacle to getting enough info up here for you to build your own toy CNC mill is playing with it myself.

    And making a three minute demo video -- a sub-project that took longer to make shorter. If I may say so myself, I like how this turned out:


    Kiri:Moto (via Onshape integration) handled all the CAM. KM needed some coaxing to produce the toolpaths that I wanted, but sole developer Stewart Allen's current pace of work promises further improvement soon. Dunno whence his motivation but he's doing great service for amateur CAM!


    Martin Molin got an idea in his head and made a machine that actually worked. Sort of. But not well enough to haul out and use at will. So now he's working on a new machine that isn't finished yet but already works very much better. That seems apropos. And he just (well, two weeks ago) announced free (with conditions) licensing to use Wintergatan tracks in non-commercial videos.

  • Bevel gears: two's company

    Paul McClay11/09/2020 at 07:33 0 comments

    In the last episode, a little bevel gear looked like nifty output, but it was too late at night to make more with a noisy dremeloid, and what's one bevel gear?

    Another day, another gear:

    Bevel Gears
    little milled bevel gears

    More of that with fun zippy sounds and a bit of the milling:

    The gears started as an experiment to see if I could tweak a plain gear from fma/Fred's Bevel Gear featurescript in Onshape into something suitable for milling from ~3mm material with a relatively "large" 0.5 mm cutter. CAM by Stewart Allen's current development version of his "Free 3D Slicer and GCode generator": Kiri:Moto. (the CAM took some massaging - maybe more about that later - but with Stewart's current pace of work the details prolly will differ next week)

    Zippy speed sounds aside, I'm happily surprised that when I put some drag one one gear and roll the other, they mesh quite smoothly under load. They're supposed to, but it was a pretty uncertain experiment to see if the modeling and milling on this scale would actually turn out a decent result. Yay.

  • Lonely bevel gear

    Paul McClay11/08/2020 at 07:58 0 comments

    One involute bevel gear, module 0.8, needs a friend.

    Hopefully I can fix that when there are fewer people sleeping.

    I've been pretty quiet on here lately. Project time is going into:

    • writing up, slowly, some of the ideas that seem to be working (edit: have published that entry which, being started before, now appears older than this entry)
    • the Kiri:Moto forum where author Stewart Allen is working furiously lately, so now's the time to p̶e̶s̶t̶e̶r̶ ̶h̶i̶m̶ ̶f̶o̶r̶ ̶w̶h̶a̶t̶ ̶I̶ ̶w̶a̶n̶t̶ give feedback.

  • Some of the basic ideas that seem to be working

    Paul McClay10/20/2020 at 16:46 0 comments

    (update: add note to Structure:Alignment)

    Here's an attempt to describe some of what makes this extremely low cost sub-mini CNC mill work. Hopefully having it somewhere to refer to will simplify writing more about how to make one for yourself!


    Simple linear slide
    Looking through a basic example cut from acrylic; each half 100 mm long, >55 mm travel

    This idea for a cheap, compact, and usefully functional linear slide seems to work pretty well.

    The following photos of a simple unit made to test the idea show the basic configuration. (please pardon the fake rods - they're just for the pix)

    The stiffness of the telescoping configuration varies through the range of motion. The diagrams below show the triangle supported by the three bearings in green and the favored loading area in blue.  Assuming the "bottom" half anchored and the "top" half in motion, the left & right photo pairs show how to orient the unit for different applications. 

    In the test linked above, this slider shifted half of a 30lb (14kg) moving load while oriented as illustrated on the left. Minamil uses the same orientation for the Z axis to carry the (relatively) massive rotary tool while the X & Y axes use the orientation on the right to move the workpiece around under the point where the tool acts on it.

    The telescoping arrangement is obviously less stiff when extended. At full extension the "far end" gets pretty weak. Using the blue area minimizes the change in stiffness with extension. In practice with evolving versions of Minamil I have neither noticed any difference in capability as the axes extend, nor tried to flog it in the far corner of the work area. That's not much data except to say that it's working well enough that I haven't had to deal with the question. Within given constraints (size, money, etc.), machines generally have to trade off between range of motion and stiffness. More traditional carriage-on-track machines have past decisions about that baked in. I'll call it a feature that the telescoping arrangement makes that a run-time decision.

    The telescoping design seemed like the best way to do something with parts in hand. If I've overcomplicated this build by not seeing the obvious, please comment. Apart from this specific instance, I think it's possible that the basic layout might have some legs as a way to pack greater range (with reduced stiffness)  and stiffness (with reduced range) in the same box compared with conventional configuration under same constraints. For example, this layout can get equal range from shorter rods and slightly shorter rods deflect significantly less. But I haven't worked that through to discover why it's not already common. If you know, please comment.

    The leadscrew can attach to either part, in case more abuse will happen to one side than the other. Minamil protects the leadscrews from milling debris.



    As one of the early ideas that gave this project a place to start, the design relies on 2D parts machine-cut from cheap -- i.e. thin and soft -- material.  I first thought that would be 1/8in/3mm acrylic. Then I thought I'd use 1/8in hardboard for "rough drafts" and fit checking. Then the hardboard parts worked. So, hardboard. Just keep it dry.

    In addition to cheapness of material, part of the cheap material idea was accessibility of capacity to cut it. As laser cutters become increasingly available in entirely ordinary places like schools and libraries, lasers able to cut 1/8in will be more common than lasers able to cut 1/4in+. I haven't heard of much community-accessible capacity to cut metal plate. Yet. (PS:1 being more exception than rule.)

    So what to do with thin soft material? Minamil relies on 2D parts to hold a shape in the plane of the material by resisting skew distortion, but not so much for stiffness to resist bending or hardness to bear point loads.


    For lots of reasons, this has to be put together in such...

    Read more »

View all 28 project logs

Enjoy this project?



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

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