Checking In On Low-Cost CNC Machines

Low cost 3D printers have come a long way in the last few years, but have entry-level CNC machines improved by the same leaps and bounds? That’s what [ModBot] recently set out to find. Despite getting burned pretty badly on a cheap CNC a few years back, he decided to try again with a sub $400 machine from FoxAlien. You can see his full review after the break.

The machine looks very similar to other generic CNC machines you see under many brand names, sometimes for a good bit less. The 3018 number is a giveaway that the work area is 30×18 cm and a quick search pulled up several similar machines for just a bit more than $200. The FoxAlien did have a few nice features, though. It has a good-looking build guide and an acrylic box to keep down the shaving debris in your shop. There are also some other nice touches like a Z-axis probe and end stops. If you add those items to the cut-rate 3018 machines, the FoxAlien machine is pretty price competitive when you buy it from the vendor’s website. The Amazon page in the video shows $350 which is a bit more expensive but does include shipping.

As with most of these cheap CNC machines, one could argue that it’s more of an engraver than a full mill. But on the plus side, you can mount other tools and spindles to get different results. You can even turn one of these into a diode laser cutter, but you might be better off with something purpose-built unless you think you’ll want to switch back and forth often.

This reminded us of a CNC we’ve used a lot, the LinkSprite. It does fine for about the same price but we are jealous of the enclosure. Of course, half the fun of owning something like this is hacking it and there are plenty of upgrades for these cheap machines.

