A stepper motor is a brushless synchronous electric motor that divides a complete rotation into steps of equal length. The motor position can be controlled precisely without any feedback mechanism, as long as the motor is designed as per the requirement and application. Based on the number of steps per rotation, different types of stepper motors are available. They are usually found in 3D-printers, desktop printers, CNC milling machines, and any other application that requires accurate positioning control.

It converts a chain of input pulses into a precisely defined increment in the mechanical shaft position, where each pulse moves the shaft by a fixed angle, which makes the shaft rotate in series of discrete angular steps.
Step Angle = 360/(Stator Phases * Rotor Teeth) degrees
Types of stepper motors:
variable Reluctance Stepper Motor
Permanent Magnet Stepper Motor
Hybrid Stepper Motor
Hardware Requirements:
1. Breadboard:

A #breadboard is a flat piece of wood that is provided with holes that allow users to build a circuit including the components and connections without the need for soldering due to which it is reusable and finds its best usage for the students who are new to build circuits. The holes in any horizontal line will be in series whereas the vertical holes remain at an equipotential state. There are different sizes of breadboards available in the market which include "full size", "half-size" and, "mini size" breadboards.
You can purchase breadboard here.
2 .ULN2003A- Driver Board:

ULN2003A is a 16 pin integrated circuit. It has seven Darlington transistors installed which would aid to control 7-loads at a time. The voltage and current limits for any load are 50V and 500mA. ULN2003 is provided with internal safety protection from back EMF. The Driver Circuit consists of 7-input and 7-output pins and 1-common and 1-ground pin.
You can purchase breadboard here.
3. Arduino UNO: The Arduino is a Programmable #microcontroller, it's an open-source electronics proto-type platform. It interacts with the user by receiving input with the aid of sensors and provides the output employing LED, buzzer, etc.,

NOTE: To know more about Arduino UNO, go through this article.