Unorthodox Home-made CNC Machine

Here’s a rather unorthodox home-made CNC machine we haven’t seen before!

[ModHappy] recently accepted a challenge to design and build a CNC machine out of cheap and readily available components from a hardware store.

Wandering around the store he noticed the plumbing isle and he started playing around with PVC pipes on the floor, greatly confusing the store employees. He had a frame constructed, but still needed a way to achieve linear movement. His calls were answered in the electrical isle, where he made use of conduit wall-mounts! They only required a minor modification to go from gripping the pipe, to sliding along it. A few fasteners later, some stepper motors from a broken scanner, a CD-ROM drive for the z-axis, some hacked together couplers using set screws, and the mechanical build was complete.

On the controls end, he made use of a cheap Chinese TB6560 CNC driver board off eBay, which he modified slightly to increase reliability. The whole thing runs off LinuxCNC (which is free) on his old laptop — good to note, it can also be run live if you aren’t yet enlightened with a Linux OS.

Stick around after the break to see it in action, drawing out an awesome site’s logo!

If you’re looking for a DIY CNC machine that is a bit more robust, here’s a bolt together version that uses metal tubing instead of PVC pipe.

58 thoughts on “Unorthodox Home-made CNC Machine

      1. I have used both expansion foam and a sand/epoxy mix to stiffen PVC based construction. The expansion foam works great and is easy to use. It adds a bit of mass and a fair amount of additional stiffness.
        Mixing a combination of sand with two part epoxy works great. Use slow setting two part epoxy for a good working time. Mix the epoxy up then add as much sand as you can but still keep it pour-able, Think oatmeal consistency. The sand/epoxy mix adds a huge amount of mass and dramatically stiffens the structure. The downside is it can be messy and the sand will settle a bit. The sand reduces the issue of overheating so you can fill fairly large volumes, just be aware of the settling issue. Sand/Epoxy is amazing at vibration dampening which could also be a big help in a CNC machine.

  1. May need some slight improvements to suit any particular purpose.. doesn’t seem strong enough to actually mill anything besides styrofoam, and may be too slow for 3D printing.. Otherwise very interesting use for PVC pipe.

      1. This was my thought as well. Either concrete, or maybe epoxy/granite. Just something to damp it and provide some rigidity. I’m pretty sure if you tried to run any kind of end mill bigger than about 1/16″, it would be a vibrating nightmare.

      2. Nice thread at cnczone suggested using epoxy/granite at an aggregate ratio of greater than 50%. That uses the epoxy as a binder rather than structure.

    1. You could also use metal pipes instead of PVC, I guess. Personally, if I were to build this, I wouldn’t consider it a be-all-end-all machine; it’s rather more of a stepping stone machine I can use possibly to mill parts for a better one.

    2. Too slow? I find that the more I slow my Printrbot down the better it prints (due to the fact that it’s not exactly rigid. . . sort of like PVC.)

  2. Whilst it’s definitely good seeing these sorts of projects being built, I’d love to see an equivalent article on how to get them WORKING and calibrate them. I don’t know much about CNC software but I imagine that must take a very long time to work out the software needed and tailor it to your specific build, This is the main thing that puts me off seriously thinking about building one of these.

    Does anyone have any good links/guides about this that I and others can read up on?

      1. Ollie, just learning the speeds and feeds of different cutting bits on different materials is as much a challenge as learning to configure linuxCNC, so get off your ass and learn it already! If you get stuck, contact me, I’ll help you out.

    1. I’ve just got my first CNC machine running (a clone of the Mantis 9.1, running GRBL to control it: https://plus.google.com/photos/103554045771342012155/albums/5917040171384397329) and I too was worried about the lack of articles about calibration and setup. I was surprised how little there was to it in the end. I’ll blog about it shortly and add a link here, but it amounted to the following:
      1. Power up driver board and connect it over USB (using Universal GCode Sender)
      2. Power off (do this every time you change any wiring)
      3. Plug in steppers.
      4. Tell GRBL how many steps per mm you have (using 1mm/turn threaded rod makes that easy, it’s just the number of steps per turn).
      5. Tell GRBL how fast to move by default (100mm/min is a safe starter)
      6. Manually move the machine to the middle of its travel in all axes
      7. Power up. Hover one fringer over the reset switch in case things go wrong
      8. Type G01 X1.0 and your X axis should move 1mm
      9. Swap any pair of stepper wires over if an axis moves in the wrong direction

      Hmmm, now I write that, there’s more to it than I remembered. I’ll write it up properly. It’s not too bad though and so rewarding when you get the thing moving properly

      My only other bit of advice is build limit switches into your machine, or have something that will slip before the machine damages itself. You can guess how I know that :)

    2. Actually setting up the control software for the machine (LinuxCNC or Mach3) isn’t too hard if you have a board that is known to the software, tuning isn’t that bad either if you aren’t dealing with an axis that uses dual motors (unlinked/no stall feedback) to drive it, that is the only real stress I have had with building 5 machines in 5 years.

  3. My god, that’s slow. While it may be a great way to win a bet, it looks like any real CNC job is going to take entirely too long. Also, with a feed rate that slow, you can guarantee that the cutter will burn and melt whatever you are trying to cut. It’ll also experience very short tool life due to the heating of the cutter. I suspect that the marler will also dry out before completing a reasonable sized drawing so it likely isn’t very good for that either.

  4. Why not using DC motors and color-coded wheels ? With threaded rod system, it could be really faster and still have decent precision no ? I’m just about to try to do the same build with dc motors.

  5. “if you aren’t yet enlightened with a Linux OS.”

    Enlightened? Like Buddhism where you have to put yourself through hell to reach enlightenment? Yeah, that sums up linux pretty well. I am in the middle of doing a LinuxCNC install and it is fighting me every step of the way.

    Where Apple has “It just works”, Linux has “It just works if you tweak this in the command line here, recompile this, and reconfigure that.”

    I still maintain linux is worth every cent you pay for it.

    1. I had linux CNC installed from a live disk and controlling my router in under 2 hours including installing linux. not bad for free when you consider the alternative (Mach3) is something like $180.

      1. I cant run this machine from Mach3 and I cant use a parallel port. I need a massive amount of IO just to control the laser. Something like about 32bits of parallel IO at 15v logic level. That means I need to use a Mesa 5i25 with a 7i76 and 7i69 to get enough IO for this machine. First machine with low latency would not work right with the PCI card, second machine had high latency. I have it running so-so on another mobo. Waiting for another to show up that I am hoping will work better.

        Then there was trying to get the touchscreen to work. Had to fight drivers specificially for this rev of the OS for a week to get it working.

        Next there was trying to get the firewire camera I need for focusing to work without crashing the machine.

    2. Well yeah, OSX “just works.” But how much hardware will OSX run on? And what does linux run on? Oh right, literally everything.

      1. Linux runs on everything and with everything only because it treats everything as generic hardware. I.e. it only uses the bare minimum set of features unless you hack and tweak it to.

        1. No so much with linuxcnc. It wont run on just anything. I have gone through about 5 different motherboards to find one with low enough latency to use for this project.

      1. Yes, Linux has a learning curve. Unlike OSX, which doesn’t need a learning curve because it’s not really a very capable OS.

        1. Let’s not start an OS war ok? :)
          Having to fixi stuff, recompilie and tweak config files has little to do with a program “learning curve”.
          OS X… doesn’t even have a decent mouse acceleration curve (pun not intentional).

    3. I use mach3. It’s not perfect, but it’s pretty good, and tremendously flexible. I think the largest barrier with any software is really understanding what’s going on so you can tune it to your particular machine. I also like that I can use it without building a dedicated machine and having it take up extra space, that I don’t have.

      1. I use Mach3 on my mill and lathe. It works fine on the mill and pretty badly on the lathe. For this project mach3 just wont work.

    4. Aww, can’t get the big bad Linux to work right for you? Poor little baby! It works here for me:

      I guess the task might prove difficult for some.

  6. I had an idea to PVC, but time is my enemy. The only thing I’d pass on to this guy is using PVC as your glide. The wall mount connectors are a good idea, and would still be used. If you use a 3/4 PVC, it fits perfectly around 1/2 pvc and slides very nicely. Attach the wall mounts to the 3/4 pvc without modifying them and there you have it.

    gonna try this.

  7. Anyone who is interested in building their own CNC should check out CNCZONE.COM. There are hundreds of DIY cnc builds. Many using wood,angle iron, metal conduit pipe, skate bearings and treaded rod. Stuff that can easily be purchased at the home center, hobby shop. There are also DIY CNC examples using expensive linear rails, ballscrews, and extrusions. Homemade CNC’s that can be as good or better than some commercial versions selling for several thousand. Lots of information and the guys there are usually very helpful.

    Before I built my very first CNC, I spent many hours reading that site.

    Jim

    1. It doesn’t have to be slow. They use a fine pitch lead screws, 20 threads per inch, and that slows things down a lot. Their stepper motors are somewhat undersized as well. They don’t say what power supply they’re using but I’m going to guess some lousy ATX conversion delivering 12 volts. That low voltage would have severe adverse effects on performance. TB6560s are a bit tricky to get to perform very well in the best of circumstances. I’ve a bit of experience working with the TB6560 driver ICs as I’ve built my own motor drivers with them.

      I’m getting 72 inches per minute travel out of mine addressing issues as best as I can. Which is still somewhat slow, but not terrible. I’d hazard a guess their machine probably doesn’t break 6 inches a minute travel speed. That’s slow! But like I said it doesn’t have to be.

      OK I just watched the video, maybe they can’t even do 6 IPM.

      Here watch this for something a bit more lively

  8. To all those who say my machine is slow. . .
    your right in that particular video it was slow i was really excited to have something together and it was set at 2.5 inches per min. but it is fully capable of 60 inches per min and it it cuts thin plywood with an 1/8 bit. I will send HaD an updated video soon. . keep a lookout :)

    1. 60 IPM? So that means you’re running your 1/4 X 20 thread lead screws at 1,200 RPM? That *is* pretty impressive. I’ll be looking forward to seeing that video. I can run stepper motors up to 2,500 RPM off TB6560 drives but they have no useful torque at that speed. Useful torque for me runs out at around 800 RPM.

  9. Hmm, I need to go dig through the local big box store. I had not seen the corner pieces like those. Never would have thought about using pvc for a CNC. I like it.

  10. My first thought was: “What’s with the cordless phone? Is he using some kind of crazy DECT-based wireless control?”

    I mean, really … surely its not a normal phone sitting back there, impossible to reach. It must be hooked up somehow! :D

  11. I know this is old, BUT I saw this and I am using this design as a 3D Printer. I spent about $60 on all the PVC I needed I have the controllers from and old CNC machine that was not built too well, and instead of the plastic sliders I am using drawer slides I had laying around. So far the printing dimensions will be X & Y = 16″ and Z = 11″ (subject to change). I will be using a J-Hot End and Bowden extrude to keep the weight down.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s