We have to connect the stepper motors (three, one each for X, Y and Z axis) to a PC. This is achieved with an interface board and drivers. The interface board typically connects to the PC’s printer port and then connects to the drivers. We need one driver for each stepper motor.

When looking at what is available there are a lot of choices. Some come in kits, some are open source and some are just pieces of designs. I decided not to use the design used by Tom McWire for a couple of reasons:

  • Using a microcontroller on the board reduces some of the real time requirements on the PC. The microcontroller can perform some local processing instead of having to rely on the PC to provide all the signals
  • Supporting microstepping allows for finer control over the motor. Essentially microstepping further divides the steps provided by the motor. This can give a higher precision and smoother operation

In addition I have the following requirements for the hardware:

  • Able to be configured to support specific PC applications
  • Simple design
  • Able to drive NEMA-23 stepper motors
  • Uses a common microcontroller
  • Preferably open source

I found the following website full of designs: PMinMO Electronics, including a Parallel Port Reference. Of these designs only a few support microstepping. Of those I am currently considering using the PICStep. Further research is required however to make sure it will be possible to interface to the PC applications I am interested in using.