GRBL Compatible Arduino CNC Shield

By the time you get to the point in a home CNC build where you’re adding control electronics you may be ready for the simplest means to an end possible. In that case, grab your Arduino and heat up that etching solution to make your own GRBL compatible shield.

This familiar footprint manages to contain everything you need for a three-axis machine. The purple boards slotted into the pairs of SIL headers are Pololu Stepper motor drivers. Going this route makes replacing a burnt out chip as easy as plugging in a new module. The terminal block in the center feeds the higher voltage rail necessary for driving the motors. The DIL header on the right breaks out all of the connections to the limiting switches (two for each axis), spindle and coolant control, as well as three buttons for pause, resume, and abort. There’s even a header for SPI making it easier to add  custom hardware if necessary.

This is a dual-layer board which may not be ideal for your own fabrication process. [Bert Kruger] posted his Gerber files for download if you want to put in a small run with OSH Park or a similar service.

 

Simple CNC Gear Production With Arduino

We’ve seen plenty of people 3D printing custom gears over the years, but [Mr Innovative] decided against an additive process for his bespoke component. He ended up using a simple CNC machine that makes use of several components that were either salvaged from a 3D printer or produced on one. Using a small saw blade, the machine cuts gear teeth into some plastic material and — presumably — could cut gears into anything the saw blade was able to slice into, especially if you added a little lubrication, cooling, and dust removal.

If you’ve built a 3D printer, you’ll see a lot of familiar parts. Stepper motors, aluminum extrusion, straight rods, bearing blocks, and rod holders are all used in the build. There’s also a lead screw and the associated components you usually see in a printer’s Z-axis. Naturally, an Arduino drives the whole affair.

The saw blade was custom-made from a washer, grinding an edge and using a 3D printed template to cut teeth in it. We might have been more inclined to use a cut-off wheel from a rotary tool, but this certainly did the trick. An LCD accepts the gear diameter and number of teeth. The stepper rotates the correct number of degrees and another stepper lowers the cutting head which is spinning with a common DC motor.

As impressive as this machine is, the fact remains that a 3D printer can produce more complex designs. For example, a herringbone pattern can help with alignment issues. It has been done many times. You can even use a resin printer, although you might prefer to stick with FDM.

Continue reading “Simple CNC Gear Production With Arduino”

photo of the CNC controller, with the PLCC socket for the CPU, surrounded by driver ICs

Old CNC Brain Swapped With An Arduino

[Sebastian] and [Stefan Shütz] had a ISEL EP1090 CNC machine at home, sitting unused, and they decided to bring it to life. With pretty good mechanical specs, this CNC looked promising – alas, it was severely constrained by its controller. The built-in CPU’s software was severely outdated, had subpar algorithms for motor driving programmed in, and communication with the CNC was limited because the proprietary ISEL communications protocol that isn’t spoken by other devices.The two brothers removed the CPU from its PLCC socket, and went on to wiring a grbl-fueled Arduino into the controller box.

The interposer PCB, with an extra 74HC245 buffer on itThey reverse-engineered the motor driver connections – those go through a 74HC245 buffer between the original CPU and the drivers. Initially, they put an Arduino inside the control box of the CNC and it fit nicely, but it turned out the Arduino’s CPU would restart every time the spindle spun up – apparently, EMC would rear its head. So, they placed the Arduino out of the box, and used two CAT7 cables to wire up the motor and endstop signals to it.

For tapping into these signals, they took the 74HC245 out of its socket, and made an interposer from two small protoboards and some pin headers – letting them connect to the STEP and DIR lines without soldering wires into the original PCB. There’s extensive documentation, GRBL settings, and more pictures in their GitHub repo, too – in case you have a similar CNC and would like to learn about upgrading its controller board!

After this remake, the CNC starts up without hassles. Now, the brothers shall CNC on! Often, making an old CNC machine work is indeed that easy, and old controller retrofits have been a staple of ours. You can indeed use an Arduino, one of the various pre-made controller boards like Gerbil or TinyG, or even a Raspberry Pi – whatever helps you bridge the divide between you and a piece of desktop machinery you ought to start tinkering with.

Hackaday Podcast 117: Chiptunes In An RCA Plug, An Arduino Floppy Drive, $50 CNC, And Wireless Switches

