       reset();
       break;
     } 
+    if (c == RED) {
+      if (readString.length() > 0) {
+        r = stringToInt(readString);
+        readString="";
+      }
+      break;
+    }
+    if (c == GREEN) {
+      if (readString.length() > 0) {
+        g = stringToInt(readString);
+        readString="";
+      }
+      break;
+    }
+    if (c == BLUE) {
+      if (readString.length() > 0) {
+        b = stringToInt(readString);
+        readString="";
+      }
+      break;
+    } 
     if (c == END) {
       break;
     }  

  }
  
  if (readString.length() > 0) {
    char carray[readString.length() + 1];
    readString.toCharArray(carray, sizeof(carray));
    int ledIndex = atoi(carray); 
    if (ledIndex < LEDS_COUNT) {
      matrix[ledIndex] = true;
    }

  
  if (c == END) {
    // logMatrix(); //Useful for debugging
    colorOn = pixels.Color(r, g, b);
    updateLEDs();
    pixels.show();
    c = ' ';
