Stepper motor controller and arduino

You need a female connector to connect to a male connector. I'm guessing what you have is "gender bender" intended to be a bridge between two identical connectors. Just buy the right part, they aren't expensive.

As I suspected the 25pin D connector takes signals for 4 stepper and the spindle drive. Lets just focus on Pins 4, 1 and 16 which are Enable, Direction and Step for the X axis motor.

I don't know whether its essential to connect Enable - some driver boards allow the motor to run without it being connected in which case you would just use it to disable the motor. It will have to be either HIGH or LOW so it will only take a few moments to test.

The following code should make the motor move if you connect Arduino pin 9 to the direction pin and Arduino pin 8 to the step pin in the D Connector. My code doesn't use enable. For testing you could just manually connect it to 5v or 0v.

The spec sheet doesn't say which pins in the D connector are for Ground. It's essential to connect the Ground to the Arduino ground. Assuming it is designed to connect to a standard PC parallel port D connector then you should be able to find a full pinout diagram on the web.

// testing a stepper motor with a Pololu A4988 driver board
// on an Uno the onboard led will flash with each step
// as posted on Arduino Forum at http://forum.arduino.cc/index.php?topic=208905.0

byte directionPin = 9;
byte stepPin = 8;
int numberOfSteps = 50;
byte ledPin = 13;
int pulseWidthMicros = 50;  // microseconds
int millisbetweenSteps = 50; // milliseconds

void setup() 
{ 

  Serial.begin(9600);
  Serial.println("Starting StepperTest");
  digitalWrite(ledPin, LOW);
  
  delay(2000);

  pinMode(directionPin, OUTPUT);
  pinMode(stepPin, OUTPUT);
  pinMode(ledPin, OUTPUT);
  
 
  digitalWrite(directionPin, HIGH);
  for(int n = 0; n < numberOfSteps; n++) {
    digitalWrite(stepPin, HIGH);
    delayMicroseconds(pulseWidthMicros);
    digitalWrite(stepPin, LOW);
    
    delay(millisbetweenSteps);
    
    digitalWrite(ledPin, !digitalRead(ledPin));
  }
  
  delay(3000);
  

  digitalWrite(directionPin, LOW);
  for(int n = 0; n < numberOfSteps; n++) {
    digitalWrite(stepPin, HIGH);
    delayMicroseconds(pulseWidthMicros);
    digitalWrite(stepPin, LOW);
    
    delay(millisbetweenSteps);
    
    digitalWrite(ledPin, !digitalRead(ledPin));
  }
  
}

void loop() 
{ 

}

Hope this helps

...R