Issued using substring(), indexOf() while using Serial

Get rid of the String class and start using C strings instead. You can find a list of the string processing functions here.

This test program gives an idea of how to use them.

char command[20];

void setup(){
  Serial.begin(38400);
  Serial.println("Hi");
}

void loop(){
  char *ptr;
  int charsRead;
  if(Serial.available()>0){
                                          // Test with "Update color"
    charsRead = Serial.readBytesUntil('\n', command, sizeof(command) - 1);
    command[charsRead] = NULL;
    ptr = strchr(command, 'l');           // that's an el, not a one
    if (ptr) 
      Serial.println(ptr);
    ptr = strstr(command, "Update");
    if(ptr)
      Serial.println(ptr);
    ptr = strstr(command, "color");
    if(ptr){
        Serial.println(ptr);
    }
  }
  command[0] = NULL;
}