Quote Originally Posted by m_c View Post
The problem with CNC machining, is it usually requires far faster and more accurate motion than 3D printing, and an Arduino is not really up to the task.
Even an ARM processor isn't ideal, as getting jitter free motion needs good clock scaling, which can be handled far better in an FPGA, which is why you'll find nearly all CNC motion controllers use an FPGA for motion generation, often paired with some form of microprocessor which handles communication and the maths for generating the motion paths, before passing the required motion to the FPGA.
LinuxCNC and Mach running via a parallel port also have the same issue, however they ultimately rely on using a sledgehammer to crack a nut, by throwing enough processing power at the problem, you can get it to work well enough it's not a problem.

And then you have the available hardware. Nearly all shields I'm sure have been designed with 3D printing in mind, where speed and acceleration requirements aren't that great, so 24V is acceptable. If you were to use those same speeds on any reasonably sized router or mill, it would be painfully slow.
Hardware really is a case of, you get what you pay for.

The other guy who replied makes some good points.
We are advised to use the latest uno as the clock is designed for faster rates. I can't say it requires "faster and more accurate" motion than 3D printing honestly, especially not at a hobby scale. My 3D printers has travel moves of 400mm/s happily, can print at a good 100mm/s and maintains accuracy on the micrometer scale without an issue. I haven't had much experience with CNCs but in general they seem slower than my printer and the bits larger than my nozzle, rendering certain forms of accuracy less reliable.
Naturally if I wanted to invest several hundred in a CNC I would so and the quality would be much better. However I don't. This is a hobby build from scraps and cheap pieces that'll get used for sure, but not that much, I'm guessing.
Ah, many shields ARE designed for 3D printing, but that's why you make sure to get a CNC shield, designed for higher power throughput. My RAMPS board is designed for 12V but I easily modified it to 24V. However I still wouldn't use it for CNC work as half the stuff on it isn't needed. The CNC shield is capable of up to 36V, adequate for a hobby machine, and plenty for what I need.
I should note again, this isn't an industry scale or quality machine I'm aiming for. I just had a fun idea to reuse some old scraps lying around and it'll be an entry point for if I do want to create something more professional! 3D printing is my real joy but there's nothing wrong with expanding my skills, knowledge and tool bank :)



Honestly, what I really would need guidance on is the homing sequence. If I'm understanding what I've read correctly; the XY are homed to the 0 corner on the machine in "machine coordinates" and the Z (spindle) to its upper limit, also 0.
As the machine knows the maximum cutting depth (Z max) once you've put in your cutting bit you then jog the tool down till it touches the top of the material you plan to cut. This then gives the machine the "cutting coordinate" offset 0 from world coordinate 0.
Knowing the maximum depth and that this new machine coordinate = cutting coordinate 0 it knows the new range in which to cut.

Correct?

So in practicality, the machine is homed to a designated corner with the spindle at its highest, material is clamped, cutting bit inserted and jogged down to touch the material and that then registered by the machine, then cutting may begin.

This is my one true sticking point, the rest I'm comfortable with now that I know the shield isn't feeding the Arduino too.
Thanks for all the help :)