Driving a mini 2-phase 4-wire stepper motor

For those interested, here's the code I used to drive the motor. The coils are wired on consecutive pins, and in this case the first coil is on pins 2 and 3, and the second is on 4 and 5.

void setup()
{
}

void coilForward(int pin)
{
  pinMode(pin, OUTPUT);
  digitalWrite(pin, HIGH);
  
  pinMode(pin+1, OUTPUT);
  digitalWrite(pin+1, LOW);
}

void coilBackward(int pin)
{
  pinMode(pin, OUTPUT);
  digitalWrite(pin, LOW);

  pinMode(pin+1, OUTPUT);
  digitalWrite(pin+1, HIGH);  
}

void coilOff(int pin)
{
  pinMode(pin, OUTPUT);
  digitalWrite(pin, LOW);

  pinMode(pin+1, OUTPUT);
  digitalWrite(pin+1, LOW);
}

int step = 0;
boolean blink = true;

void loop()
{
  switch(step)
  {
    case 0:
      coilForward(2);
      coilOff(4);
      break;
      
    case 1:
      coilForward(2);
      coilForward(4);
      break;
      
    case 2:
      coilOff(2);
      coilForward(4);
      break;
    
    case 3:
      coilBackward(2);
      coilForward(4);
      break;
      
    case 4:
      coilBackward(2);
      coilOff(4);
      break;
      
    case 5:
      coilBackward(2);
      coilBackward(4);
      break;
      
    case 6:
      coilOff(2);
      coilBackward(4);
      break;
    
    case 7:
      coilForward(2);
      coilBackward(4);
  }
  step++;
  if(step == 8) step = 0;
  delay(10);
}