 int max_value;
 int sum_fft;
 float frequency;  // only used for debugging
+byte low_byte;
 
 void setup() {
     if (DEBUG) {

        set_LED_count_mode = true;
    }
    
    //TIMSK0 = 0;           // turn off timer0 for lower jitter
    ADCSRA = 0xe5;        // set the adc to free running mode 
    ADMUX = 0x40;         // use adc0
    DIDR0 = 0x01;         // turn off the digital input for adc0
    
    // initial color palette
    for (int i = 0; i < 24; i++) {

         * SAMPLE_RATE / (SKIP_MULT / 2)
         */
        for (int j = 0; j < SKIP_MULT; j++) {
            while(!(ADCSRA & B00010000)); // wait for adc to be ready
            ADCSRA = B11110101;           // restart adc
        }

        low_byte = ADCL;           // fetch ADC data (low byte)
        int k = (ADCH << 8) | low_byte;  // combine low/high bytes to form into an int
        k -= 0x0200;               // form into a signed int
        k <<= 6;                   // form into a 16b signed int
        fft_input[i] = k;          // put real data into even bins
