Getting Resourceful To Build A Home CNC

CNC really is a game changer when it comes to machining. If your motor skills or ability to focus aren’t all there, you don’t need to worry – the computer will handle the manual task of machining for you! These builds are popular for DIYers to undertake, as they enable the production of all manner of interesting and advanced parts at home once they’re up and running. However, parts to build a CNC machine can get spendy; [Brenda] decided to take a recycling-based approach to her build instead (Youtube link).

The build uses motion parts from an old silicon wafer fabrication machines, an IKEA table for the work surface, and a scavenged computer to run the show. Control is via the popular LinuxCNC software, a viable candidate for anyone doing a similar build at home. In a neat twist, the holes for hold-downs on the work table were drilled by the machine itself!

Overall it’s a tidy build, broken up over a series of videos that each go into great detail on the work involved.  Interested in your own bargain CNC build? Check out this $400 setup.

Continue reading “Getting Resourceful To Build A Home CNC”

Mechanical Issues For A Pi CNC

The Raspberry Pi platform has become popular in the maker community for various CNC projects. The single board computers are readily suited to acting as a server for a small CNC setup or 3D printer, though it’s fair to say that for heavy work they probably aren’t quite up to the task of driving the steppers in a serious rig directly. [Danny] set out to try to build a CNC plotter of his own, using a Pi Zero, and learned a few things along the way.

The plotter uses 3D printed parts combined with brushed DC motors which are geared down. Potentiometers are added to allow the Pi to keep track of the location of the pen. This enables the position to be corrected through feedback.

While the plotter does move and accept commands, it does have some issues. There is significant play in the gear train which [Danny] suspects of causing the poor output results. If you’ve got any ideas as to how this could be improved or overcome, throw them down in the comments!

We’ve seen another take on CNC control with the Raspberry Pi, too. Video after the break.

Continue reading “Mechanical Issues For A Pi CNC”

Homebuilt CNC Software, Brewed To Taste

Mainstream productivity software from the big companies is usually pretty tight, these days. Large open source projects are also to a similar standard when it comes to look and feel, as well as functionality. It’s when you dive into more niche applications that you start finding ugly, buggy software, and CNC machining can be one of those niches. MillDroid is a CNC software platform designed by someone who had simply had enough, and decided to strike out on their own.

The build began with the developer sourcing some KFLOP motion control boards from Dynomotion. These boards aren’t cheap, but pack 16MB of RAM, a 100-gate FPGA, and a microcontroller with DSP hardware that allows the boards to control a variety of types of motor in real time. These boards have the capability to read GCODE and take the load off of the computer delivering the instructions. With the developer wanting to build something robust that moved beyond the ’90s style of parallel port control, these boards were the key to the whole show, also bringing the benefit of being USB compatible and readily usable with modern programming languages.

To keep things manageable and to speed development, the program was split into modules and coded using the author’s existing “Skeleton Framework” for windowed applications. These modules include a digital readout, a jogging control panel, as well as a tool for editing G-code inside the application.

For the beginner, it’s likely quite dense, and for the professional machinist, industry standard tools may well surpass what’s being done here. But for the home CNC builder who is sick of mucking around with buggy, unmaintained software from here and there, it’s a project that shows it doesn’t have to be that bad. We look forward to seeing what comes next!

Want to see what else is out there? We’ve done a run down of DIY-appropriate CNC software, too.

Grbl Ported To The ESP32

If you’re building a CNC or laser, there’s an excellent chance you’ll be using Grbl to get moving. It’s also a pretty safe bet you’d end up running it on some variation of the Arduino sitting in a motor controller breakout board. It’s cheap, easy to setup and use, and effectively the “industry” standard for DIY machines so there’s no shortage of information out there. What’s not to love?

Well, quite a few things in fact. As [bdring] explains, Grbl pushes the capability of the Arduino to the very limit; making it something of a dead-end for future development. Plus the Arduino needs to be plugged into the host computer via USB to function, a rather quaint idea to many in 2018. These were just some of the reasons he decided to port Grbl to the ESP32 board.

Price wise the Arduino and ESP32 are around the same, but the ESP does have the advantage of being much more powerful than the 8-bit Italian Stallion. Its got way more flash and RAM as well, and perhaps most importantly, includes Wi-Fi and Bluetooth out of the box. It still needs to be plugged into a board to hold the motor drivers like the Arduino, but beyond that [bdring] opines the ESP32 is about as close to the perfect Grbl platform as you can get.

