[thisoldtony] has a nice shop in need of a CNC. We’re not certain what he does exactly, but we think he might be a machinist or an engineer. Regardless, he sure does build a nice CNC. Many home-built CNCs are neat, but lacking. Even popular kits ignore fundamental machine design principles. This is alright for the kind of work they will typically be used for, but it’s nice to see one done right.
Most home-built machines are hard or impossible to square. That is, to make each axis move exactly perpendicular to the others. They also neglect to design for the loads the machine will see, or adjusting for deviation across the whole movement. There’s also bearing pre-loads, backlash, and more to worry about. [thisoldtony] has taken all these into consideration.
The series is a long one, but it is fun to watch and we picked up a few tricks along the way. The resulting CNC is very attractive, and performs well after some tuning. In the final video he builds a stunning rubber band gun for his son. You can also download a STEP file of the machine if you’d like. Videos after the break.
It seems that many 3D printer owners just aren’t getting the same buzz they used to off their 3D printers, and are taking steps to procure heavier machines. And making them in their home laboratories with, you guessed it, their 3D printers.
Following the pattern, [Michael Reitter], designed a 3D printable CNC around a IKEA MALM table. In order to span the length of the table for his X axis, he came up with a very cool looking truss assembly. The linear rails rest on top of the truss, and a carriage with the Z axis rides on the assembly. The truss has enough space in the center of it to neatly house some of the wiring. The Y-xis mounts on the side of the table.
Overall the mechanical design looks pretty solid for what it is, with all the rails taking their moments in the right orientation. We also like the work-piece hold downs that slide along the edge of the table. It even has a vacuum attachment that comes in right at the milling bit.
We’re not certain how much plastic this build takes, but it looks to be a lot. Monetarily, it will probably weigh in at a bit more than some other options. As many in the 3D printing world are discovering, sometimes there’s no reason not to leverage more mature industrial processes for lower cost large gains in accuracy and strength. Though, it’s pretty clear that one of the design goals of this project was to see how much one can get away with just a 3D printer, and we certainly can’t deny the appealing aesthetic of this CNC.
[Allted] has designed a CNC machine that you can print yourself; adding conduit, bearings, and the standard vitamins to bring it to life. The CNC machine uses a mechanical design similar to an etch-a-sketch, though instead of the maze of pulleys and cable it uses four stepper motors to do the X and Y translation. The machine looks to be about as accurate as a Shapeoko, and is able to handle light cutting in aluminum.
The coolest part is the extensibility of the printer. For example, [Allted] needed to print a lot of parts to make orders of the kit. So, he built a 4 headed 3D printer by copying blocks of the design, and tying them all to the same belt. The design also seems to be a little more resistant to dust and debris than some homemade rigs. The CNC won the Boca Bearings design competition. If you’d like to build one yourself, [Allted] has all the instructions with print setting recommendations on his website.
Turning the classic toy Etch-A-Sketch into a CNC drawing tablet intrigues a large number of hackers. This version by [GeekMom] certainly takes the award for precision and utility. Once you build something like this, you can hardly stop writing firmware for it; [GeekMom] produced an entire Arduino library of code to allow joystick doodling, drawing web images, and a self-erasing spirograph mode. The topper is the version that runs as a clock!
The major hassle with making a CNC version of this toy is the slop in the drawing mechanism. There is a large amount of backlash when you reverse the drawing direction. If that isn’t bad enough, the backlash is different in the vertical or horizontal directions. Part of [GeekMom’s] presentation is on how to measure and correct for this backlash.
The EtchABot uses three small stepper motors. Two drive the drawing controls and the third flips the device forward to erase the previous drawing. The motors are each controlled by a ULN2003 stepper motor drivers. An Arduino Uno provides the intelligence. Optional components are a DS3231 Real Time Clock and a dual axis X-Y joystick for the clock and doodling capability. Laser cut wood creates a base for holding the Etch-A-Sketch and the electronics.
The write up and details for this project are impressive. Be sure to check out the other entries in [GeekMom’s] blog. Watch the complete spirograph video after the break.
Perhaps the tolerances on today’s hobbyist machines just aren’t good enough for you, or perhaps the work area is just too cramped. Either way, there are times when an off-the-shelf solution just wont fit your needs, and you resolve to build your own CNC machine. Fortunately, none of us are alone in this endeavor because hobbyists have been building their own automation equipment for years. Whether you’re talking building the machine, generating the G-code, or interpreting that G-code into motor signal pulses, the DIY CNC community has evolved a sophisticated set of tools aimed at getting the job done. I thought I’d take a tour of some of the hobbyist’s tools that hallmark 2016 as the best year yet to build your CNC machine.
In the last few years, affordable extruded profiles and brackets have made leaps and bounds to satisfy a hungry DIY 3D printer community. Beyond 3D printers, these beams and brackets are a good start for some of our needs in the world of linear motion control. Here’s a quick look at a few components off-the-shelf.
Makerslide Extruded Profiles
Unless you’ve discovered a deal on eBay or AliExpress, building up a machine from precision linear rails can be a pricey ordeal. Linear rails offer us a rigid, wiggle-free guide for motion along a single axis, but in some cases, the cost needed for hobbyists to afford this precision is outside their budget. [Barton Dring] took the idea of guided linear motion and launched a custom extruded rail that enables bearings to slide freely along an axis. Dubbed Makerslide, this extruded rail features a groove embedded directly into the extrusion and aims to be compatible with most other 20-mm extruded profiles like those from Misumi and Rexroth.
OpenBuilds V-Grooved Rail Attachments
On a similar note, the folks at OpenBuilds took [Barton’s] concept in a slightly different direction. For many of us who have already committed to extrusions from one vendor and have our closets gushing with excess tubes, Open Rail is an extruded v-groove attachment that enables bearing-mounted plates to slide freely just like the extrusions of Makerslide. Unlike Makerslide, however, almost any 20-mm extrusion can be retrofitted with Open Rail, rather than requiring a specialized extrusion.
OpenBuilds Linear Actuator Kits
CNC machines encompass a wide variety of machine designs that spans far beyond this article’s scope. For conventional machines, however, a single motor drives a motion along a single axis. To add direction in a separate dimension, we can sometimes chain together two of the same linear motion units. The folks at OpenBuilds have taken this principle to heart offering single-axis systems as kits. With some creativity and forethought, users can develop a number of automated solutions based on the principle of appending multiple axes. Of course, the folks at OpenBuilds haven’t stumbled upon a never-before-seen solution. Misumi, Rexroth, and other professional automation equipment companies have been selling linear motion systems for years; however, their price range easily leaps beyond the 10K mark.
Not an End-All, but a Solid Start
Despite the design flexibility, neither Makerslide nor OpenBuilds is the all-encompassing solution for every CNC endeavor. Specifically, for rigid machines that can chew through steel, a structure built from bolted aluminum extrusions will be far less rigid than professional machines of a similar scale. Nevertheless, for machines that don’t experience heavy loads, like a 3D printer, a laser cutter, or even some small routers, both Makerslide and OpenBuilds offer an excellent starting point.
With our hands full of stepper motors, extruded profiles, and belts, it’s time to start exploring a software solution to drive it all. While there are plenty of machine-specific solutions, I thought I’d highlight two that are flexible enough to be tuned to a custom machine.
G-code interpreters do just that: they accept input commands in G-code (be it directly from a file or serially through a cable) and convert the commands to step and direction digital outputs with the right timings to produce the control signals for stepper motor drivers. In one sense, they’re the “brains” of the machine, taking the G-code “instruction set” and outputting behaviors that correspond to the input instructions.
LinuxCNC spun out from a US-government-funded initiative to develop a motion control package for standards testing back in the 90s. Over time, it has evolved into a software package designed to turn a PC into a G-code interpreter, and it’s currently packaged as real-time Linux distribution. From your LinuxCNC-configured PC, you can simply connect your stepper motors, limit switches and other digital I/O devices to the PC’s parallel port which, in turn, outputs motor step and direction pulses to drive your physical hardware.
LinuxCNC isn’t just a G-code interpreter, though. The 15+ years of active development have given it a solid foundation which makes it one of the most adaptable software packages for developing custom machines. By enabling custom kinematics, users can drive non-Cartesian machines like SCARA arms. With a core operating system based on Debian Linux, users can link additional PC peripherals, like USB game controllers, to drive their machines. Some devoted software hackers have even fleshed out the current user interface to directly generate G-code for simple cuts, rather than simply run existing G-code.
With over 7 years of active development, Grbl has proven itself to be simple, reliable G-code interpreter firmware for the Arduino Uno. Simply connect your motor controllers and limit switches to the Uno, and Grbl firmware handles the step and direction pulse timing for all 3 axes of your machine. Grbl doesn’t aim to be an all-encompassing interpreter like LinuxCNC, but in exchange it’s a far simpler solution that is relatively easy to set up and works for most, if not all, typical use-cases for a 3-axis machine.
Though Grbl drives the physical hardware, it still requires a serial interface to receive G-code instructions to execute. Fortunately, G-code-streaming packages exist: bCNC and UGS, which have been tested specifically with Grbl.
Having a fancy CNC machine doesn’t say much if we can’t generate instructions to drive it to cut parts! We need a solution for generating G-code, and, once again, the open source software community has jumped in to provide several packages.
It’s not unlikely that many of your designs may boil down to a collection of flat plates with simple features on them. For 2D milling, dxf2gcode simplifies the process of generating G-code based on an original design file, in this case: a dxf. The project also features automatic cutter compensation done in software, a very handy feature that will generate an offset toolpath based on the diameter of the tool and the type of cut (pocket or outside edge).
If you’ve ever tried writing G-code manually, you’ll quickly realize just how unreadable it is without having memorized the majority of the commands. GCMC is a front-end language aimed at producing human-readable machine routines. By abstracting away the unnecessary idiosyncrasies of the language, gcmc facilitates the generation of complex tool motions and patterns simply by tweaking a few parameters.
Doing the Research
Building your own CNC machine may just be your next labor of love, but unless you prefer to reinvent the wheel (and, hey, starting from first principles isn’t always a bad thing), it’s worth taking a look at the tomes of build logs, forum posts, and existing software from the gurus who have built CNCs before us. While I’ve highlighted a few of the more common tools in the land of hardware and software, this list is far from complete. So go forth! Do your research–and, of course, let us know what you find in the comments.
2007 wasn’t that long ago, but [Adam Ziegler’s] build log is, nevertheless, a pleasant romp through a not so distant past. From beginning to the end of the build, we enjoyed reading [Adam]’s progress and struggles as he worked through the build. Sometimes it’s hard to see the very normal daily work that goes into a project when it’s all polished up at the end.
He designed the mechanics himself, but after some less-successful attempts, decided to just buy the electronics. The machine is a well executed MDF gantry mill with conduit rails and 6000-series ball bearings on angle stock. It’s a good example of what you can do with cheap materials and careful planning.
[Adam] ran a few jobs on the machine, some of which he took on before it was even built (which he doesn’t recommend doing). After his adventure with this gateway machine, he’s put it up for sale and is purportedly working on a new model. The standard pattern of CNC addiction is a live alive and well.
Hobbyist 3D printers have had a home in the maker space for years now. Along the way, they’ve left a mark in our imaginations. They’ve tickled our fancy for watching a computer orchestrated symphony written in G-code hum away while cranking out parts. They’ve opened a door to the idea that while computer controlled machines may be decades old, having one or two homebrew setups in our garage might not be as far-fetched as we first thought. Now that we’ve seen the steppers and linear slides that go into these setups, it’s not unreasonable for many of us to start asking: What else? Perhaps a computer numerically controlled (CNC) lathe, mill, or even a laser cutter–anything that would add to the vocabulary of tools and techniques that we’re starting to build at home.
Since 3D printers have become somewhat commonplace, it’s not too difficult to find commodity spare parts spilling to the surface of online vendors’ websites. We can even find kit versions for building our own variants. Now that the notion of CNC-at-home is here to stay, the question for 2016 is: do we build our own CNC tools or buy them?
Despite the countless CNC build logs, extruded aluminum kits, and open source G-code interpreters, I’m still convinced that unless your needs are truly custom, buying the machine that fits your needs will have you putting together projects faster and with far less maintenance than you’d need if you assembled the machine yourself. In what follows, I thought I’d explore a few machines that we can find today in 2016 that make the dream of desktop fabrication a reality.