         if (max_value < fft_lin_out[i]) {
             // peak index determines frequency
             peak_index = i;
-            // max value was used to determine brightness, now using sum_fft
+            // max value used as an additional check to turn the lights off
             max_value = fft_lin_out[i];
         }
         if (i > 0) {
-            /* 
-             * alternate way to control brightness
-             * by summng all bins except the first bin, i.e. 
-             * the total power in the sample. However, I don't
-             * have a handle on what the maximum sum would be.
-             */
+            // control brightness by summing all bins except the first bin, 
+            // i.e. the total power in the sample
             sum_fft += fft_lin_out[i];
         }
     }
 
-    // Note, using approximate max for scaling brightness as:
-    // 1.5 * max bin size minus our MIN_FFT_SUM lower cutoff
-    brightness = round(3.5 * MAX_BRIGHTNESS * max_value / MAX_FFT_BIN);
-    if (brightness > 127) {
+    // Use sum_fft to determine brightness
+    brightness = round(1.0 * max_brightness * sum_fft / MAX_FFT_BIN);
+    
+    // safety net in case our calculated brightness was out of range
+    if (brightness > 127) {  // too much
         brightness = 127;
-    } else if (brightness < 0) {
+    } else if (brightness < 0) {  // too little
         brightness = 0;
     }
     
-    // Set frequency to zero if signal is weak or if the 1st peak (0Hz) is dominant
-    if (max_value < 10 || sum_fft < MIN_FFT_SUM) {
-        // signal too weak or we got the 1st peak (0Hz), no lights
+    // Reset peak_index to zero if signal is weak
+    if (max_value < MIN_PEAK_VALUE || sum_fft < MIN_FFT_SUM) {
         peak_index = 0;        
-    }
-    if (peak_index == 0) {
-        peak_index = -1;
     }
     
     setColor(peak_index, brightness);
             
     if (DEBUG) {
-        frequency = (peak_index * (SAMPLE_RATE / SKIP_MULT)) / (FFT_N / 4);
+        frequency = peak_index * ((1.0 * SAMPLE_RATE / (SKIP_MULT / 2)) / (FFT_N / 2));
         
         Serial.print("FFT sum: ");
         Serial.print(sum_fft);

        Serial.print(frequency);
        Serial.print("\tBrightness: ");
        Serial.println(brightness);
        
    }
}



         * frequencies.
         * 
         * The effective sample rate would then be:
         * SAMPLE_RATE / (SKIP_MULT / 2)
         */
        for (int j = 0; j < SKIP_MULT; j++) {
            while(!(ADCSRA & 0x10)); // wait for adc to be ready
