Stepper Motor is Much More Complicated From Buying Point of View Than Servo Motor. If you are new with electronics, we will suggest you to first work with 3V DC Motor, then try Servo Motor and after mastering basic sensors, ICs which are commonly used with Arduino; think for stepper motor. In Other Words, In This Arduino Stepper Motor Buying Guide, We Are Taking it Granted That You Know Needed Minimum Basics, Not in “I CAN ONLY Blink LED With Arduino” Level.
Do you need Stepper Motor? Servo motors are usually used as a high performance alternative to the stepper motor. Stepper motor are derived from the working concept of BLDC or Brush less DC Motors. Servo motors are simply DC motors which are carefully controlled by the voltage or current applied to them to get to a certain position. Stepper motors have some inherent ability to control position, as they have built-in output steps. A stepper motor works in open loop whereas servo works in close loop. Servo motors usually made to limit rotation within 90 degrees. We need better high performance 360 degree rotation for some things, like inkjet printers. Stepper Motors in usage typically initiate like inkjet printers initiates – furrrrr, few turns to get in proper position. Stepper motors have many poles, typically 50 to 150 brushless while servo motors have between 4 to 12 for typical applications.
You can actually think of 360° high speed servo. Unless you have specific need, there is no huge reason to buy Stepper Motor to learn. Normal DC motors and servo motors are enough for most projects.
---
Arduino has good official guide :
1 | https://www.arduino.cc/en/Reference/Stepper |
Arduino Stepper Motor Buying Guide (Driver IC Included)
It is better to go with Adafruit’s things as relatively new :
1 | https://learn.adafruit.com/adafruit-arduino-lesson-16-stepper-motors/overview |
In that case, you can use their code and follow some of the tutorials. Not necessarily you need to buy the things from them (AdaFruit usually sells at higher price than same thing when sold by other sellers).
You can buy a 28BYJ48 stepper motor. That is what AdaFruit shown in their example. AdaFruit’s one probably manufactured by Kiatronics and this is the datasheet :
1 | http://robocraft.ru/files/datasheet/28BYJ-48.pdf |
You’ll not get that of Kiatronics, unlike we can easily get same brand’s things for Servo. But they look and function quite in same fashion.
Most stepper motors will operate with a driver module. Arduino can not provide enough current from it’s I/O pins for the motor to run. You only need to know that there is Bipolar Stepper Motors and Unipolar Stepper Motors.
Unipolar Stepper Motors can be driven with simple transistor based circuit or Darlington Transistor IC like ULN2003A. But for Bipolar Stepper Motors, we need to implement an H–bridge type driver like L293D Motor Driver IC.
Adafruit in their example used L293D IC. If you buy L293D IC, then buy one pair with one pair of IC Base for L293D IC. That is because you can use them for future robotics. Darlington Transistor IC like ULN2003A also sold as external module for stepper motors. L293D Motor Driver IC also sold as external module.
So, at minimum probably you need :
One 28-BYJ48 stepper motor
One L293D IC
OR
One ULN2003A external module for stepper motor
Some online sellers sell stepper motors with external driver module. Only make sure that the module is made of SMD components, not of through hole components.
That is it.