

The Stepper Motor 2 (STP-MTRD-17038E), manufactured by Automation Direct, is a high-performance stepper motor designed for precise control of angular position and speed. Unlike traditional DC motors, stepper motors divide a full rotation into a large number of discrete steps, making them ideal for applications requiring accurate positioning and repeatable motion.








The following table outlines the key technical details of the STP-MTRD-17038E stepper motor:
| Parameter | Value |
|---|---|
| Manufacturer | Automation Direct |
| Part Number | STP-MTRD-17038E |
| Step Angle | 1.8° per step |
| Holding Torque | 1.26 Nm (178 oz-in) |
| Rated Current per Phase | 2.8 A |
| Voltage | 2.55 V |
| Resistance per Phase | 0.91 Ω |
| Inductance per Phase | 3.6 mH |
| Number of Leads | 4 |
| Shaft Diameter | 6.35 mm (0.25 in) |
| Motor Frame Size | NEMA 17 |
| Weight | 0.5 kg (1.1 lbs) |
The STP-MTRD-17038E is a 4-wire bipolar stepper motor. The pinout and wiring details are as follows:
| Lead Color | Function | Description |
|---|---|---|
| Red | Phase A+ | Positive terminal of Phase A coil |
| Blue | Phase A- | Negative terminal of Phase A coil |
| Green | Phase B+ | Positive terminal of Phase B coil |
| Black | Phase B- | Negative terminal of Phase B coil |
Below is an example of how to control the STP-MTRD-17038E stepper motor using an Arduino UNO and a compatible stepper motor driver:
// Include the Stepper library for easy motor control
#include <Stepper.h>
// Define the number of steps per revolution (360° / 1.8° = 200 steps)
#define STEPS_PER_REV 200
// Initialize the Stepper library with the motor's step count and pin connections
// Pins 8 and 9 control Phase A, Pins 10 and 11 control Phase B
Stepper stepperMotor(STEPS_PER_REV, 8, 9, 10, 11);
void setup() {
// Set the motor speed in RPM (revolutions per minute)
stepperMotor.setSpeed(60); // 60 RPM
// Initialize serial communication for debugging
Serial.begin(9600);
Serial.println("Stepper Motor Test Initialized");
}
void loop() {
// Rotate the motor 1 full revolution clockwise
Serial.println("Rotating clockwise...");
stepperMotor.step(STEPS_PER_REV);
delay(1000); // Wait for 1 second
// Rotate the motor 1 full revolution counterclockwise
Serial.println("Rotating counterclockwise...");
stepperMotor.step(-STEPS_PER_REV);
delay(1000); // Wait for 1 second
}
Motor Not Moving:
Motor Vibrates but Does Not Rotate:
Overheating:
Skipping Steps:
Noisy Operation:
Q: Can I use this motor with a unipolar driver?
A: No, the STP-MTRD-17038E is a bipolar stepper motor and requires a bipolar driver.
Q: What is the maximum speed of this motor?
A: The maximum speed depends on the driver, power supply, and load. Typically, it can achieve speeds up to 1000 RPM under optimal conditions.
Q: Can I run this motor without a driver?
A: No, a stepper motor driver is required to generate the precise step signals needed for operation.
Q: How do I calculate the torque required for my application?
A: Use the formula: Torque = Force × Distance. Ensure the required torque is within the motor's holding torque (1.26 Nm).
By following this documentation, users can effectively integrate and operate the STP-MTRD-17038E stepper motor in their projects.