42 thoughts on “Checking In On Low-Cost CNC Machines

  1. I too was burned pretty badly by a cheap CNC(now sold). Not because it didn’t work, it did everything it should, but I just wasn’t expecting the difficulty level. It was just too much for anyone without a lot of time to invest, and I didn’t want to CNC things all *that* much. There’s not much I could do with one that I couldn’t fake on a 3D printer with the right faux finish anyway, and without the risk of wasting some relatively expensive raw material.

    I think CNCs will never be 3DP-level mainstream until they have force detection and can dynamically protect the mills by slowing down if something isn’t right. As is, they need some careful settings adjustment to match the material you’re using.

    The results are amazing, but they’re not easy, and FOSS CAM is still a pretty new thing.

    1. The degree of difficulty is much higher with CNC compared to 3DP. I would say the progression of difficulty in CNC robotic machines goes like this:
      ( And it is because there’s just more shit to deal with to get good results as you move down the list )

      vinyl cutting
      laser cutting
      CNC router
      CNC milling

      1. For small precision CNC mills, one can find used US made trapezoidal metric-thread versions for around $1k

        We have had ours for many years: rebuilt the control board using our clubs linuxCNC 3-axis solution, and replaced the high-speed spindle as the bearings don’t last forever (also wanted a ER collet for Standard and Metric diameter bits). For small <3mm diameter end mills, the spindle RPM is relatively high, feed rates are very low, and contouring job run times are long. This means if your machine was built like a low precision printer or engraver, than you are not going to be dealing with the right set of process issues. Milling machines are heavy for a reason, and while mini taigs are not perfectly rigid… they are still the best we could find that actually work.

        Every so often, we meet people that bought into a light-weight aluminum extrusion based machine, or a mortgage on a nylon geared monstrosity. There is really nothing one can do to “fix” the inherent design problems the budget machines.
        'the law of holes states: "if you find yourself in a hole, stop digging"'

        Seems like a common question, but to mill plastics like polycarbonate there are some tips:
        1. use carbide cutters (not dull used ones routed from wastebasket to auction sites)
        2. use dish soap and water as a cutting fluid
        3. feed slower

        Best regards,

    2. > I think CNCs will never be 3DP-level mainstream until they have force detection and can dynamically protect the mills by slowing down if something isn’t right.

      Wouldn’t a cheap way to do this be a current limit on the spindle?

      1. What if i told you that going slower might actualy cause your bit to break? It’s not just about not going too fast. It’s about going the right speed. And it’s about machine being able to withstand forces at that speed without considerable deflection. You can’t just go slower. If you go too slow, the best case scenario is that you will turn your milling machine into the overheating/grinding machine and that would not be very useful.

      2. The issue isn’t the spindle, it’s how the machines control the X-Y coordinates. Many use stepper motors & literally count the number of commanded steps to know where it’s at. If you current limit, and a step commanded isn’t executed, the machine will be out of position until it re-calibrates. It’s basically dead reckoning.

        1. Which is why pretty much all actual production systems are closed loop and always know where they are because they can measure it, accurately, in real time. Instead of just making assumptions which then turn into increasing position errors.

          Steppers and servos can both do this but when you cut costs to make the product cheaper, you tend to cut things like position feedback or sensors and just make assumptions about where you are. Not good. At some point, you cut so much that you are just wasting your money to begin with.

          1. As a thought, wouldnt tossing a daisy wheel and optocoupler on a belt drive pulley be a dirt cheap way of getting position feedback? It was good enough for 150dpi mice and those were commodity dirt cheap devices…

      3. if you just prevent the spindle from drawing the power it needs, then it won’t remove enough material to keep up with the movement. your suggestion exacerbates the problem.

        you’d “want” to slow the cartesian movement of the machine in response to the spindle requiring more power to maintain the commanded speed.

        i put want in quotes, there, because going slower can cause its own problems. the process is fundamentally complicated, and you can’t just hand wave an algorithm over the problem. the speeds and feeds need to be set correctly from the start.

        1. I think you could make it up on the feeds and speeds as you go along – but you have to side on the ultra conservative approach and have feedback on the spindle and axis to be sure there are no skipped steps etc.

          In general running the tool too fast, and the feed to low doesn’t cause much trouble, but the other way around is broken something – probably the tool, but possibly the machine. So starting from the safe end for the material and then working towards higher feeds will make it work, not going to get the optimal surface finish for having the right feeds and speeds and would definitely want real cooling systems… But it should be possible.

          In much the same way that just sending a stl to a 3d printer isn’t all that’s needed to get really good prints. You need to understand and work on the gcode (or have your ‘slicer’ do these more advanced options for you) to optimise certain elements of a print. Machining on a CNC probably could be the same way, though it is harder to do so as you do need closed loop feedback systems I would suggest to be able to make a working easy CNC, or I suppose settle for tickling the stock to death..

          1. LinuxCNC can store the feedrate as a global variable, so it can be changed by the process while running. One possible way to do that is to monitor the current being used by the axis drive motors and the spindle motor, and if they rise too high start reducing the feedrate.
            But realistically this means your controller needs to have look-ahead and know what the load should be. If you’re taking a very thin cut or cutting air and then plow into the material you’ll see a huge current surge.
            That’s why adaptive toolpath machining strategies help: they try to make changes gradually by tangentially entering and exiting cuts.
            I still think that tying reduced feedrate to spindle current draw above some threshold is a good idea.

      4. Have you guys seen the Shaper Origin? I am pretty sure that’s where things will go to get CNC more mainstream.

        I think it solves a lot of the problems you are talking about (feed speed for one are solved by guiding the user to slow). It has the software to guide users to preform the necessary actions a la a Cricut craft tool. Handling the complicated stuff through smart software and UX I think is key.

        The cost? Prohibitively expensive I would say at this point, but I would hope some competition could help there.
        I am surprised I haven’t seen an open source takes on this yet.

  2. You can dress up a 3018 but with the unsupported flexy rod rails, tiny little spindle and plastic spindle mount, you are basically just putting lipstick on a pig.

    And, @DanielDunn, CNC is no more fiddly than 3DP. In both cases, you have to dial in your process and once you have they both work. Perhaps if you had used a more robust machine to start with you would have a different opinion. I prefer CNCing because you can get a fantastic finish and a lot more precision. There are things you can make on one but not the other so they both have their place.

    I just bought a 3018 from some disillusioned guy – $100. I’m going to put a solid state laser on it an use it for simple etching. Since no force is pushing one the laser, it won’t flex.

    1. Given my 3018 cuts aluminium fine, you’re wrong.

      The only pig with the 3018 is the truly crappy end mills they send you with it. I got a handful of cast-off mills from a local milling shop (these would probably be $50 each or more, but having been used a few times are no longer up to spec for them, so they saved them from the bin for me!)

      Decent cutters make a world of difference, and I’m honestly wondering why I didn’t realise this sooner.

      The lack of end stops is an easily resolved issue.

      1. Sure, with a shallow enough DOC you can cut the hard stuff. If you have ever used a CNC machine with decent rails, I think you would have a different opinion.

        I do agree about the endmills. Just about anything that is priced at 8 for $12 or similar is going to be junk. Good quality bits costs. But, they don’t make up for half a mm flex at the cutting point – that’s what I measured on the 3018 I have. All due to rail flex. Hard to make truly round circles.

          1. Well that comment just got the first real laugh out of me this year..

            I’m with Phil here 100% though, my pretty much cheapo budget manual mill is rigid enough to take huge depth of cut (compared to those machines at least) – you could probably break a 1/2″ mill maybe bigger running into the work before the machine would fail – Its not something I’ve actually tried on purpose, but have seen a 12 or perhaps 16mm drill bit flex as the tip just dragged on a bump in the work…

            I’m sure good cutters make a big difference, but so far I wouldn’t really know – all the cutters I’ve ever used have been cheap, but properly sharp (or re-sharpened by me to an at least not already rounded over worn out level).

        1. I’ve watched enough professional CNC machines to know they’re in another league. I’m under no illusions that a ~$100 CNC machine can equal a $100k machine!

          But that’s a far cry from saying a cheap and small machine is useless – case in point, my CNC3018 paid for itself as a productive tool for my company in the first 6 months of its life. I’d never recoup the investment of a big machine, and that’s assuming I could fit the cooler or tool changer library for a decent machine into my garage. A friend works on a “proper” CNC machine; the tool changer is over 2x the size of my garage. Comparing a CNC3018 to that is pointless.

          Whilst I’m sure QC varies enormously between suppliers, a CNC3018 can be a good and reliable tool, if your expectations for it are sensible.

          1. There’s a lot of machines between ones the size of car with their own tool changers and a 3018. From small Roland, Boxford or Proxxon micro-mills to larger Sieg and Warco and their many clones, they are almsot all built way more rigid than the 3018 style units.

            I’m not saying you can’t cut metal with a 3018 or that they don’t have their place, but they are a way off an actual mill designed for milling by people who make mills. They’re an engraver/router that happens to be just about up to doing a bit of milling.

    2. The difference with 3DP is that it doesn’t need a more robust machine. Forces are low, and they’re mass produced to the point where cheap machines are very close to consumer items rather than DIY projects, unless you buy one of the wobbly gantry style ones with no autolevel, or you use trash filament.

      There’s also the clamping and re-clamping and tool changes. It’s hard to make anything in a single pass, and you have to manually figure out how to arrange parts to make best use of material.

      But the big issue is that small diameter mills snap incredibly easily, and the machine will not protect you from this, and every material and bit is going to have a different max feedrate and optimal RPM.

      3D printers are adding more closed loop stuff all the time, some of the newer ones can even detect some missing steps and such without physical sensors. 99% of the time the worst they do is make a failed print, but a cheap CNC will not hesitate to destroy your tools. They’re both doable and practical, but 3DP is almost as easy to use as a regular printer.

      1. Agree 3DP and laser have little to no issues with rigidity compared to a CNC.

        I’ve not had problems with snapping tools. My most common failure by far is clamping failures. Still not found a reliable way to clamp (relatively small) workpieces. If there’s waste on the workpiece, screwing it down works well, and double sided tape is surprisingly good provided the spoil board isn’t too cut up, but I’ve not found any reliable solution for many use cases.

        Tool changes aren’t a major issue – CNCJS sends me a notification when it needs a tool change, and I can make the change and re-home.

        If you’re cutting wood or aluminium, feeds and speeds aren’t critical, and there’s plenty of wiggle room. It’s only really steel (which work hardens as you cut) where it’s really important.

        I’ve hardly ever had missed steps, unless I’ve done something I didn’t mean to (milled the clamp, etc… yes, it cuts steel too…)

        Adding a 4th axis has been difficult. I’m getting missed steps on that (inadequate torque – need some gearing), and the “woodpecker” controller lacks a 4th axis, so I’ve had to do XYA milling instead of true 4-axis.

        1. One way to fixture small complex objects is to cut the object’s inverse into sacrificial mill vise jaws. You cut the item out of a solid block of material roughly the same size as the item, invert it into the vise jaws, crank them down a little, and slice off (or contour machine) the base.
          I generally screw it to a spoil board and leave shaker tabs, though: it’s less wasteful.

          1. Worth trying: 3d print the inverse shape as sacrificial vise jaws and take a light finish cut so the soft plastic won’t deform much during that step.

      2. “a cheap CNC will not hesitate to destroy your tools”

        Neither will a million dollar one or anything in between if you don’t know what you’re doing!

        Professional machines can stop and not load a tool if the controller sees a certain amount of time on that tool that the user predetermined is a wear limit for the tool, based on runtime, but that’s about it.

        I have a Taig mill, not the CNC version- but someone I know does, and they’ve had good luck with it. I’ve seen the results and build quality first hand. Imho, as someone who makes their living as a machinist, its the best true small cnc mill you can get for the price. There are companies like Glock CNC who offer upgraded spindles. Expecting a 350$ cnc mill to cut aluminum with any kind of accuracy or repeatability is laughable.

        A few things-

        Using worn out tooling that has dulled cutting metal in a professional shop is a perfect way to ruin your part, even if plastic. I used to be a plastics and composite machinist- use sharp carbide tooling. Worn tools, no matter how expensive they were new, were thrown out for a reason- its cheaper to buy new than pay to regrind. If you don’t want to pay for good tooling- you are your own worst enemy. Tooling doesn’t have to be very expensive. Look at MSC Accupro brand endmills.
        If you need good small tools, look at Harvey Tooling.

        If you are having difficulties machining polycarbonate, you’re doing something wrong. It’s excellent stuff, machines easily. It doesn’t like dull cutters.

        Noone sells a cnc that never breaks tools, and doesnt require a basic learning curve- because machining is not as simple a process as making a paper copy on a xerox. Basic research on youtube should have proved this if you don’t do it for a living. Very basic machining is definitely not rocket science, and you can get good results at home, but you need to start with usable tools and a machine that doesn’t flex like a rubber band.

        The key to good results on any CNC is one word first- rigidity.

        Without it, you’ll never get repeatable or decent results.

  3. Anything with a spinning tool needs careful attention. The cheap CNCs are engravers and being forced by the hobbyist to cut metals. You can learn CNC on it but use a wax block its cheap and you can learn a lot then move to a better machine.

    1. This.

      It’s all about the pressure to cut a material.

      If you are cutting wax, almost no pressure. But the pressure needed to even cut aluminum, it’s hilarious the ridiculousness I see as the crowd of people used to getting crappy prints from mostly plastic printers think the same approach will somehow work when milling even plastics, let alone aluminum.

      When people keep pointing out the issue of rigidity, any of you homebuilders- please, listen to them! We aren’t repeating this like a tired mantra if it’s not true. Your machine needs to be solid, everywhere, in all connections, and build design, to ever hope of getting decent results.

  4. What most of these machines lack is position feedback. Yes, things flex and steps sometimes get skipped, especially for cheap/under powered machines, but if the software knows the true position of the head, it can compensate, and power through. About a decade ago, I built my own dual head CNC/3D printer with feedback. I used an off the shelf acrylic stage and calipers for position feedback. It worked by telling the machine to go to X1, but then instead of figuring out how to go from X1 to X2, it read the actual position X1′ and mapped how to get from there to X2. If the error from X1 to X1′ was too large, then it actually went X1′ -> X1 -> X2. It also had backlash and acceleration/deceleration compensation as well. So there was a bit more to it, but in general, feedback let me getting very good results with very cheap parts.

  5. I had 3018. It was bad. Very, very bad.

    These small ones are underpowered, with small steppers that are better suited for 3D printers than for CNC. The spindle with its 50-60 watts of power is just a joke. The whole thing lost its position constantly, even without engaging the material. The only solution: drop max speed and reduce microstepping to get more force on the steppers. And bump up the supply voltage.

    The other problem is the stiffness of the construction. It’s so flexible, it’s almost flaccid. Especially Z axis assembly, which was 3D printed. It was so bad that it protected my mills by bending sideways whenever it got stuck. Eventually I designed and ordered a new 3D printed spindle holder for faux dremel, it helped a bit with cutting, until its motor burned out.

    The third problem was spindle itself. Mine was 55W electric motor with brass holder that used 4 set screws to hold itself to both motor shaft and to the mill. No ER11 holder – too expensive. This solution works like a charm, if your goal is to have mills and set screws flying all over the place. Thus I did the spindle replacement.

    Eventually I sold this machine to someone with more patience than me, and I’ve got 3020 with proper aluminum/steel frame and bigger motors…

    1. My 3018 came with an ER11. No problems. And definitely no missed steps under no-load. I suspect quality control issues, or perhaps an assembly error. Some people also find problems with the (fake FTDI) serial port, though I’ve not had any issues with a raspi driving it.

      1. If the speed is to high, and there are too many microsteps per step, the low quality stepper will resonate instead of moving, or loose steps because the torque generated by single microstep is too small to overcome mechanical resistance of the entire setup. The more microsteps per step, the smaller torque per microstep. One way to combat this is to increase supply voltage. Also my machine used GRBL, which means that step/dir signals came from Arduino, not from the PC, which only sends G-Code commands to the GRBL…

        1. The steppers which came with my CNC3018 are set up to run at 24v, and the mechanical resistance is minimal (assuming you’ve not misaligned the guide rails).

          I’m also using GRBL – I mentioned the USB serial port because some users report “missed steps” which transpire to be missed Gcode instructions due to the serial port, and switching to the arduino’s builtin serial port resolves it. This seems more common with some PCs than others – their tolerance for fake FTDIs seems to vary – and is likely more common if you’ve got a lot of gcode sent fast (e.g. curves?).

          There is a limit to how fast you can cut with a small tool, due to the low material removal rate inherent in a small tool. The spindle’ stop speed isn’t massive, so be realistic about what speeds you can expect. Also, the end mills commonly sold by the typical suppliers are rubbish – blunt, and very small flutes. Try it with a good sharp tool appropriate for your material – try say a 4mm 2-flute cutter, and expect to pay $15+

    2. But I agree, the spindle is underpowered, assuming you’ve got a decent tool, that’s the limiting factor on feeds/speeds. I’m considering upgrading mine to a small trim router.

  6. In the past weeks there was great progress with grblHAL+bCNC stack. I am gonna ditch the arduino uno with grbl and run my machine on cheap esp32 based boards running grblHAL with option for multiple axes, modbus VFD control, bluetooth and wifi. All i ever wanted to add!

  7. I bought a Sainsmart Genmitsu 3018-Pro this past spring. Here are my thoughts:

    * Noise control is a nontrivial problem. This is especially true for people (like me) living in condos/apartments. I’m currently on my third enclosure design; it uses 3/4” plywood and I’m still not satisfied. This has been my biggest challenge in using the CNC.

    * Buying a CNC isn’t the time to seek the cheapest option. 3018 machines from reputable companies (ex. Sainsmart) cost slightly more than no-name machines, but they’re more likely to work. A reputable CNC is less likely to catch fire or be defective. I’m a huge fan of the 3018, but I’d never buy a sketchy bargain-price one.

    * A well-build 3018 machine can do more than many people realize. I use mine for relief carving in wood; the results look very professional. Of course I use slow feeds/speeds, but since 3D modeling takes so long, a few extra minutes of carving time is OK. Slop has NOT been an issue for me.

    * Good FOSS software exists. I use Blender and Kiri:Moto for 3D CAD/CAM, and Inkscape for 2D CAD/CAM.

    * The proliferation of cheap CNC/3DP parts is great for the maker community. It allows for cheap and accurate robot arms (Ustepper/FTobler/DARM), CNC variants (hot-wire cutters and pen plotters), and specialized devices (ex. gardening/farming robots). So the 3018 (and similar machines) benefit the broader maker community.

    1. Just boxing something up won’t damp the sound much if at all – you also need to decouple (with rubber feet, spring etc) the machine from the box – or the box is just playing speaker, and have something to absorb/disperse the sound inside (so carpet, foam, fancy ‘skyline’ block shapes etc).

      Will never make it properly quiet quiet in a reasonable area/volume – but can take the edge off easily.

  8. I myself have been eyeing up the 3040 set of machines for a while. Though, the design of them are fairly poor, same with most cheap machines to be fair.

    Using rods for linear rails that aren’t remotely connected to the work bed of the machine tends to lead to a lot of flexing, both of the rods and of the bed, ie the machine isn’t all that rigid.

    This can be remedied fairly easily by simply switching out the rods for something more sturdy. There is plenty of different linear rails on the market that are supported along their whole length and that means that they can be connected with the bed far more rigidly.

    The lack of position feedback can be seen as a user upgrade, or as optional extra, just like ball screws already are on these sorts of machines.

    Though, a lot of machines have a bit too shallow work heights for a lot of projects I have in mind… Would like a bit more than the typical 5-12 cm these cheap machines have, 20-25 cm would be far more useful. (room for fixtures so that work pieces can be angled, or just room larger work pieces in general.)

    But in the end, a small machine can be just as rigid as a larger machine, if built a bit competently that is, proportionally speaking. Work area will likely be smaller, cutting speeds as well. But as far as hobbies goes, I don’t think a lot of people mind spending 2 hours on a part that a “proper” CNC machines spits out in under five minutes. Especially if one doesn’t have the room for a “proper” machine…

  9. Quite frankly there is a lot of successful DIY CNC mill out there, but they all have something in common: they are not cheap!
    Be it an old iron conversion, a refit of old CNC VMC or a complete from scratch build, all require mandatory tools, materials and supplies, space and time investment.
    And it doesn’t even cover tooling investment. You can’t do CNC or even manual operation without having a minimal tool and measurement setup, even if non crappy Chinese tools have lowered the bar *a lot*
    There is also a floor of diminishing returns: once you go lower on the investment side, you get much lower ouput. I remember that when looking for my lathe purchase, I went from ubiquitous chinese 7×10 lathe to the bigger 8×20 and never regret this decision.

  10. Is there a consensus on what the “best” route to go for a DIY-build CNC controller box is, these days?

    It looks like almost all major projects in the past few years have all been focused on 3D-print setups, with moderate stepper drivers build into a single monolithic board. e.g. Smoothieboard.

    But what about for larger builds, with separate stepper drivers?
    The industrial-type step/direction boxes have come WAY down in price and are easily available now.

    TinyG is old now. GRBL is ancient. g2core still targets Due.
    There’s a number of various 4-9 axis drivers board in the $200-800 range.
    Software side, Mach3 is legacy. Chillipeppr and CNCjs look to be kept modern.

    If I want to get a USB CNC controller board in 2021, is there a “best” option?

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.