Is a Driver Needed?


IN example “stepper_oneRevolution”, for example, all you need to do is to attach the motor to pins 8, 9, 10, and 11.

This mean a driver isn’t needed for this example any way.

One question I have is about voltage supply to the motor itself of which nothing is mentioned.

If I don’t intend to microstep a motor, why do I need a driver if the Arduino can drive it?


An Arduino should NEVER be used to drive any motor directly. Nor any other microprocessor. You will have nothing but trouble if you try.


But that is what some of Arduino’s examples imply. It says connect the motor to pins 8-11, for example. The reason I asked was because I had always seen a driver driving and arduino controlling.

You should not assume that any example you find on the internet is a good example, unless you have some independent evidence that it is reliable. In particular, there are some incredibly bad examples in the Arduino world, many of which will destroy your equipment. Connecting motors directly to Arduinos constitute some of those bad examples.

No digital pin on an Arduino should be asked to carry more than 20 milliamperes of current. Also, you should not consume more than about 200 mA from the 5VDC regulated output. In addition to those restrictions, motors generate large voltage spikes which will destroy digital devices very quickly unless specific spike protection is in place.

Pololu has a reputation for providing good examples and you can follow their advice with confidence.

Even though I am new to this industry I can already tell that it severely lacks standards. I am a structural engineer by profession so I know a thing or two about the need for standards. A good (or poor) example is frirzing. I was all excited that I found this place and their nifty program, etc., and have the Arduino Micro on the BB and the A4988 and am wiring away, except that the PWM pins of the model in fritzing doesn’t match the actual Arduino labeling on their site. And that can create a lot of confusion for a person who doesn’t have roots in this industry (I did take some electrical engineering in college.

I am reading the Arduino’s description every day in order to fully understand the limitations that you are describing here and hopefully I won’t fry my boards. In reality all that I need is a few of its ports sending simple PWM signals to the Driver.

I am learning that information on the Internet must be taken with a grane or two of sea salt!

Thanks for the input, Jim.