It looks to me like Arduino Uno is going to be my best bet for my LinuxCNC project. I'll obviously have to design a high power interface between the Arduino and the stepper motor for each axis.
The problem I'm having at the moment is, just about all the how-to literature for Arduino is geared to programming it. What I'm looking for at the moment is a description of the hardware, not just the pinout names (available from several sources).
At this point I'd also like to run the Arduino through an Ethernet shield, so I also need to know which pins the shield uses.
do I have to reload the program every time I turn it on?
No. The program resides in the non volatile flash memory of the Uno processor. When you turn the Uno on or reset it, the code automatically runs from the beginning. You can't run code from the SD card, use it to store data (like Gcode instructions).
Why are you thinking of using an Ethernet shield? Why not just use the USB-serial connection that is built into most Arduino boards?
What sort of information will need to be transmitted between the Arduino and your PC?
Perhaps the Arduino program called GRBL would be useful. It can receive GCode and drive stepper motors.
There is a huge amount of information about programming Arduinos in the Learning section of this website. The Arduino board stores the program in its internal flash memory and the program starts automatically when the Arduino is powered up. You can store data on an SD Card but not a program.
fester225:
LinuxCNC is the program I would run on my PC running a Linux operating system (probably Ubuntu, maybe Debian).
LinuxCNC would send directions to the Arduino, hopefully through the Ethernet shield.
That makes sense. The two could communicate via ethernet or usb as suggested by Robin2.
Google will give details of Arduino board design. Here is some information on the Uno
I think you need to do a little more research. Linux cnc is run on a pc using the parallel port, no Arduino involved.
Your best bet would be the Linux cnc wiki and do a lot of reading.
If you are set on using an Arduino, do a search for GRBL.
Just as a side note you can buy the stepper drivers on E-Bay cheaper than you can build them, unless you are using some pretty powerful steppers.
PS I think the latest version of Linux cnc has ethernet support.
Looks like @detown is right. I had assumed that LinuxCNC would be handling the CAD part of CNC and that it would communicate with a micro doing the motion. However, from a quick read, it seems that a major purpose of LinuxCNC is to do the motion control from the PC.
There is mention of an ethernet development but the document I read did not go into detail and it did not sound as if it was work in progress.