   delayMicroseconds(200);  //wait 200 microseconds
   digitalWrite(RESET, LOW);  // set the Reset line low 
   delayMicroseconds(200);  //wait 200 microsecond - chip now ready for strobing through the outputs
+  int currentLed = 0;
+  byte currentWheelPos = wheelPos;
 
   for (byte i = 0; i < 7; i++){   // cycle through the seven channels
     digitalWrite(STROBE, HIGH); // Strobe High to switch to the next analog channel

    digitalWrite(STROBE, LOW);  // set the Strobe line low for the next time
    delay(1);    // wait 1 milliseconds for the analog signal to stabilize
    averageValue = 0;    //reset average
    for (byte y = 0; y < SAMPLES; y++){  //sample analog channel
      spectrumValue = analogRead(AUDIO); // get the audio peak DC value for this spectrum
      spectrumValue = spectrumValue - OFFSET; // subtract DC offset that appears on the output

#include <Adafruit_NeoPixel.h>
#include <avr/power.h>

int  AUDIO = 0; // ADC channel connected to the DC output pin (3)
int  STROBE = 8; // digital pin connected to the Strobe line (4)
int  RESET = 7; // digital pin connected to the Reset Line (7)
int  SAMPLES = 16; // number of analog samples to take into the average
int  OFFSET = 37; // the DC offset seen on the output of the MSGEQ7 (300 to 600mV nominal)
int PIN = 6;
unsigned int output[8];  // LED output array
byte logLed;
byte wheelPos;
Adafruit_NeoPixel strip = Adafruit_NeoPixel(49, PIN, NEO_GRB + NEO_KHZ800);
uint32_t colors[8];

void setup()
{
  Serial.begin(115200);
