CNC Mill Built From Junk And Hardware Store Parts

[Csshop] is setting a new bar for building an inexpensive CNC mill. Not only did he complete his build at a very low cost, but it seems to work quite well too. Check out the video after the break to see the device cut out thin wood parts for a toy plane.

The majority of the build uses scrap wood for the body of the mill. The business end of the device is a flexible rotary attachment for a Dremel tool which takes a lot of the weight and bulk out of the gantry assembly. Old flat bed scanners were gutted for the precision ground rod and bearings, as well as the three stepper motors used to drive the axes. An Arduino board controls the device, commanding the stepper motors via EasyDriver boards.

Once the hardware is assembled there’s still a fair amount of work to do. [Csshop] builds his designs in Google Sketchup, but some conversion is necessary to arrive at code that the Arduino will understand. He’s got a second project write-up that covers the software side of things.


19 thoughts on “CNC Mill Built From Junk And Hardware Store Parts

  1. Weird… I disassembled an old printer with something like this in mind last night!

    I plan to make a small mill (roughly 148 by 210 mm working envelope) for making circuit boards. It would be sweet if it were rigid enough to slowly cut small aluminium parts too – bootstrap a larger mill!

  2. @addidis

    Most scanners only have one hardened stainless steel rail, usually 7 or 8mm. You will likely need at least two rails for any one axis, otherwise your gantry will wobble.

  3. On my quest to get a CNC router I ended up buying a kit and putting it together, that was around $500.

    Add another $100 for a few extra parts and a Dremel.

    Add around $160 for Iron Pipe, Pipe fittings, wood and a cheap pipe threader to make a table to put it all on.

    I spent at least $60 on bits.

    Don’t forget software, I spent at least $500, Mach3, Vectric Cut2D, DeltaCad, CorelDraw and so on.

    Thats a little over 1,300 for a small CNC router, and then you find out you need upgrades.

    Its never ending LOL

    If you want some easy plans, but they cost, have a look over at, and some free ones over at, and two simple free plans at the links below

  4. It’s a nice effort but there are so many weak points I feel, stuff where you think “if he just made this part slightly more sturdy it won’t break down so quick”.
    Like that gastube connection, why not at least use a hoseclamp on that? (I think I’d make the bar ending more angled with a file too so it won’t start to slip after a short time) And the attachment of the nut, there must be an equally simple/cheap way to make that slightly more sturdy.
    And the use of PVC when he could have use 2 more metal pipes to not have that weak point.
    But perhaps I’m overanxious or just have bad luck with such things or am a victim of over-thinking things again.

  5. @will1384 i feel you. It feels like an addiction sometimes…i find myself saying if i only had X hardware or X software, then things would be different, i would be able to dig myself back out…haha! I’m about to pop on Vcarve pro this week for my 7″x8″x3″ mill. Hoping to be able to ‘bootstrap’ a bigger one to make some larger objects. I really am enjoying the journey. Learning a lot of valuable information, most of it from Been about 6 months and $1500 since i decided to get into CNC and i have yet to actually make anything useful, but it’s so close i can taste it!

  6. @s

    Two of the best upgrades I have done are:

    Going from a Dremel 4000, to a Bosch Colt Variable-Speed Router, that also required a Bosch
    Colt CNC Mount from, I paid $110 for the Bosch Colt router, and $62.00 for the
    mount, I did also add some extra support to the gantry to help hold the Bosch Colt router.

    Adding a vacuum and dust shoe for dust collection, I made my own dust shoe and cobbled
    together my own version of the dust cyclone, before the vacuum and dust shoe, every time
    I used the CNC router, I had to clean the almost the entire work shop, there would be fine
    dust on everything, but with the vacuum and dust shoe, there is nothing left to clean.

  7. In response to: @s

    You are so right about the dust problem & it’s usually ignored because it is not seen as a problem initially – compared to the difficult Stepper Motor control & general robust build requirements.
    What you did was smart.
    1) You can’t do much with a sub standard cutter head. I don’t know the Bosch Colt but I will take a long hard look now.
    2) You have to build in robustness & timber is a poor choice generally unless you have cabinet or boat building experience. Better to select steel & have parts plated, you can have welding done. You do need to know whats available but a bit of advice is always readily given by the local engineering shop. Somehow you need to build in wipers to keep the tracks clean or accuracy will go to hell.
    3) which is why dust control is a key issue.
    4) My limitation is getting “decent torque” stepper motors under control. Almost a lifetimes work right there.
    A question for you: how quickly can you change tools on your Bosch head?
    Keep at it

  8. I’m building a CNC from MDF. And I’m amazed how cheap it is. Without the dremel I spent less then $200 on the thing.
    My shopping list:
    * MDF construction ($30, machine cut)
    * Square alu. profile (rotated 45 deg. see pick and place machine posted some time ago)
    * Bearings (+30 cheap ones)
    * 3 Steppers (Sparkfun)
    * 3 Easydrivers (Sparkfun)
    * 1 Arduino
    * Nuts and bolds
    * Threaded rod (cheap one)
    * Some small peaces of plastic tube (to connect the steppers to the threaded rods)

    Working area: 30 x 30 cm.

    The machine is moving the working area in the x-direction. Therefore the y-axis construction is very stable.

  9. If have an old computer that you don’t mind risking a little (due to lack of optical isolation when connecting it, directly, to the Easydrivers) you can use the open source EMC2 ( ) software to control the stepper drivers directly through pins on the parallel port.

    This would eliminate the need to custom code for the Arduino and will cut some of the cost of the project by eliminating the need to buy an Arduino.

  10. @Peter O

    Changing the tool out takes less than a minute,
    I have to remove the dust shoe, basically loosen a hand knob and pull the dust shoe down, then hold the arbor lock button on the side of the
    Bosch Colt router and use a small wrench to loosen, most of the time I stick with one bit, its an

    “1/8th Two Flute Single End Mill”

    seams to work well with most things, but with some plastic you have to watch your speed else the plastic melts, sticks to the bit, and ruins the work.

  11. Will1384
    It’s rare I would expect, that some tool changes are not required whilst processing a typical job.
    I’d certainly expect some drills in sizes at least 1.5mm to 8.0mm diam.
    One or more end mills & a couple of combination end-edge mills.
    The other thing worth consideration is to use solid carbide tools. They wear amazingly well & are very rigid. Of course they are not cheap.
    You indicate control of spindle RPM is possible.
    RPM good for routing (12 to 20K RPM ?)are not likely to suit most non-ferrous metals & any plastic, drilling or routing.
    What is the spindle speed range for your Bosch head?

  12. I started my router based on a design on He has 36 videos showing the steps he took to make his first one. They also sell the plans, hardware, and kits as well.

  13. colecoman1982
    Thanks for the EMC link.
    So I’d need:
    An old PC
    Installed Ubantu
    Installed EMC
    proficiency in machine code & EMC.

    Now the signals to steppers.
    Are we talking either 4 or 6 wire steppers?
    I do not quite get what you mean by “control the stepper drivers directly through pins on the parallel port”.
    If you are attempting to use salvaged printer/scanner steppers are drivers available?
    Peter O

  14. @Peter O

    The Bosch Colt Variable-Speed Router can do
    16,000 to 35,000 RPM, I often raise and lower
    the RPM during the work depending on how the
    router sounds and the cut looks.

  15. I’m currently building a reprap/mill from junk is got from the local scrapper. Extruded aluminum for the frame and the axis are assemblies from massage chairs with the feel good bits removed. It was going to be just a reprap but as the build progressed I’m started thinking it should be study enough to handle milling as well. I look forward to posting documentation of the project

Leave a Reply

Please be kind and respectful to help make the comments section excellent. (Comment Policy)

This site uses Akismet to reduce spam. Learn how your comment data is processed.