Hackaday Prize Entry: A CNC Plasma Table

CNC routers and 3D printers are cool, but the last time I checked, cars and heavy machinery aren’t made out of wood and plastic. If you want a machine that will build other machines, you want a CNC plasma cutter. That’s [willbaden]’s entry for the Hackaday prize. It’s big, massive, and it’s already cutting.

A plasma CNC machine isn’t that much different from a simple CNC router. [will]’s table controller is just a GRBL shield attached to an Arduino, the bearings were stolen from many copy machines, and your motors and drivers are fairly standard, barring the fact they’re excessively huge for a simple 3D printer.

The real trick up [will]’s sleeve is the controller interface. For this, he’s mounted a Raspberry Pi display, a big, shiny, red button, and all the associated electronics behind a beautifully rusty welded enclosure. This part of the build just sends gcode over to the GRBL shield, and is doing so reliably. Right now [will] is looking for some way to save, arrange, and queue jobs on the Pi, a problem that is almost – but not quite – the same job Octoprint does. A software for big, mean CNCs that spew exotic states of matter is an interesting project, and we can’t wait to see where [will] goes with this one.

Hackaday Prize Entry: A Simple CNC

3D printers are all the rage, but there’s still space for more traditional CNC machines. For their Hackaday Prize entry, [Andy], [Tim], and [Chris] are building the Sienci Mill – a simple desktop CNC mill that’s able to cut drill and carve everything from wood to circuit boards.

As far as desktop CNC machines go, it doesn’t get much more simple than this. They’re using steel plates for the rails, NEMA 17s for the motors, and a simple stepper motor driver Arduino shield for the controller. The more complex parts are 3D printed, and the BOM doesn’t add up to much.

Right now, the guys are testing their mill on wood, plastic, and aluminum. With 3D printed parts, they’re also able to test a bunch of different spindles from the ubiquitous router to the smaller Dremel. It’s a great project and should be fantastically cheap when the guys finalize the plans, making this a great entry for the Hackaday Prize.

The HackadayPrize2016 is Sponsored by:

Automating A Microscope For CNC Micrographs

[Maurice] is a photographer specializing in micrographs. These very large images of very small things are beautiful, but late last year he’s been limited by his equipment. He needed a new microscope, one designed for photography, that had a scanning stage, and ideally one that was cheap. He ended up choosing a microscope from the 80s. Did it meet all his qualifications? No, but it was good enough, and like all good tools, capable of being modified to make a better tool.

This was a Nikon microscope, and [Maurice] shoots a Canon. This, of course, meant the camera mount was incompatible with a Canon 5D MK III, but with a little bit of milling and drilling, this problem could be overcome.

That left [Maurice] with a rather large project on his hands. He had a microscope that met all his qualifications save for one: he wanted a scanning stage, or a bunch of motors and a camera controller that could scan over a specimen and shoot gigapixel images. This was easily accomplished with a few 3D printed parts, stepper motors, and a Makeblock Orion, an Arduino-based board designed for robotics that also has two stepper motor drivers.

With a microscope that could automatically scan over a specimen and snap a picture, the only thing left to build was a piece of software that automated the entire process. This software was built with Processing. While this sketch is very minimal, it does allow [Maurice] to set the step size and how many pictures to take in the X and Y axis. The result is easy automated micrographs. You can see a video of the process below.

Continue reading “Automating A Microscope For CNC Micrographs”

FR4 Machine Shield Is A CNC Milling Machine From FR4 PCB

The people behind the PocketNC heard you like CNC PCB mills, so they milled you a PCB mill out of PCB. They announced their surprising new open source hardware product, a pocket sized 3-axis CNC machine entirely made out of FR4 PCB material, aptly named “FR4 Machine Shield”, at this year’s Bay Area Maker Faire.

UPDATE: The FR4 Machine Shield is now on Kickstarter

fr4_thumbWe know the concept from quadcopters, little robots, and generally things that are small enough to make use of their PCBs as a structural component. But an entire CNC machine, soldered together from a few dozen PCBs certainly takes it to the next level.

There is no doubt that 2mm thick fiber reinforced epoxy can be surprisingly rigid, although the Achilles heel of this method might be the solder joints. However, it looks like all load bearing, mechanical connections of the machine are supported by tightly interlocking “dovetail” finger-joints, which may help protecting all the solder connections from the strain hardening effects of continuous stress and spindle vibrations.

As you might expect, most of the wiring is embedded into the FR4 frame construction, and to squeeze the maximum value out of the PCB material, the motor driver boards interface via card edge connectors with the (currently Arduino based) controller board. In addition to the milling head, which features a brushless DC motor and a tool coupler, the team wants to develop heads for circuit printing, microscopy, pneumatic pick and place, hot air reflow, and 3D printing.

With all those cost-driven design choices, from the one-step manufacturing process of the frame and wiring to the dismissal of screws and nuts from the frame assembly, the “FR4 Machine Shield” could indeed become one of the cheapest CNC machine kits on the market. The team targets an introduction price of $400 during a Kickstarter campaign in June 2016. Can they deliver? [Gerrit] checked Pocket NC out at the Faire and ended up raving about how they run their business.

Enjoy their teaser video below!

Continue reading “FR4 Machine Shield Is A CNC Milling Machine From FR4 PCB”

Cardboard And Paperclip CNC Plotter Destined For Self-Replication

Last November, after [HomoFaciens]’ garbage-can CNC build, we laid down the gauntlet – build a working CNC from cardboard and paperclips. And now, not only does OP deliver with a working CNC plotter, he also plans to develop it into a self-replicating machine.

To be honest, we made the challenge with tongue firmly planted in cheek. After all, how could corrugated cardboard ever make a sufficiently stiff structure for the frame of a CNC machine? [HomoFaciens] worked around this by using the much less compliant chipboard – probably closest to what we’d call matboard here in the States. His templates for the machine are extremely well thought-out; the main frame is a torsion box design, and the ways and slides are intricate affairs. Non-cardboard parts include threaded rod for the lead screws, servos modified for continuous rotation, an Arduino, and the aforementioned paperclips, which find use in the user interface, limit switches, and in the extremely clever encoders for each axis. The video below shows highlights of the build and the results.

True, the machine can only move a pen about, and the precision is nothing to brag about. But it works, and it’s perfectly capable of teaching all the basics of CNC builds to a beginner, which is a key design goal. And it’s well-positioned to move to the next level and become a machine that can replicate itself. We’ll be watching this one very closely.

Continue reading “Cardboard And Paperclip CNC Plotter Destined For Self-Replication”

Precision CNC Drawing With EtchABot

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!

gallery

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.

Continue reading “Precision CNC Drawing With EtchABot”

Sourcing Your CNC Tools In 2016: Build Them

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.

Hardware

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

ms_long_smUnless 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

Open-Rail-Description
Image Credit: Ooznest

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.

Software

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

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

axisubuntu
Image Credit: LinuxCNC Wiki

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.

Grbl

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.

G-code Generators

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.

dxf2gcode

dxf2gcodeIt’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).

gcmc

gcmc
Image Credit: gcmc homepage

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.