     Serial.println(serial_in);
     Serial.flush();
     if(serial_in.startsWith("iris")){
-      Serial.println("iris cmd found");
       a2_value = serial_in.substring(4).toInt();
     }
     else if(serial_in.startsWith("joyx")){
-      Serial.println("joyx cmd found");
       a0_value = serial_in.substring(4).toInt();
     }
     else if(serial_in.startsWith("joyy")){
-      Serial.println("joyy cmd found");
       a1_value = serial_in.substring(4).toInt();
     }
     else if(serial_in.startsWith("auto_eyes")){
-      Serial.println("auto_eyes");
       auto_eyes = true;
     }
     else if(serial_in.startsWith("joy_eyes")){
-      Serial.println("joy_eyes");
       auto_eyes = false;
+    }
+    else if(serial_in.startsWith("auto_blink")){
+      auto_blink=true;
+      force_blink=false;
+    }
+    else if(serial_in.startsWith("blinkR")){
+      blinkR = true;
+      auto_blink=false;
+    }
+    else if(serial_in.startsWith("blinkL")){
+      blinkL = true;
+      auto_blink=false;
+    }
+    else if(serial_in.startsWith("blink") && !blinkL && !blinkR){
+      force_blink=true;
+      auto_blink=false;
     }
     else{
       Serial.println("no cmd found");

  oldIris = newIris;

#endif // IRIS_PIN
}




  // Blinking

//#ifdef AUTOBLINK
if (auto_blink){
  // Similar to the autonomous eye movement above -- blink start times
  // and durations are random (within ranges).
  if((t - timeOfLastBlink) >= timeToNextBlink) { // Start new blink?
