     delay(500);                 // Should be 360 + coast degrees for the motor.
   }
 }
+#endif
+
+#ifdef COMPONENT_TEST_MOTOR_TIME
+void component_test_motor_time(Motor* motor) {
+  for (int i = 0; i < 20; i++) {
+    motor->deg = 0;
+    unsigned long t_start = millis();
+    motor_turn_deg(motor, 360, COUNTERCLOCKWISE);
+    unsigned long t_end = millis();
+    if (motor->deg < 360) {
+      Serial.println("ERROR");
+      exit(0);
+    }
+
+    Serial.println(t_end-t_start);
+    delay(1000);
+  }
+}
+#endif
+

  attachInterrupt(digitalPinToInterrupt(MOTOR_2_INT_PIN), motor2_interrupt, CHANGE);
  //attachInterrupt(digitalPinToInterrupt(MOTOR_3_INT_PIN), motor3_interrupt, CHANGE);

#ifdef COMPONENT_TESTING_ROTATION_COAST
  component_test_motor_coast(&motor1);
#endif
}

void motor1_interrupt() {

/*****************************
   COMPONENT TESTING METHODS
 *****************************/
#ifdef COMPONENT_TEST_MOTOR_COAST
void component_test_motor_coast(Motor* motor) {
  for (int i = 0; i < 20; i++) {
    motor->deg = 0;
