IntermediateRobotics and Motion
Stepper Motor Dial Controller
Drive a small unipolar stepper through a ULN2003 driver and move it with two direction buttons.
Parts from the database
- ULN2003ADR Γ 1Darlington array; use on a suitable driver board
- Raspberry-Pi-Pico Γ 1Microcontroller
Other supplies
- 28BYJ-48 5 V geared stepper motor with matching ULN2003 driver moduleCommon build supply
- two pushbuttonsCommon build supply
- 5 V motor supply sized for the motorCommon build supply
- Pico boardCommon build supply
- jumper wiresCommon build supply
Amazon links may be affiliate links. As an Amazon Associate, Electronics Hobby Hub earns from qualifying purchases.
Connections
- Use a matched 28BYJ-48/ULN2003 module. Connect its IN1βIN4 to Pico GP2βGP5 and GND to Pico GND.
- Power motor VCC from a separate 5 V supply; join supply ground to Pico ground.
- Buttons connect GP14 and GP15 to GND; use internal pull-ups.
- Never drive the motor coils directly from Pico GPIO.
Build steps
- Check the exact driver module pin labels and motor connector orientation.
- Upload a slow stepping test and verify the motor turns without skipping.
- Add buttons for clockwise/counterclockwise motion and adjust step delay to suit the load.
- Mount a paper pointer only after the rotation direction and end-stop behavior are understood.
Software and firmware setup
Firmware is required, but a complete button-controlled sketch is not included yet. The Pico must run an Arduino-compatible core. Use four output pins in a repeating four-phase sequence for the ULN2003 inputs, and read the two direction buttons with INPUT_PULLUP. Start with a slow step interval and stop if the motor stalls or heats.
Test your build
The shaft should rotate smoothly in both directions at a conservative speed. The 28BYJ-48 has gearing and backlash, so it is not a precision positioning stage.
Troubleshooting
- If it vibrates but does not rotate, check coil sequence and the motor connector.
- If the Pico resets, improve separate motor power and shared ground.
- If torque is weak, reduce speed and make sure the 5 V supply is adequate.
Safety and limitations
Keep fingers clear of gears and use a low-voltage motor supply. Do not stall the motor for long periods.
Manufacturer and platform documentation
Community Notes for This Project
These are unverified visitor contributions, separate from the build guide and manufacturer specifications. Verify technical advice against the linked datasheets before relying on it.
Set up the comments service to load community notes.