A stepper motor is a kind of electric motor where an internal rotor containing permanent magnets is controlled by a set of external magnets that are switched electronically. A stepper motor is a cross between a DC electric motor and a solenoid. Simple stepper motors "cog" to a limited number of positions, but proportionally controlled stepper motors can rotate extremely smoothly. Computer controlled stepper motors are one of the most versatile forms of positioning systems, particularly when digitally controlled as part of a servo system.