       }
       break;
     case TONE:
-      pinConfig[pin] = TONE ;
-      break ;
+      pinConfig[pin] = TONE;
+      break;
     case SONAR:
-      pinConfig[pin] = SONAR ;
-      break ;
+      pinConfig[pin] = SONAR;
+      break;
     case STEPPER:
-      pinConfig[pin] = STEPPER ;
-      break ;
+      pinConfig[pin] = STEPPER;
+      break;
+    case PIXY:
+      pinConfig[pin] = PIXY;
+      break;
     default:
       Firmata.sendString("Unknown pin mode"); // TODO: put error msgs in EEPROM
-      break ;
+      break;
   }
   // TODO: save status to EEPROM here, if changed
 }

    servoPinMap[i] = 255;
  }
  // stop pinging
  numActiveSonars = 0 ;
  for (int i = 0; i < MAX_SONARS; i++) {
    sonarPinNumbers[i] = IGNORE ;
    if ( sonars[i] ) {
      sonars[i] = NULL ;
    }
  }
  numActiveSonars = 0 ;

  // by default, do not report any analog inputs
  analogInputsToReport = 0;

  // clear stepper pointer
  stepper = NULL ;

  detachedServoCount = 0;
  servoCount = 0;

  byte data;
  int slaveRegister;
  unsigned int delayTime;
  byte pin;// used for tone
  int frequency;
  int duration;

  switch (command) {
    case I2C_REQUEST:
