PVC CNC Machine Build Results In A Great Learning Experience

Hobby level CNC machines are fun to use and are a great tool to make your projects with. So how does a CNC newb get started? Our opinion is that it’s best to jump right in and get doing. [WTH] wanted to learn more about CNC machines and decided to build his own using parts that were kicking around his house.

As you can see, the frame is made from PVC pipe. In addition, the linear rails are also PVC and the linear bearings….. larger diameter PVC. Scavenged stepper motors and threaded rod are responsible for moving the X and Y axes. Electronics-wise, an Arduino Uno running GRBL and a Protoneer CNC Shield outfitted with StepSticks drive the motors. Here’s a test drawing completed by the machine:


Admittedly, this CNC machine won’t be milling out steel parts any time soon but that is not the point. [WTF] has learned the mechanics, electronics and software associated with CNC machines and that was the point of the project. We are looking forward to seeing how his next machine comes out.

This isn’t the first PVC CNC machine we’ve seen on Hackaday, check out this unorthodox one.

USB to DB25 Adapter Uses GRBL For Parallel Port CNC Communication

With the continuing manufacture of new computers, there is a clear and obvious trend of the parallel port becoming less and less common. For our younger readers; the parallel port is an interface standard used for bi-directional communication between a computer and a variety of peripherals. The parallel port’s demise is partially due to the invention of the USB standard.

If tinkering with CNC Machines is one of your hobbies then you are familiar with the parallel port interface being fairly popular for CNC control board connections. So what do you do if your new fancy computer doesn’t have a parallel port but you still want to run your CNC Machine? Well, you are certainly not stuck as [Bray] has come up with a USB to Parallel Port Adapter solution specifically for CNC use.

A cheap off-the-shelf USB to DB25 adapter may look like a good idea at first glance but they won’t work for a CNC application. [Bray’s] adapter is Arduino-based and runs GRBL. The GRBL code is responsible for taking the g-code commands sent from the computer, storing them in a buffer until they are ready to be converted to step and direction signals and sent to the CNC controller by way of the parallel port DB25 connector. This is a great solution for people needing to control a CNC Machine but do not have a parallel port available.

[Bray] is using a Raspberry Pi running GRBLweb to control his adapter board. However, there are other programs you can use to communicate with GRBL such as Universal G-Code Sender and GRBL Controller.

The board has been created in Eagle PCB Software and milled out using [Bray’s] CNC Router. The design is single-sided which is great for home-brew PCBs. He’s even made a daughter board for Start, Hold and Reset input buttons. As all great DIYers, [Bray] has made his board and schematic files available for others to download.

The Pi CNC Controller


Back in the olden days, the latest and greatest CNC machines had minicomputers bolted onto their frames, replete with paper tape readers and seven segment displays. For the home CNC machinist of today, these hulking electronic brains are replaced with something a little more modern – desktop computers with parallel ports. Having a box filled with computers and motor drivers is just too cool though, and this tiny Raspberry Pi CNC controller fits the bill quite nicely.

The controller uses a Raspberry Pi as the brains of the device, but there aren’t too many options out there for stepper motor control in Pi land. There are, however, dozens of CNC shields or the Arduino. The Pi AlaMode board is able to provide voltage level conversion between the CNC shield and the pi, and also has the nice bonus of a battery-backed real time clock.

With some proper connectors, lighted buttons, and a beautiful cable sleeving job, this Pi CNC controller would be well suited for any of the desktop CNC  or engraving builds we see from time to time.


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.


Handwriting suck? Build a machine to do it for you


Children of the information age are doomed to have the worst handwriting just for lack of use if nothing more. But some students at Olin College harnessed technology to find a solution to that problem. Meet Herald, a CNC machine that can produce beautiful calligraphy.

The machine uses a gantry to move the writing tip along the X and Y axes. The flexible-nib calligraphy pen is mounted on a sprocket which rotates the tip onto the writing surface, taking care of the third axis. The rig was beautifully rendered from their CAD drawings, then tweaked to ensure the smoothest motion possible before the quintet of Sophomores began the physical build.

The drive hardware is very simple yet it produces great results. It uses an Arduino along with three stepper motor drivers. There are also limiting switches to protect the hardware from runaway code. The software interface designed by the team lets the user cut and paste their text, and select a font, font size, alignment, etc. It then converts the text to G-code and pushes it to the Arduino where the GRBL package takes care of business.

Don’t miss the device in action, writing out a [Langston Hughes] work in the clip after the break.

Continue reading “Handwriting suck? Build a machine to do it for you”

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.