Hackaday editors Mike Szczys and Elliot Williams discuss the latest hacks from around the Internet. 3D-Printed linear rails don’t sound like a recipe for a functional CNC machine but there was one this week that really surprised us. We were delighted by the procedurally generated music from a $0.03 microcontroller inside of an RCA plug (the clever flexible PCB may be the coolest part of that one). There’s an interesting trick to reverse engineering Bluetooth comms of Android apps by running in a VM and echoing to WireShark. And we look at what the buzz is all about with genetically engineered mosquito experiments taking place down in the Florida Keys.

New this week is a game of “What’s that sound?”. Use the form link on the show notes below to send in your answer, one winner will receive a podcast T-shirt.

Take a look at the links below if you want to follow along, and as always, tell us what you think about this episode in the comments!

Direct download (~55 MB)

Places to follow Hackaday podcasts:

Continue reading “Hackaday Podcast 117: Chiptunes In An RCA Plug, An Arduino Floppy Drive, $50 CNC, And Wireless Switches”

CNC Hardware: Stream G-code To An Arduino

[Reza Naima] has been using an Arduino as the center of his CNC setup for quite some time now. It handles three stepper motors, limiting switches, e-stop, and spindle control. The sketch he’s using allows him to stream g-code to the popular prototyping platform, freeing him from needing a dedicated PC. It’s worked so well that he’s decided to clean up the code and develop a shield to help others get up and running. If you want to see his progress or lend a hand, check out the google group he started for the schematics, code, and forum discussions. There is already a CNC project for Arduino called Grbl but [Reza’s] approach uses the Arduino libraries in an effort to make the sketch more customizable for the average user.

Electromagnets Make Vertical CNC Cutter A Little Stickier

Workholding is generally not a problem on a big CNC plasma cutter.; gravity does a pretty good job of keeping heavy sheet steel in place on the bed. But what if your CNC table isn’t a table? The answer: magnets — lots of magnets.

The backstory on this is a bit involved, but the condensed version is that [Lucas] needed a CNC plasma cutter big enough to cut full-sized sheets of steel, but lacked the floor space in his shop for such a beast. His solution was to build a custom CNC machine that stands more or less vertically, allowing him to cut full sheets in a mere fraction of the floor space. It’s a fantastic idea, one that he put a lot of effort into, but it’s not without its problems. Chief among them is the tendency for the sheet metal to buckle and bulge during cutting since gravity isn’t working for him, along with the pesky problem of offcuts slipping away.

To help hold things in place, [Lucas] decided to magnetize the bed of his cutter. That required winding a bunch of magnets, which is covered in the video below. Mass production of magnets turns out not to be as easy as you’d think. Also unexpected was the need to turn off magnets when the cutting torch is nearby, lest the magnetic field bork the cutting plasma. [Lucas] grabbed some code from the LinuxCNC forum that streams the gantry coordinates over serial and used an Arduino to parse those messages. When the torch is getting close to one of the magnets, a relay board cuts power to just that magnet. You can see it in action in the video below; at around the 18:15 mark, you can see the sheet bulging up a bit when the torch comes by, and sucking back down when it moves on.

The amount of work [Lucas] put into this project is impressive, and the results are fantastic. This isn’t the first time he’s relied on the power of magnets to deal with sheet steel, and it probably won’t be the last.

Continue reading “Electromagnets Make Vertical CNC Cutter A Little Stickier”

Remote-Control Kinetic Sand Table Uses A Single Arduino

There’s nothing fun about a Sisyphean task unless you’re watching one being carried out by someone or something else. In that case, it can be mesmerizing like this Arduino-driven kinetic sand table.

What you can’t see. Image via [thang010146] on YouTube
Like many of these builds, it all started with an ordinary coffee table from the hacker’s favorite furnitüre store. [NewsonsElectronics] opened it up and added a 3mm-thick board to hold the sand and another to hold the rails and magnets.

After designing some pieces to connect the rails and pulleys together, [NewsonsElectronics] let the laser cutter loose on some more 3mm stock. A pair of stepper motors connected to a CNC shield do all of the work, driving around a stack of magnets that causes the ball bearing to trudge beautifully through the sand.

Be sure to check out the videos after the break. The first is a nice demonstration, and the second is the actual build video. In the third video, [NewsonsElectronics] explains how they could write the world’s smallest GRBL code to swing this with a single Arduino. Hint: it involves removing unnecessary data from the g-code generated by Sandify.

Don’t have a laser cutter? Here’s a sand table built from 3D printer parts.

Continue reading “Remote-Control Kinetic Sand Table Uses A Single Arduino”