A stepper motor, as its name suggests, moves one step at a time, unlike those conventional motors, which spin continuously. If we command a stepper motor to move some specific number of steps, it rotates incrementally that many number of steps and stops. Because of this basic nature of a stepper motor, it is widely used in low cost, open loop position control systems, meaning; no feedback information about the position is needed. This eliminates the need for sensing and feedback devices, such as optical encoders, as motor position is known by keeping track of the number of input step pulses.
Stepper motors can be driven with square waves and are easily controlled by inexpensive digital circuitry and do not even require PWM. By utilizing power modulation techniques to change the quadrature squarewaves into sine and cosine waveforms, even MORE step resolution is possible. This is called "micro-stepping", where each discrete change in the sine and cosine levels constitutes one microstep.