     logLed = logPeak(averageValue);  //log-scale into range for the display
     
     peakAverage = peakAverage + logLed;  //accumulate the peaks across all channels
-  
+
+    uint32_t color = Wheel(currentWheelPos);
+    uint32_t bgColor = colors[7];
     if (goingUp) {
-      for (int i=0; i<logLed-1; i++) {
+      for (int i=0; i<logLed; i++) {
         lightArray += "[255, 255, 0],";
+        strip.setPixelColor(currentLed, color);
+        currentLed++;
       }
-      for (int i=0; i<8-logLed; i++) {
-        lightArray += "[0,0,0],";
+      for (int i=0; i<7-logLed; i++) {
+        lightArray += "[255,255,255],";
+        strip.setPixelColor(currentLed, bgColor);
+        currentLed++;
       }
     } else {
-      for (int i=0; i<8-logLed; i++) {
-        lightArray += "[0,0,0],";
+      for (int i=0; i<7-logLed; i++) {
+        lightArray += "[255,255,255],";
+        strip.setPixelColor(currentLed, bgColor);
+        currentLed++;
       } 
-      for (int i=0; i<logLed-1; i++) {
+      for (int i=0; i<logLed; i++) {
         lightArray += "[255, 255, 0],";
+        strip.setPixelColor(currentLed, color);
+        currentLed++;
       }
     }
     goingUp = !goingUp;
+    currentWheelPos += 36;
+    if (currentWheelPos > 255) {
+      currentWheelPos = 0;
+    }
   }
   
   peakAverage = peakAverage / 8;   //average the peaks

    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

//  }

  lightArray += "[0,0,0]]";
//  Serial.println(lightArray);
  wheelPos++;
  if (wheelPos > 255) {
    wheelPos = 0;
  }
  strip.show();
}


