 // When we setup the NeoPixel library, we tell it how many pixels, and which pin to use to send signals.
 // Note that for older NeoPixel strips you might need to change the third parameter--see the strandtest
 // example for more information on possible values.
-Adafruit_NeoPixel pixels = Adafruit_NeoPixel(NUMPIXELS, PIN, NEO_GRB + NEO_KHZ800);
 
-HSVColori myColor(100,255,100); // h,s,v
+Adafruit_NeoPixel pixels[] = {
+  Adafruit_NeoPixel(NUMPIXELS, PIN_BASE + 0, NEO_GRB + NEO_KHZ800),
+  Adafruit_NeoPixel(NUMPIXELS, PIN_BASE + 1, NEO_GRB + NEO_KHZ800),
+  Adafruit_NeoPixel(NUMPIXELS, PIN_BASE + 2, NEO_GRB + NEO_KHZ800),
+  Adafruit_NeoPixel(NUMPIXELS, PIN_BASE + 3, NEO_GRB + NEO_KHZ800)
+};
+
+HSVColori myColor(100, 255, 100); // h,s,v
 
 
 CljComms comms;
 
 //
 // I expect 'L 1' or 'L 0'
-// 
+//
 
 void do_LED(int n, byte *args) {
   if (n >= 1) {
-    
+
     byte state = args[0]; // 0-255
 
     if (state == 1) {
       digitalWrite(LED, HIGH);
-    } 
+    }
     else {
       digitalWrite(LED, LOW);
     }

#define LED 13

// Which pin on the Arduino is connected to the NeoPixels?
#define PIN            8

// How many NeoPixels are attached to the Arduino?
#define NUMPIXELS      16

}


void do_On(int n, byte *args)
{
  byte response[1];
  response[0] =  '0'; // assume failure

  if (n >= 1)
  {
