Browse over 10,000 Electronics Projects

How to design and program the PCA9629A advanced stepper motor controller

How to design and program the PCA9629A advanced stepper motor controller

Stepper motors are brushless and very reliable, since there are no contact brushes inside the motor. Therefore, the life of the motor is simply dependent on the life of the mechanical bearing. A stepper motor is a digital version of the electric motor that moves one step with one digital input pulse at a time. The rotor moves in discrete steps as commanded, rather than rotating continuously like a conventional motor. When the stepper motor is stopped but energized, a stepper motor holds its load steady with a holding torque and has full torque at standstill.


With stepper motors, precise positioning and repeatability of movement are achievable. They offer excellent response to starting, stopping, and reversing. Since the motors respond to digital input pulses, open-loop control of the motor is possible, making the motor simpler and less costly to control. Due to these reasons stepper motors are extensively used in many applications including gaming, robotics, industrial control, toys, medical equipment, door control, security cameras, vending machines, printers, etc. This application note explains how to design and program PCA9629A to drive unipolar stepper motor. Driving a bipolar motor needs additional external logic and is not explained in this application note.