[bdring] reports that porting the code over to the ESP32 wasn’t terrible, but it wasn’t exactly a walk in the park either. The bulk of the code went by without too much trouble, but when it came to the parts that needed precise timing things got tricky. The ESP32 makes use of a Real Time Operating System (RTOS) that’s not too happy about giving up control of the hardware. Turning off the RTOS was an option, but that would nuke Bluetooth and Wi-Fi so obviously not an ideal solution. Eventually he figured out how to get interrupts more or less playing nicely with the RTOS, but mentions there’s still some more work to be done before he’s ready to release the firmware to the public.

If you’ve been browsing Hackaday for a while you may remember [bdring]. He’s got a real knack for making things move, and has created a number of fantastic little CNC machines recently which have definitely caught our eye.

[Thanks to Jon and Craig for the tip.]

Continue reading “Grbl Ported To The ESP32”

ESP8266 Zelda Heart Responds To Tweets

It might not be enough to make you the Hero of Time, but this piece of Hylian interactive art would still be a worthy addition to your game room. [Jeremy Cook] writes in to tell us about how he put together this 8-bit style heart display, and goes into enough detail on the hardware and software sides of things that you shouldn’t have any problem adapting his design for your own purposes.

The build is pretty simple overall but it does assume you have a CNC to cut the basic shape out of MDF. You could cut the shape by hand if you had to, but if you don’t have a CNC the next best thing might be to 3D print the case. You’d potentially have to print it in two parts right down the center though, depending on how big your bed is. Whichever way you create the case, you’ll then need to cut the shape out of a piece of acrylic to make the face.

In any event, once the pieces are cut out [Jeremy] adds in a Wemos D1 Mini, a power supply, and some red LED strips. He provides a wiring diagram, but it’s fairly straightforward stuff. With a couple of 2N2222 transistors he controls the LED strips right from the digital pins of the ESP8266.

The software side is setup to be controlled via IFTTT by way of Adafruit.io. When IFTTT sees one of the keywords on Twitter, it passes a message to Adafruit.io which ultimately talks to the ESP8266 and gets the heart going. The software supports three states (on, off, and half) and gives a good example of a basic IoT implementation on the ESP8266 if you’re looking for some inspiration.

This hack seems like it would fit in perfectly with the Zelda home automation project we covered last year.

Drive Big Servos With Ease

CNC machines of all types are a staple here at Hackaday, in that we have featured many CNC builds over the years. But the vast majority of those that we see are of relatively modest size and assembled in a home workshop, using small and readily available components such as small stepper motors. These drives are a world away from those used in industrial CNC machines, where you will find high-voltage servos packing a much greater punch. With good reason: driving a small low-voltage motor is easy while doing the same with a high-voltage servo requires electronics that have hitherto been expensive.

STMBL (for STM32 microprocessor and BrushLess motor) is a servo driver for STM32F4 microcontrollers that is specifically designed to use in retrofit projects to industrial CNC machines that have those high-voltage servos. When assembled, it takes the form of two PCBs arranged in a T configuration over a heatsink, with high-power connectors for the motor terminals, and RJ45s for feedback and serial control. In fact each of the boards has its own STM32, one on the high voltage side and the other on the low voltage, to enable only the simplest of isolated serial connections between them.  A significant variety of combinations of motor and feedback system is supported, making it as versatile as possible a module for those whose CNC needs have escaped their home bench setup. We’re sure we’ll see this module pop up in quite a few builds we show you over the coming years.

Thanks [Andy Pugh] for the tip.

Replace Your Calipers With A Microscope And Image Analysis

Getting a good measurement is a matter of using the right tool for the job. A tape measure and a caliper are both useful tools, but they’re hardly interchangeable for every task. Some jobs call for a hands-off, indirect way to measure small distances, which is where this image analysis measuring technique can come in handy.

Although it appears [Saulius Lukse] purpose-built this rig, which consists of a microscopic lens on a digital camera mounted to the Z-axis of a small CNC machine, we suspect that anything capable of accurately and smoothly transitioning a camera vertically could be used. The idea is simple: the height of the camera over the object to be measured is increased in fine increments, with an image acquired in OpenCV at each stop. A Laplace transformation is performed to assess the sharpness of each image, which when plotted against the frame number shows peaks where the image is most in focus. If you know the distance the lens traveled between peaks, you can estimate the height of the object. [Salius] measured a coin using this technique and it was spot on compared to a caliper. We could see this method being useful for getting an accurate vertical profile of a more complex object.

From home-brew lidar to detecting lightning in video, [Saulius] has an interesting skill set at the intersection of optics and electronics. We’re looking forward to what he comes up with next.