A stepper motor is an electric motor that divides a full rotation into a number of steps so that it can be used in precise control applications. They are used in a wide variety of applications, including computer printers, hard disk drives, automated vending machines, robots, and more. A stepper motor works by energizing and de-energizing its electromagnetic coils which creates a magnetic field that "pulls" the motor’s internal sections, or "teeth", into a certain position, pushing it in a specific direction. This process is repeated until the motor has reached its desired position. Steps can be controlled and repeated with very precise accuracy due to the motor’s high resolution.