       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;
     }  

  for (int i=0; i<LEDS_COUNT; i++) {
    matrix[i] = false;
  }
}

void logMatrix() {

const int LEDS_SIDE = 12;
const char LED_SEPARATOR = ',';
const char START = '/';
const char RED = 'r';
const char GREEN = 'g';
const char BLUE = 'b';
const char END = '!';

Adafruit_NeoPixel pixels = Adafruit_NeoPixel(LEDS_COUNT, PIXELS_DATA_PIN, NEO_GRB + NEO_KHZ800);
uint32_t colorOn;
uint32_t colorOff = pixels.Color(0,0,0);

String readString;
char c;
boolean matrix[LEDS_COUNT];
int r = 0;
int g = 255;
int b = 255;

void setup() {
  pixels.begin();
