Tuesday, August 2, 2016

DIY CNC Router from a Radial Arm Saw

A friend gave me his radial arm saw when he upgraded to a new miter saw and didn't have space for both.  I had seen a cnc router made from a radial arm saw on Youtube and decided to give it a shot.  A new cnc router was certainly not in the budget, but with lots of reuse, patience, and a few small purchases, mine works!  I can cut out and engrave things with computer control.

The computer runs LinuxCNC, which you can download free as a DVD image and includes the operating system and the CNC software.

To create the programs, I use more free software (you will notice a trend here): I use PyCAM to generate the g-code.  It's very useful, but you have to hunt for help on how to run it.  I like this tutorial.
I make 2D paths for engraving using Inkscape.  PyCAM also makes toolpaths from 3D .stl files, but I haven't tried it yet.  I'll say more about that later, if I get the chance.

For now, I'll summarize what I did.  I hope you find it helpful.  If you find a way to do something better, please share in the comments.

  The sliding rail of the saw makes what I call the Y-axis.  All three axes are driven with lead screws turned by stepper motors.

The X-axis is made of a drawer my wife gave me when we moved.  The old house had 2, but the new kitchen only had room for 1:

 I briefly considered using the saw's vertical jackscrew for the Z-axis, but decided it was too heavy to control with little stepper motors, so I bought another pair of drawer glides.

To keep the costs down, my lead screws are simple 1/4-20 threaded rod, which happens to fit snugly in 6mm bearings, which I found plenty of in an old printer I reused:

I also made some bearing blocks of hardboard and bought a few ball bearings, too:

I decided to buy the threaded rod in 36-inch lengths from the store, where I could roll each on the floor and pick the straightest ones.  For nuts, I used the coupling nuts that are made for joining threaded rods together.  To mount the nuts, I wrapped a p-clamp around each one, drilled in from the side and held it with a screw to prevent rotation:
For motors, I started out with stepper motors I reused from an old printer:
Later, I decided to upgrade the torque a little, while maintaining the same NEMA 17 frame size:

On the X- and Z-axes, I decided to direct-drive the lead screws, so I tapped one end of flexible couplings for the threaded rods and fastened the other ends to the motors:

To drive the motors, I really like these stepper drivers:
I used microswitches for homing and couldn't resist a big red "E-STOP" button:

I am using an old PC for the controls. The motherboard has video and a parallel port already, but I bought a separate graphics card to reduce latency and a separate parallel port card thinking that, if I fry it, I can just replace the card:

If you're not into soldering, you could make a lot of connections with a breadboard like this:

Since I was already playing with electronics for other projects, I chose to solder wires to perfboard instead:

I already had a trim router very much like this one:

 So far this is the tooling I have bought to use with it:

I'll be happy to share more details, but this post is already getting long. Please share what you think and ask any questions you have in the comments.


  1. This comment has been removed by the author.

  2. It’s super site, I was looking for something like this aluminum cnc service

  3. We are really grateful for your blog post. You will find a lot of approaches after visiting your post. I was exactly searching for. Thanks for such post and please keep it up. Great work. CNC 3d models