I'm building a CNC mill based on Patrick Hood-Daniel's machines

I'm also playing with Arduinos, and I'm beginning to wonder if I have this right:

I have 5v 1A steppers.

I'll be using EMC2 (Linux-based CNC) to run the whole thing and I had intended to feed the output from the Ubuntu box that's running EMC2 into an Arduino that then splits the data and sends it to three stepper drivers, probably built with sn754410ne h-bridges.

I had thought of possibly building the controllers with an ATtiny2313 per motor.

Is this overkill? Is the Arduino even required or can I feed the h-bridges directly from the EMC2 output?

My main worries are that the Arduino won't be able to control three motors concurrently, although there is a new library available: http://www.open.com.au/mikem/arduino/AccelStepper/ that purports to achieve this, and also that I won't be able to get half-stepping (or finer) with this setup.


I would choose the more modular support, with that ATtinys running the motors, with the ATtiny you could add extra features like position, or encoder data, emegency start/stop and other features. As for the main control unit, the arduino may be under powered for fast work but it is possible.

you may want to also look at the Reprap project for more idea for hardware. another resource that may help is the emc2 supported hardware.

you would not be able to hook up emc2 right to the steppers with out have some sort control module.

  • 1
    \$\begingroup\$ Actually, EMC often was used with the parallel port hooked directly to chopper stepper amplifiers, with no "control module". It's not actually trivial to get things to work right with a micro controller and USB or whatever latency in there, unless you offload the task at a higher level and have the embedded system do all the realtime work. \$\endgroup\$ – Chris Stratton Feb 7 '11 at 7:57
  • 1
    \$\begingroup\$ @Chris Stratton, I think the chopper stepper amplifier is considered the control unit, and yes you can just use a parallel interface to hook up a few L297/8 to it to get some steppers up and running. source here pminmo.com/PMinMOwiki/index.php5?title=L297-8 \$\endgroup\$ – jsolarski Feb 7 '11 at 8:57
  • \$\begingroup\$ Great advice from you both, thanks. I've looked at those two sites before, but I'll revisit them now I'm getting a better feel for what's required. I'll keep an eye on this thread, too, for any more input. \$\endgroup\$ – Leo Feb 7 '11 at 9:16

I know I'm a bit late to the forum but interestingly enough I have been working on a open source project called EMC-2-Arduino that can do exactly what you speak of and more... ie: Up to 9-axises of non-blocking synchronous stepper motor control. Allow basic E-Stop, Power, Srart, Stop, Pause, Resume and Program Step inputs. Software selectable microStepping down to 1/16th step Basic serial interface control makes it easy to command via serial a link.

You can find the code at https://github.com/dewy721/EMC-2-Arduino

  • \$\begingroup\$ Thanks. I'll take a look at that once I clear my desk... \$\endgroup\$ – Leo Apr 25 '12 at 11:06

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.