I just started with Arduino yesterday and I am having fun. While looking for a post about writing/reading to registers on the "Due", I saw your post about steppers for a CNC. I have 25 years experience with steppers (see, e.g., U.S. Patent 599,0640) and I will be making a special driver board to interface steppers to the Arduino later this year. I also ran a machine shop for 15 years, milling aluminum and steel. You first have to differentiate between the motor for the cutting spindle (typically a large horsepower 3 phase AC motor) from the motors for 2-3 axis positioning. Cutting motors need plenty of torque and speed and steppers are not desinged for this work. As for X,Y, Z positioning, steppers are generally not used commercially because they are not fast enough and/or the steps are to large to obtain high accuracy (.001" or better) [Gear reduction adds too much error.] The typical CNC will use AC servos with high resolution optical encoders (A, B + index) for positioning, but DC servos can be used in some circumstances.
If you want to use steppers, you need to look at the torque curves for the motor and see if that will meet your needs. You would want to use a bi-polar motor in half step mode (this requires a different timing sequence on the H bridge signals than full step mode). You can also use a microstepping driver. I would be glad to help you further. You can email me at email@example.com
*** If anyone reads this, I am looking for functions to write/read registers on the "Due". I want to set up the real time clock and the pwm mode on the 32 bit timers/counters. If there are none, is anyone interested in working with me to create a library of functions for this purpose?