As requested, here is the code
If you need the Stepper Motor to move, just issue a "85" command following the amount of steps
Ie.:
"851000" = 1000 steps CW
or
"85-1000" = 1000 steps CCW
#include <Wire.h>
#include <AccelStepper.h>
#include <Servo.h>
#include "Adafruit_TCS34725.h"
int laststepA = 0;
//Color sensor
//SDA A4
//SCL A5
uint16_t red, green, blue, clearc, colorTemp, lux;
int hopperServoPin =Â 12;Â Â Â Â // control pin for hopper servo motor
int hopperTubeSensorPin = 10;  //pin for hopper tube sensor  ///////////////TODO: Assign the pin
Servo hopperServo; //Declare hopper servo
AccelStepper stepperA(AccelStepper::DRIVER, 5, 4); //Declare stepper A
Adafruit_TCS34725 tcs = Adafruit_TCS34725(TCS34725_INTEGRATIONTIME_24MS, TCS34725_GAIN_1X); //Declare Color sensor
String inData;Â Â Â Â //Variable to store input received over serial
String header;Â Â Â Â //Variable to hold the header of the received input over serial
String content;Â Â Â //Variable to hold the header of the received input over serial
String gotoPos;Â Â Â //Variable to store the position for the stepper to move to.
//Setup hopper servo parameters
int hopperControl = 0;
//Setup hopper tube sensor parameters
int hopperTubeSensor = 0;
//Setup hopper color sensor parameters
int hopperColorSensor = 0;
int maxSpeedA = 200;
int accelerationA = 100;
int speedA = 200;
int pauseProcess = 0; //Pause state variable
void setup() {
 //Prepare serial
 Serial.begin(9600);
 Serial.println("Communication :: Ready");
 delay(500);
 if (tcs.begin()) {
  Serial.println("0#90##");
 } else {
  Serial.println("0#91##");
  while (1);
 }
 //Set variables for steppers
 stepperA.setMaxSpeed(maxSpeedA);
 stepperA.setAcceleration(accelerationA);
 stepperA.setSpeed(speedA);
 hopperServo.attach(hopperServoPin);
 // resetSteppersFromMemory();
 //digitalWrite(2,LOW); // Set Enable low
}
void loop() {
 //The run() function must be called frequently until the motor is in the desired position, after which time run() will do nothing.
 stepperA.run();
 Pause(); //Pause is called each cycle to pause the process if called.
 if (Serial.available() > 0) {
  readcommand();
 }
}
void readcommand() {
 while (Serial.available() > 0)
 {
  char recieved = Serial.read();
  inData += recieved;
  // Process message when new line character is recieved
  if (recieved == '\n')
  {
   //      Serial.print("Packet Received: ");
   Serial.println(inData);
   header += inData[0];
   header += inData[1];
   content += inData[2];
   content += inData[3];
   content += inData[4];
   content += inData[5];
   content += inData[6];
   //0 - Debugger                //Example: 0
   //81 - Set position A             //Example: 81
   //82 - A end of movement command       //Example: 82
   //99 - Flow command
   //0 - Debugger
   if (inData[0] == '0') {
    Serial.print("Debugging disabled");
   }
   //13 - StepperA
   if (header == "14") {
    if (stepperA.distanceToGo() == 0)  {
     //gotoPos = concat(inData[2],inData[3],inData[4],inData[5]);
     gotoPos += inData[2];
     gotoPos += inData[3];
     gotoPos += inData[4];
     gotoPos += inData[5];
     gotoPos += inData[6];
     Serial.print("Spinning A: ");
     Serial.println((long)gotoPos.toInt());
     stepperA.moveTo((long)gotoPos.toInt());
    }
   }
   //71 - Hopper
   if (header == "71") {
    hopperControl = content.toInt(); hopperServo.write(hopperControl);
    Serial.println("0#71##");
   }
   //72 - Hopper Tube sensor
   if (header == "72") {
    Serial.print("0#72##"); Serial.println(hopperTubeSensor);
   }
   //73 - Hopper Color sensor
   if (header == "73") {
    tcs.getRawData(&red, &green, &blue, &clearc);
    //        colorTemp = tcs.calculateColorTemperature(r, g, b);
    //        lux = tcs.calculateLux(r, g, b);
    colorTemp = 123;
    lux = 222;
    uint32_t sum = clearc;
    float r, g, b;
    r = red; r /= sum;
    g = green; g /= sum;
    b = blue; b /= sum;
    r *= 256; g *= 256; b *= 256;
    Serial.print("0#73##"); Serial.print((int)r, HEX); Serial.print((int)g, HEX); Serial.println((int)b, HEX);
    r = 0;
    g = 0;
    b = 0;
   }
   //74 - Hopper Color sensor with feedback
   if (header == "74") {
    tcs.getRawData(&red, &green, &blue, &clearc);
    //        colorTemp = tcs.calculateColorTemperature(r, g, b);
    //        lux = tcs.calculateLux(r, g, b);
    colorTemp = 123;
    lux = 222;
    uint32_t sum = clearc;
    float r, g, b;
    r = red; r /= sum;
    g = green; g /= sum;
    b = blue; b /= sum;
    r *= 256; g *= 256; b *= 256;
    //        Serial.print("DEBUG: ");Serial.print(red);Serial.print(" - "); Serial.print(green); Serial.print(" - "); Serial.print(blue);Serial.print(" - ");Serial.println(clearc);
    //        Serial.print("DEBUG: ");Serial.print(r);Serial.print(" - "); Serial.print(g); Serial.print(" - "); Serial.print(b);Serial.print(" - ");Serial.println(sum);
    Serial.print("0#74##"); Serial.print((int)r, HEX); Serial.print((int)g, HEX); Serial.println((int)b, HEX);
    //Serial.print("0#99##"); Serial.println("10"); //Update Flow
    r = 0;
    g = 0;
    b = 0;
   }
   //75 - Hopper Color sensor LED OFF
   if (header == "79") {
   }
   //80 - Pause Process
   if (header == "80") {
    Serial.print("0#80##"); if (pauseProcess == 0) {
     pauseProcess = 1;
    } else {
     pauseProcess = 0;
    }
   }
   //Move absolute
   if (header == "81") {
    if (stepperA.distanceToGo() == 0)  {
     //gotoPos = concat(inData[2],inData[3],inData[4],inData[5]);
     gotoPos += inData[2];
     gotoPos += inData[3];
     gotoPos += inData[4];
     gotoPos += inData[5];
     gotoPos += inData[6];
     stepperA.moveTo((long)gotoPos.toInt());
     Serial.println("0#82##");
    }
   }
   //Move relative
   if (header == "85") {
    if (stepperA.distanceToGo() == 0)  {
     //gotoPos = concat(inData[2],inData[3],inData[4],inData[5]);
     gotoPos += inData[2];
     gotoPos += inData[3];
     gotoPos += inData[4];
     gotoPos += inData[5];
     gotoPos += inData[6];
     stepperA.move((long)gotoPos.toInt());
     Serial.println("0#85##");
    }
   }
   //Move relative
   if (header == "86") {
    if (stepperA.distanceToGo() == 0)  {
     //gotoPos = concat(inData[2],inData[3],inData[4],inData[5]);
     gotoPos += inData[2];
     gotoPos += inData[3];
     gotoPos += inData[4];
     gotoPos += inData[5];
     gotoPos += inData[6];
     stepperA.move((long)gotoPos.toInt());
     Serial.println("0#86##");
    }
   }
   //Clean buffers
   header = "";
   content = "";
   gotoPos = "";
   inData = "";
   red = 0;
   green = 0;
   blue = 0;
   clearc = 0;
   colorTemp = 0;
   lux = 0;
  }
 }
}
void Pause() {
 while (pauseProcess > 0) {
  if (Serial.available() > 0) {
   readcommand();
  }
 }
}