     pelletCount ++;
     Serial.println(F("It did work"));
     clearDisplay();
-    delay(1); // allow a very short delay for display response
+    delay(2); // allow a very short delay for display response
     setDisplayValues(pelletCount);
     lastState = PIState;
-
   }
   else if (PIState == 1) {
     Serial.println(F("Turning motor..."));
-    motor.step(-steps / 2);
-    motor.step(steps);
+    power_twi_enable();
+    gPtrToStepper->step(STEPS_TO_INCREMENT/2,FORWARD,DOUBLE);
+    gPtrToStepper->step(STEPS_TO_INCREMENT,BACKWARD,DOUBLE);
+    gPtrToStepper->release();
+    power_twi_disable();
     lastState = PIState;
   }
   

  delay(1); // allow a very short delay for display response
  setDisplayValues(pelletCount);
  
  pinMode(PIPin, INPUT);
  pinMode(TTL, OUTPUT);
  pinMode(CS_pin, OUTPUT);
  pinMode(SS, OUTPUT);

  Wire.begin();
  RTC.begin(); // RTC library needs Wire

  if (! RTC.isrunning()) {
    Serial.println(F("RTC is NOT running!"));

  power_spi_disable();
}

void setup()
{

  // make all unused pins inputs with pullups enabled by default, lowest power drain
  // leave pins 0 & 1 (Arduino RX and TX) as they are
  for (byte i=2; i <= 20; i++) {    
