What is a Stepper Motor?
Stepper motors are brushless DC electric motors that rotate its shaft in discrete steps of equal angular rotation. This is possible due to the fact that the motor has coils in groups and can we to energize them in a specific sequence to get one step (i.e. an incremental rotational step). This very nature of stepper motors allow us to move a specific number of steps without having a position/displacement sensor, while maintaining good accuracy on the position and speed of rotation of the motor.
28BYJ-48 Stepper Motor
The 28BYJ-48 stepper motor is a great stepper motor for a wide range of applications. It’s also a great motor for anyone looking to learn about stepper motors.
Rated Voltage: 5V DC
Gear Ratio: 64:1
Net steps per revolution: 2048 (~0.1758deg/step)
*Motor has 32 steps/revolution, and the gear ratio is 64:1, resulting in a net steps/revolution of 32*64=2048.
Coil Type: Unipolar
ULN2003 Motor Controller
The ULN2003 motor controller is used to interface your stepper motor (in this case the 28BYJ-48) and your microcontroller (in this case an Arduino UNO). The motor controller accepts four digital inputs from the microcontroller (IN1 – IN4) and the 5 cables coming from the 28BYJ-48 stepper motor. There is also the power input, which can be set to 5V or 12V. For the specific motor in this example we would go with 5V. The motor controller also has 4 step indicator LEDs so you can see the state of the coils of the motor as it rotates. When running fast it can be hard to see.