Don't get step motor 28byj-48 running

Hi, there is an other tread by a different person with a similar problem.
I have the same stepper and driver board and I had trouble with the sketch you are using.
Try this code, I can't remember where I got it, I have moded it so that the value of val is set in the code and not by a potentiometer as it was originally intended.

/* 
 Stepper Motor Control - speed control
 
 This program drives a unipolar or bipolar stepper motor. 
 The motor is attached to digital pins 2 - 5 of the Arduino.
 A potentiometer is connected to analog input 0.
 
 The motor will rotate in a clockwise direction. The higher the potentiometer value,
 the faster the motor speed. Because setSpeed() sets the delay between steps.
 
 */


int IP1;
int IP2;
int IP3;
int IP4;
int val;
int ddelay;
int dddelay;

void setup() {
  // nothing to do inside the setup
  IP1=2;
  IP2=3;
  IP3=4;
  IP4=5;
  Serial.begin(9600);
  pinMode(IP1,OUTPUT);
  pinMode(IP2,OUTPUT);
  pinMode(IP3,OUTPUT);
  pinMode(IP4,OUTPUT);
}

void loop() {
//  val = analogRead(0);
val=1000;   //   Sets speed 0 to 1000
  ddelay = map(val, 0, 1006, 500, 3);
  dddelay =constrain(ddelay,3,500);
    Serial.print(dddelay);
    Serial.print("  ");
    Serial.println(val);
 
  digitalWrite(IP1, HIGH);
  digitalWrite(IP2, HIGH);
  digitalWrite(IP3, LOW);
  digitalWrite(IP4, LOW);
  delay(dddelay);
//   val = analogRead(0);
  ddelay = map(val, 0, 1006, 500, 3);
  dddelay =constrain(ddelay,3,500);
    Serial.print(dddelay);
    Serial.print("  ");
    Serial.println(val);
  digitalWrite(IP1, LOW);
  digitalWrite(IP2, HIGH);
  digitalWrite(IP3, LOW);
  digitalWrite(IP4, LOW);
  delay(dddelay);
//   val = analogRead(0);
  ddelay = map(val, 0, 1006, 500, 3);
dddelay =constrain(ddelay,3,500);
    Serial.print(dddelay);
    Serial.print("  ");
    Serial.println(val);
  digitalWrite(IP1, LOW);
  digitalWrite(IP2, HIGH);
  digitalWrite(IP3, HIGH);
  digitalWrite(IP4, LOW);
  delay(dddelay);
 //  val = analogRead(0);
  ddelay = map(val, 0, 1006, 500, 3);
  dddelay =constrain(ddelay,3,500);
    Serial.print(dddelay);
    Serial.print("  ");
    Serial.println(val);
  digitalWrite(IP1, LOW);
  digitalWrite(IP2, LOW);
  digitalWrite(IP3, HIGH);
  digitalWrite(IP4, LOW);
  delay(dddelay);
//   val = analogRead(0);
  ddelay = map(val, 0, 1006, 500, 3);
  dddelay=constrain(dddelay,3,500);
    Serial.print(ddelay);
    Serial.print("  ");
    Serial.println(val);
  digitalWrite(IP1, LOW);
  digitalWrite(IP2, LOW);
  digitalWrite(IP3, HIGH);
  digitalWrite(IP4, HIGH);
  delay(dddelay);
//   val = analogRead(0);
  ddelay = map(val, 0, 1006, 500, 3);
  dddelay=constrain(ddelay,3,500);
    Serial.print(dddelay);
    Serial.print("  ");
    Serial.println(val);
  digitalWrite(IP1, LOW);
  digitalWrite(IP2, LOW);
  digitalWrite(IP3, LOW);
  digitalWrite(IP4, HIGH);
  delay(dddelay);
//   val = analogRead(0);
  ddelay = map(val, 0, 1006, 500, 3);
  dddelay=constrain(ddelay,3,500);
    Serial.print(dddelay);
    Serial.print("  ");
    Serial.println(val);
  digitalWrite(IP1, HIGH);
  digitalWrite(IP2, LOW);
  digitalWrite(IP3, LOW);
  digitalWrite(IP4, HIGH);
  delay(dddelay);
//   val = analogRead(0);
  ddelay = map(val, 0, 1006, 500, 3);
  dddelay=constrain(ddelay,3,500);
    Serial.print(dddelay);
    Serial.print("  ");
    Serial.println(val);
  digitalWrite(IP1, HIGH);
  digitalWrite(IP2, LOW);
  digitalWrite(IP3, LOW);
  digitalWrite(IP4, LOW);
  delay(dddelay);
}

Note that I use pins 2 to 5, but you can change the code to use 8 to 11.

Tom..... :slight_smile:
PS note that this stepper has a gearbox in it so it will not turn very fast.