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

  Firmata.attach(START_SYSEX, sysexCallback);
  Firmata.attach(SYSTEM_RESET, systemResetCallback);

  numActiveSonars = 0 ;
  pingLoopCounter = 0 ;
  for (uint8_t i = 1; i < MAX_SONARS; i++) // Set the starting time for each sensor.
  {
    sonarPinNumbers[i] = IGNORE ;
    if ( sonars[i] ) {
      sonars[i] = NULL ;
    }
  }

  /* calculate number of loops per ping */
  numLoops = INTER_PING_INTERVAL / samplingInterval ;

  Firmata.begin(57600);
  systemResetCallback();  // reset to default config

          samplingInterval = MINIMUM_SAMPLING_INTERVAL;
        }
        /* calculate number of loops per ping */
        numLoops = INTER_PING_INTERVAL / samplingInterval;
        //numLoops = 1;
      }
      else {
        //Firmata.sendString("Not enough data");
