Jump to content

- - - - -

DIY CNC machine v2.0 - aka "Valkyrie" 100$

  • Please log in to reply
6 replies to this topic

#1 Guest_jay pheno_*

Guest_jay pheno_*
  • Guest

Posted 15 August 2009 - 12:30 PM

been working on building a cnc awhile now ,, this one is cool i think cuz its so cheap to build ,, once you have built it you can use it to make better parts for a bigger , nicer one ! seen one like this at a convention dudes was chargeing folks to etch/encrave their laptops 60$ a pop ,,


Posted Image

Cost to build:

Time to build:
30 hours

10000 grams

This is the second version of a homemade CNC machine build using mostly off the shelve parts.
The first one aka "The beast" had a lot of precision issues due to play in most parts which in turn was caused by mostly bad cutting. Also one of the biggest problems was that when I have build it I did not think to allow later adjustments to be done.
So this time almost every part of it allows for some adjustments. It is also easier to build due to the different design.
Technical details:
- 250 by 160 mm work area
- 50 by 35 by 35 cm machine size (could sit on my desktop :))
- with the material I have tested (laminate wood pretty tough material) it can cut at around 80 to 100 mm per minute
Construction materials:
The main material used is 16 mm MDF - I used about a square meter all together.
The rails are 10 by 20 mm aluminum corners used for ... I don't know for what but the margins are slanted at an angle - I used 3 meters of it.
The lead screws are standard M8 type threaded, nothing fancy - 3 meters.
The bearings used are two types because I did not have enough of them, but you can get away with ABEC7 bearings - 16 for the X-axis + 8 for Y-axis + 8 for Z-axis + 8 for the lead screws = 40 bearings.
The motors I used are 7.5 degrees per step, 24 volt, canstack stepper motors, the kind you should find in almost all older printers.
The electronics used are all home build. The brain of the machine is an Arduino (the single sided version), and the motor drivers are created around Attiny 2313 paired with an l298.
The wires used are CAT 5 pairs used for power, and pairs from an old SCSI flat cable for data.
The screws used in the constructions are standard M8 of different lengths and M6 screws to fix the rails.
A. Lead screws
The design is as simple as it gets, it is all based on lead screw transmission.
I chose to use this kind of transmission because it has three advantages:
1. Force ratio is high - to move the nut along the screw the rotational force applied is low compared to the output. That allows the use of those small motors
2. Precision - even with the large step angles provided by the motors I still get pretty good sub millimeter precision: 76,8 steps/mm - good enough for my requirements for now at least.
3. Ease of implementation - you only need two bearings at the ends of the screw, two normal nuts to hold it in place, one long nut to move around.
The linear rail system allows the axes to move freely along their axis and ensure there is no side load on the lead screws.
B. Rail system
On this machine the linear rails are using a different system as on the first version, inspired by the new version of the CNC machines created by the guy here. Obviously the new system is a lot easier to implement than the one before due to it's simplicity. The only drawback is that it requires a strange type of bearing called a V-groove bearing which comes with a V shaped groove along the center of the other housing. I could not find any of those, so I used a pair of normal bearings put side by side to create a small groove in the center.
The electronics of this thing are composed of two parts: the Arduino board and the motor boards.
The Arduino is just a standard single side board, not much to say about it, if you want to build your own see here.
The motor botor boards I designed myself, they are based on an Attiny 2313 and l298. You can find more info and the schematics here. (it needs updating I know ..)
I have built my own controller because I did not want to have a mess of wires around the machine from the Arduino to the drivers. This way I can control all 3 axis by using just two wires trough the I2C protocol.
The software is divided in three parts:
- pc side
- Arduino side
- motor controller side
On the pc side I'm using the excellent Inkscape to draw the shapes, and a plugin to convert them to G-Code coordonates. Then I'm using a simple python script to send the G-Code to the Arduino, over the serial link.
On the Arduino I have a modified version of the code from the RepRap project (, adapted to use I2C to command the motors instead of driving pins directly.
On the motor controller side the software takes different commands trough I2C and executes them.

via <----:eusa_danc:eusa_danc:eusa_clap

#2 kkannan


    Former Member

  • Banned Member
  • 1 posts

Posted 06 September 2009 - 12:21 PM

Excellent docs and great execution. I am planning to build a small machine like this and your project will help me achieve that with ease.


#3 catdaddy


    herding kittens

  • Expired Member
  • 2,321 posts

Posted 06 September 2009 - 12:47 PM

Jay- you're my hero again!

I can really use something like this in gunsmithing and making parts for other things.

Gotta ask- did you use "the beast" to make parts for the Valkyrie"? (Admitting that I did not read the thread VERY carefully- yet!)

#4 wendal



  • Expired Member
  • 431 posts

Posted 07 September 2009 - 02:48 PM

That is pretty neat!

Im going to have to build one to keep my bigger machine company :D

Here is my baby:

Catdaddy, feel free to hit me up if you ever need anything machined. I would love to get into gunsmithing myself but never really knew where to start........ I've made different style firing pins for a customer.....and that is the extent of my gunsmith type experience :)
  • catdaddy likes this

#5 eatyualive



  • Honorary Former Staff
  • 6,153 posts

Awards Bar:

Posted 08 September 2009 - 01:42 PM

lol nice!

#6 the_chosen_one


    electro gypsy

  • Honorary Former Staff
  • 8,113 posts


Posted 08 September 2009 - 02:56 PM

fascinating. a long time ago, in a galaxy far far away, i used to speak fluent G and M code. macro capable?


#7 Coughing_Anon



  • Expired Member
  • 258 posts

Posted 09 September 2009 - 10:00 AM

I read this article recently.
Arduinos are pretty neat. I picked one up recently, plan on using it to build a beer brewery.

Like Mycotopia? Become a member today!