A $50 CNC

In theory, there’s isn’t much to building a CNC machine. Hook a bit to a motor and move the motor around with some lead screws and stepper motors. Easy. But, of course, the devil is in the details. [DAZ] made a nice-looking and inexpensive rig that probably isn’t the most precise CNC in the world, but it looks like it does a good enough job and he claims he spent about $50 on it. The video below shows some of the work it has done, and it doesn’t look bad.

This isn’t a rainy afternoon project. You’ll need to cut some wood and 3D print many parts. The drives use M8 threaded rod. Electronics is just an Arduino running standard software.

The steppers looked pretty light duty, and we wondered if it would have been worthwhile to trade them out for beefier ones instead of modifying the ones used for bipolar operation. Still, the results did look good for $50. The 775 spindle is another place you could probably spend a little more and get something better. Non-printed linear rails, and a better screw? The point is that you’ve got a basis to build from.

We’ve seen cheap CNCs made from scrap before. If you decide an Arduino is too low-powered for your CNC, try going 32-bit.

63 thoughts on “A $50 CNC

  1. CNC is an initialism which stands for “Computer Numerical Control”, a collective adjective. It describes the word that follows it, differentiating it from, for example, a manual device. But if nothing follows it, the description is incomplete.

    The article title is lexically no different than if it said “A $50 Automated”. This is a “$50 CNC Router”, but even “$50 CNC Machine” would have at least been a complete statement, if still not actually descriptive enough to differentiate it from a CNC lathe, CNC mill, or CNC back scratcher.

    I realize that this is a pedantic complaint, and that HaD is far from alone in mis-using CNC in this way, but is it really so hard to type the extra word that would make the description complete?

    Thank you for coming to my TED talk.

      1. Yes, but if everyone keeps using CNC to mean router, we’ll need to invent another word to mean CNC when we want to use it to actually mean computer controlled, e.g. for a lathe.

        1. While I completely get your point (and think it is valid), currently CNC on its own means CNC router, and CNC _____ is the actual definition of CNC, at least in my book.

      2. @bbp said: “It’s a misnomer. In my experience, when most people say “CNC” they mean a router.”

        My experience is the opposite. If I just said “$50 CNC”, the people I know will reply with “$50 CNC what?”

  2. You could build a CNC for free if you spent enough time looking for resources in the wild. Most people don’t spend enough time thinking about it or testing. You can always recycle things into other things. You have to be dedicated to not spending money and working the angle of finding what you need to build the project.

          1. I would say yes … a 180€ Ender 3 is quite capable of printing very detailed structures … you can achieve quite good results on any printer if you restrict yourself to slow printing and have some patience in setting everything up.

            In contrast you can spend increasing amounts of money to get machines that reliably work every time. I own a Ender 3 and a Voron 2.1 and while the later prints faster and more reliable (and cost about 10x) the eventual results are basically the same.

          2. Yeah, totally. For $180, shipped to you this weekend for a competent Ender clone. A tiny bit more if you want the “real thing”.

            Watch the video — this machine isn’t being put under serious load. It’s going slow and taking shallow cuts. And even then, it looks like there’s some frame springiness, but it’s hard to separate from the camera movement. You really can’t expect steel stiffness out of plastic rails, though, no matter what printer they come out of. The OP is clearly skilled at getting the most out of this machine, b/c the outcomes are fantastic.

            If you didn’t already have a printer, and you weren’t interested in 3D printing, you could alternatively buy a cheap 3018-style CNC router for about the same price. They also have weak frames, backlashy screws, and underpowered motors, but again, if you’re willing to baby them, you can do a surprising amount.

            Or you splurge out and buy some other linear motion system, b/c that’s really the only part of this build that’s necessarily 3D printed — the rest is cut out of wood, or could be. You could get some 12-16 mm supported rails for not all that much money, wedge them into a design like this, and you’d be back in the 3018 budget range with a better frame.

            So I wouldn’t buy the 3DP just to make this machine, but if you’re going to buy a 3DP anyway, now it’s a two-fer. Or at least that’s what you can tell accounting.

    1. Or like the guy in the video, rely on parts you already have at hand. In which case, “this machine costs me $50 to make” does not equate to “anyone can make this machine for $50”.
      Otherwise, why not “I built a full size nuclear submarine for completely free: I had 3,000 tonnes of steel plate in my garage, 2 x 20 feet bronze propellers hanging on the wall behind my sofa, 12 rods of uranium lying in the garden to scare the cats away, 20 miles of cables gathering dust in the attic etc etc”.

      1. This.
        3D printers aren’t ubiquitous enough that you can waive away having a $500 tool like that to hand.
        Screwdrivers, saws, drills, sure. Drill press? Possibly. Table saw? No; I get the impression they’re common in the US, but I don’t know anyone friends in the U.K. with one – and I know 2 friends with lathes, and one with a chainsaw mill.

        1. There’s a weird cross-pond difference here that I think is a function of how much forest there was until recently in the US. I remember seeing a British book on how you could make your metal lathe work as a tablesaw, which I thought was kinda astonishing, as my parents, both sets of grandparents, and most of my parents’ friends had tablesaws and not one had a metal lathe.
          This doesn’t argue against your point: I just thought it was weird.

        2. Table saws aren’t uncommon in the UK. Screwfix sells a right decent model for about £250 (sometimes on sale for £200). There’s a 600+ member Facebook user group made up mostly of guys in the UK with one of these in their shed.

  3. Rigidity is the key to CNC machines – this is where machines like this fall short. (and I’ve built a few that fell short). If you grab the collet and shove it back and forth and it moves at all then it’s not rigid enough. You’ll get chatter and inaccuracy as the cutter loads up (especially on wood, where the density varies with the grain)

      1. Totally depends what you’re using it for, doesn’t it.
        A machine like this is going to be fine for a certain subset of tasks – Particularly if you’re doing decorative work where the tolerances don’t really matter, or larger work where small absolute errors aren’t so noticeable.
        However, I do suspect that the wooden frame may lose rigidity over time.

        1. Yup, it’ll probably get looser over time, but it’ll probably last long enough for him to use it to make better parts for his next, improved CNC machine (as the joke goes.)

  4. 3D Printed linear rails with BBs for bearing the load are surely cool excercise. But i guess you can 3d print more precise tribological bearings (that will slip on polished metal rods or extruded aluminum without any moving parts, with just tiny drip of oil).

    1. This is quite true. I’ve been running a set of printed bearings on my printer for a few years now, and other than the occasional drop of oil, they have worked flawlessly. As an added bonus, they are much quieter than the linear ball bearings that most printers come with.
      They’re even smoother than the cheap Chinese linear bearings avaviable from the usual sources, though proper high tolerance ones (expensive) would likely close that gap.
      Tip to get a good fit on them:
      Print them just a little undersized, and use a barely undersized drill bit by hand to widen the hole bit by bit untill its a snug fit.
      Once it’s a snug fit, toss it on the rod and add a little oil.

    2. Yeah, its impressive to get such a print working at all. Got to wonder if its really strong enough to do the job, though I noticed the timelapse speeds to visible cutting progress suggests this thing is being used to tickle the part to size really really slowly, so I guess the load on them isn’t that high. For a cheap lightweight CNC mill going so slowly the simple dovetail slider mechanism seems like the winner, should be both stiffer and more durable than this, while also being somewhat adjustable and the downsides of dovetails really don’t apply to something this slow moving.

      Be interesting to test those cool 3d printed linear rails to destruction, and see just how fast and freely moving they are too. For a milling machine as cheaply built as this one speed is almost irrelevant, you probably won’t run them near the limit because you have to take delicate cuts (judging by the video very very very delicate, take you all week to cut it cuts). But for something like a camera slider, your robot arm project, or even another 3d printer being able to run fast and free would be great, and being able to print the bearing any scale you like, perhaps even integral to whatever you were going to mount there is a neat trick. Might even save you back the volume lost in these 3d printed versions vs the metal off the shelf ones, cutting down on all that mounting hardware (not to mention plastic BB’s and 3d print – its all plastic so good for magnetic and conductive reasons)..

      1. Feed rate has to match the spindle speed, bit diameter, and number of flutes. Too slow and the bit doesn’t cut and ends up dulling itself while rubbing. Not an issue if the target is a drag knife (for cutting out decals) but most everything else will have a minimum feed rate. The only way to reduce that further is to run a slower spindle speed or, more likely with a weak machine, a smaller diameter bit.

        1. The typical story, is moving from a machining center, to a CNC router, and how that reduces your abilities and what you need to do to get those back.

          The first one is a vertical architecture, *extremely* sturdy, with a Z axis which job is only to move the spindle up/down, and below it a XY table that is extremely rigid too.
          It’s typically made out of steel (sometimes partly concrete/granite etc, much more rarely aluminum.), and it’s meant to be able to machine steel (and produce nice results at it)

          The second one is a horizontal architecture, a Y axis moves/supports a X axis that moves/supports a Z axis that moves/supports a spindle.
          It’s typically made out of aluminum, *sometimes* wood, it’s *much, much* less sturdy than a machining center, and therefore it is most of the time not capable of doing steel machining.
          It will machine wood and plastics fine, but even getting to aluminum, often times, depending on the machine, it might not be capable of it, or it might require a lot of special work/skills to get to aluminum machining (where it’s trivial to machine aluminum for a machining center). When it machines aluminum, on some machines the finish might not be stellar either, which is one of the signs of the issues we are talking about here.
          And the core reason why the CNC router is not capable of doing steel, is because it’s not RIGID enough.

          Anyway, one of the things you do on a CNC router / horizontal architecture machine, is that you machine differently: you use higher rotation speed for example. A machining center typically uses 5000 RPM bit rotation speed. A CNC router most often uses 28000 RPM (sometimes 18000). Some fancy models designed specifically with aluminum above anything else, use “ultra” high rotation speeds, which is typically 60000 RPM, or sometimes (rarely) 100000 RPM. Both of these are pretty scary to see (*hear*) in action.
          When a machine bit breaks at those speeds, it’s ballistic, you’d better have some kind of serious protection.

          Another thing you do, is use single-flute end mills. A machining center / vertical CNC mill, will typically use 4-flutes end mills. Sometimes 3-fluted. Rarely 2-fluted. But you’ll nearly never see a 1-flute end mill.
          But you will see *plenty* of those in a CNC router doing high rotation speeds: it’s essentially compensating the higher number of rotations by cutting fewer times a rotation.

          There are lots of resources on the Internet (ask Google) about why this is done these ways, what the advantages and inconvenient of each way of doing things are, and learning about all this is an important part of learning to do high quality/finish machining of metals.

          1. Yes, chatter is a problem. Many people think you can “fix” that on a flimsy machine by cutting slower. My point was that it doesn’t work that way. Any given cutter has a minimum chip load… go less to reduce the load on the machine and bad things happen.

            When I first looked at this design, I noticed he was using a slow spindle… 1600rpm or something like that. Most of those spindle motors run around 3000, some faster… if the 3 I have are anything to go by. That’s likely to compensate for his really slow max feed rate, but I don’t think it’s going to help with chatter that much.

            The guy is not going slow to make the cut. He’s going that slow because that’s as fast as those little gear reduction steppers can go, and he’s running it through a standard thread pitch which slows it down even more. WHAT he’s cutting is limited by the lack of rigidity and a sower feed rate won’t fix that.

            The only way you can cut metal on a machine like that would be to go with a really small diameter endmill to reduce the cutting forces, thus reducing chatter. But, as you do that, the margin of error between cutting and breaking the endmill gets smaller and smaller until it’s in forgetaboutit territory. Another way is to cut with something else… I’m working on one to use a plasma cutter, so very minimal cutting forces. But, that kind of rules out plywood :)

            I really like his design overall. Biased, I guess, because I’m also trying for the stupid-cheap route. Same stepper motors too. And, one look at what he’s done with it is enough to prove you don’t need to mill metal for a machine to be useful. I bought one of those 1610 engraver things… stupid cheap, and learned a lot with it. Turned out way more useful than I expected and, oddly enough, the biggest use I ended up having for it is cutting out vinyl decals. My kid loves the stickers. Very low cutting forces and no spindle speed at all so the feed rate is irrelevant. It’s just too small a work area. So, the next one is going to be way bigger :) And, plasma, maybe a little spindle to do wood or plastic, might even mount a 3D printhead on it. Lots you can do on a machine without high-end rigidity.

    3. Hope he didn’t use the biodegradeable airsoft BBs…
      There are some ceramic ones available.

      For ‘bearing’ glides that slide on polished metal rods, instead of printed, my goto is Delrin AF for dry low friction low/no slip-stick (and the harder the steel, the lower the friction). Or as an insert for the bearing surface if nothing else.

    1. Did you the OP’s name? :) *cough* *fake* *cough* *cough* *news* *cough*

      There is “Continuous-path numeric control”, but this more describes a subset of CNC rather than an alternative/original meaning of CNC….

      Before CNC, it was just called NC.

        1. NC was often run using paper tape.
          When they moved from paper tape or other hardware/physical control to using a computer, then they could do logic, loops, decision trees, and, yes, continuous motion.
          I’m not an old fart: I don’t remember the first CNC machines in the 1960’s, but ever since the 1970’s I’ve heard them called computer numeric control to differentiate them from earlier physical numeric control.
          https://en.wikipedia.org/wiki/History_of_numerical_control
          has a lot more info on the development.

    1. The thing is running GRBL. GRBL does not have much to do with “arduino” at all. It does run on some of the arduino hardware, and they’ve added some stuff so it can be compiled in the arduino java contraption that some call an “IDE” but that’s about it. GRBL is also finally shaking loose from the old 8-bit AVR’s and moving on to faster processors, and it’s doing so under the umbrella project of https://github.com/grblHAL and this hopefully spawns some cooperation compared to all the forks which have appeared in the last years.

  5. Cnc has always meant computerized numerical control.. It has nothing to do with closed loop or open loop control schemes. Nc or numerical control was the old tape reader machines that were programmed by punching holes in the tape. When g code and mcode programming came in they became cnc.

    1. Hmmm. 1980. We had a teletype with 4k (yes, that’s “k”) ram that we would manually type our g-code into. It had a rudimentary editor. Each line was given a line number. If you wanted to edit line 43, you would enter “E43”, then line 43 would be printed on roll paper and you would re-enter the whole line. Inserting a line renumbered the rest of the program, so unless you were REALLY good, you had to reprint the entire program if you needed to edit another line. (Was that a computer? I say yes. That was also the year I bought my first Apple II+.) When you were ready for prime time, another key would punch the entire program onto paper tape. You would then load that into the machine (mill or lathe – no routers back then) and run the program.
      So, we had a computer, g-code AND paper tape. Based on your definition, was that NC or CNC?

      1. great story, it shows where we came from (and reminded me we used to print ascii year calendars on chain printers from paper tape with “nude” ladies beside them ;).
        But i would say, NC, because the machine is driven by the codes from paper tape, so numeric control. The production of the paper tape on the other hand was CNC.

  6. I would say definitely find some old printers (snoop around e-waste collection bins, or spend literally a few dollars at a thrift store or garage sale. The rail & carriage assemblies out of a printer would be a big improvement. The belt drive assemblies and stepper motors might also give more precision than the M8 screw, if they are strong enough. Might even be able to dig out other components that could be used for this project or other projects.

    1. Funny you mention this…I just released a video (1 of a series) on making a 3d printer from inkjet printers using the dc motors with encoders. I’m converting step/dir to PID in the motor controller.

  7. A lot of those 3D printed parts could have been made from a hardwood (sawn, rasped, filed, drilled, etc.).

    And things like the bearings can simply install into holes drilled in the wood; no need for a plastic holder. A simply screw can secure the bearing in place.

    For threaded rod in place of lead-screws: one nut can be fixed, and the opposing can float with spring tension. With sufficient spring tension, you remove most, if not all, of the backlash play.

  8. If the person making this wants a free Smoothieboard to upgrade the machine, they can contact wolf.arthur@gmail.com , the smoothie project likes supporting fellow projects like this if/when we can. Is this Open-Source by the way? Would be cool if it were. If anyone is making cool Open-Source stuff, don’t hesitate to email the smoothie project and ask for a board, we’ll do everything we can, like we have been doing for years. Keep making awesome things !

  9. I like it. Bogus BOM as usual. Never includes time either. Love my crappy 28BYJs but some are near on bad to useless depending on reseller and manufacturer. This particular design doesnt need them to be great.
    28BYJ Usually come with ULN2003 driver boards cheap and not feeling the need for stepsticks, having to mod 28byj to use stepsticks, Uno,or 4ch stepper shield. Nice cheap Nano clone and some wiring. Would require a bit of programming. Bill Of Materials could be brought down for this quality of output.
    I do like lazy though.

    1. Time is a labor of need or love. I always look at it as something that I can weigh against cost. This is an acceptable trade off for some people and not for others.

      For example I am lucky in that the folks a ways down the road from me fabricate things out of sheet steel, so they get skids that have the steel on them. They are between 8 and 12 feet long and between 4 and 6 feet wide. They have 2 to 4 rough cut oak 2×4’s under them, and .5 x the width oak slats about every foot apart on the top and about 3 of them over the length on the bottom. They also have at least one sheet of quarter inch OSB on them, sometimes two. This is just strapped on, not even nailed. I have built everything from the furniture in my room, to shelves and stuff for the house, to a few outbuildings our of this stuff.

      My friends think it is amazing because it is free. What they do not see is my going down there with my truck and or trailer, busting my ass loading them on, driving home, busting my ass off loading them, the long process of breaking them down without cracking the slats, all the time pulling the nails etc. If I counted my time at more than about a buck an hour, they would be far from free.

      But I am lucky, I am retired. I can sit out in the sun and whack them apart for a while and than move to a comfortable chair and do the de-nailing and when I am tired of that I can stack them for future use. I don’t really count that as time but that is only because it is for my own use. So I can see how a project like this, if you are working and your time is very valuable, yea, it may not be worth it, but if you are not working and time is on your side, you get a nice toy for not a lot of bucks, but yea, you have time invested.

      1. Me too. I very much enjoy repurposing discarded materials. So much that I’ve felt imperative to repurpose wood crates made from absolutely beautiful woods. Some that if made in USA would have cost more than the items shipped in them. Not really saying much for me. I build with used wood pallets too. Neighbor or friend needs storage cheap; pass the hammer. Well, mostly. Prefer screws or pneumatics. Getting lazier and spoiled.
        Time is seldom ever to anyones advantage. Its the only thing any of us mortals truly ever own. It’s valuable simply because it’s limited. More so in retirement then the seemingly endless supply in youth. I’m sure you can find a similar quote if you wanted to waste time. Add or subtract maudlin as seems fit.
        I believe it’s a good idea to at least hint at time needed for an endeavor to evaluate use of the most valuable resource and form a reasonable choice(s)/decision(s). Wasting time for enjoyment is another very important thing.

    2. Turns out some people have hacked grbl to work with unipolar steppers like the 28BYJs… so, yeah, he didn’t have to hack the steppers nor even use the Arduino CNC board and drivers. An Uno will do it with the crappy uln2003 driver boards. So, even cheaper. Well, the plywood just tripled in price so it’s probably still $50+

      1. Ha. Yup. 250% in some areas or little more than that some places here. United States. So about a quarter sheet of cheap 3/8(11/32 actual) of decent sanded popular would be half the budget or near about in a few days likely more. Yes to software for uni drive. Ancient UNO (4-12$) is more expensive then NANO.(3-7$) . Clones of course. Same architecture ATAVR328-16mhz but NANO gives u two more i/o. Then again ESP32 or 8266 and a couple 74HC595 might be better fit. Gets a WiFi connection nicely. I do have one of the ESP32 Cams that was 9$ and has SD Card. It is nice to have cam on the scene with kill switch.
        then again…

        1. It boggles the mind… the most expensive part of the build is the frame. Same with what I’m building… the motors and control system are trifling. The cost of the PETG is a significant percentage. Not only that but the hardest part to make is the frame… the electronics and coding are trifling. Plug and play.

          I remember spending days, even weeks, wire-wrapping up single board computer systems with sockets costing more than ESP32Cams. Then, the coding in assembly… took me less time to find, download, and install the modified grbl code, and then wire up a test jig for the motors, than it took me to write, compile, and burn to eprom the binary for a blinky test script back in the day. Living Moore’s Law is amazing.

          Oh yeah, speaking of Moore’s Law, I picked up some ESP32Cams for $8 each, and that’s in Canukistan dollars. $9 is way too much :) Oh and the first real PC I bought was over $5K, and had less than 1/4 the specs. No wifi either… 300 baud modem. Would have taken years to download grbl. Well, no, probably not years… no, not doing the math ;)

          1. U had a telephone modem? Woooo. Is funny Moore and less. You let out was probably an 8-bit bus and then less actual 1 mips. Maybe a whopping 1024B -4KB and 16b bus but 5k$ machines usually had at least 16KB and the term “PC” wasnt developed by marketers yet. Skewed on 300baud reference popular in late 70s to early 80s. Do the math Is fun, scary, and depressing. If you were on one the crappy services back then would of cost by the Kilobyte too. Got the bill if the byte transferred or not.

  10. The biggest limitation in this is the cheap (like $2 each) gear reduction steppers. Drive a threaded rod with them and the cuts you see are pretty much flat out as fast as you get. I’m gearing them back up a bit (driving a bigger gear) for the CNC I’m prototyping… but mine will be an 8′ x 8′ gantry :) Well, fully modular and any size you want really. Just got the first bit to move under power today… yeah… have to make a few changes. Did move though :)

    I figure 50mm/s is about as slow as I’m willing to go.

Leave a Reply

Please be kind and respectful to help make the comments section excellent. (Comment Policy)

This site uses Akismet to reduce spam. Learn how your comment data is processed.