   Serial.setTimeout(SERIAL_CYCLE_LENGTH_MS/7); //should be substantially less than serialThread's execution window
   Serial.begin(BAUDRATE);
   quickCycle(150); // power-up notification
-  gradientPulseSetup(BLUE,OFF,2);
+  gradientPulseSetup(RED,OFF,1.5);
   gradientLoop = true;
   gradientReversingMode = true;
+  Wire.begin(1); // slave device, address 1
+  Wire.onReceive(processI2CIn); //I guess this'll run between loop()s when we get data; hopefully it won't actually interrupt anything...
 }
 
 void loop() {  

  flashThread.check();
  timeoutThread.check();
}

void processSerialIn() {
  Serial.readBytesUntil('\n',inputBuffer,SERIAL_BUFFER_LENGTH);

//        evaluate memory gain from using #define for some constants

#include <stdarg.h>
#include <Wire.h>

// -------------  LED SETUP -------------
const boolean GROVE_DRIVER = false; // Grove LED driver or DFRobot shield?
