What it shows
A stepper motor turns in exact small steps instead of spinning freely. The Arduino counts steps to rotate a platform through an exact angle, which is how 3D scanners, printers and camera sliders position things.
The science
The 28BYJ-48 has a geared shaft and needs about 2048 full steps (4096 half-steps) for one revolution of the output shaft. One degree is therefore about 5.69 full steps, and 10 degrees is about 57 steps. The ULN2003 chip switches the four coil currents that the Arduino is too weak to supply. The Stepper library energises the coils in a sequence so the rotor moves one step each time.
Materials
Cost: under Rs 1,500. Many items come from home or from waste; spare parts such as LEDs, motors and wire are in the store.
- An Arduino Uno or Nano
- A 28BYJ-48 5 V stepper motor with ULN2003 driver board
- A 5 V 1 A power bank or battery pack for the motor
- A push button
- A round card or plywood platform 12 cm across and a hub
- A small object to photograph, and a phone on a stand
Safety
For this project: Low voltage only. Keep hair and fingers away from the turning platform. The motor and driver chip get warm after long use; switch off when finished.
Never use mains electricity: power models with cells, batteries or a low-voltage adapter. Sharp and hot tools, flames and lab chemicals need an adult or your teacher beside you. Keep magnets, button cells and small parts away from young children, and wash your hands after making.
All the safety rulesStep by step
8 steps. Do them in order, and test each part before you go on to the next. Write what you notice in a notebook as you go.
Connect the driver inputs IN1 to IN4 to pins 8, 9, 10 and 11 and power the driver board from the external 5 V supply.
Join the Arduino GND to the driver board GND.
Connect the push button between pin 2 and GND, using INPUT_PULLUP.
In the sketch, create a Stepper object for 2048 steps per revolution with the pin order 8, 10, 9, 11 and set the speed to 10 rpm.
Write the code so each button press moves 57 steps, about 10 degrees.
Glue the hub on the shaft, fix the platform and place a small object at the centre.
Put the phone on a stand and take a photo after each press until the platform has done 36 steps.
Load the 36 photos in a free viewer or app to scroll through them and see the object turn.
What you should see
The platform turns exactly 10 degrees with each press, and 36 photos make a smooth turn-around view of the object.
Viva questions
A teacher or a judge will ask how it works. Try to answer each question before you open it, then compare.
1What is a stepper motor?
A motor that turns in fixed small steps, controlled by pulses to its coils.
2Why does the motor need a driver?
The coil current is too large for an Arduino pin, so the ULN2003 switches it.
3How many steps for 10 degrees?
About 57 with 2048 steps per revolution.
4Why does the pin order 8, 10, 9, 11 matter?
The coils must be energised in the right sequence for the motor to turn.
Take it further
Make the Arduino trigger the phone shutter through a Bluetooth remote so the full turn is automatic.
Change one thing, measure what happens, and add a table or chart of your readings: that is what turns a model into your own investigation.
Free ebooks for this project
Robotics
Motors, Gears and Motor Drivers
Make things move: DC motors, servos, steppers and how to drive them
