Strange issue with FHT library for sound-reactive LED project
Thanks to @TonyStewart for suggesting that I just do a successive A2 read.

I modified the code by just repeating the A2 read.  b1 is the first read, and b2 is the 2nd read.

  while (!(ADCSRA &amp; 0x10)); // wait for adc to be ready
  ADCSRA = 0xf5; // restart adc 
  byte m = ADCL; // fetch adc data
  byte j = ADCH;
  int brightness = (j &lt;&lt; 8) | m; // form into an int

  Serial.print("b1: ");
  Serial.print(brightness);

  while (!(ADCSRA &amp; 0x10)); // wait for adc to be ready
  ADCSRA = 0xf5; // restart adc 
   m = ADCL; // fetch adc data
   j = ADCH;
   brightness = (j &lt;&lt; 8) | m; // form into an int

  Serial.print("   b2: ");
  Serial.println(brightness);


And the readout looks good.  B1 is now legible, but incorrect/low.  B2 looks accurate and scales all the way to 1024 as I wanted.


b1: 0   b2: 688
b1: 0   b2: 739
b1: 0   b2: 816
b1: 20   b2: 915
b1: 118   b2: 1016
b1: 152   b2: 1023
b1: 172   b2: 1023
b1: 165   b2: 1023
b1: 180   b2: 1023
b1: 188   b2: 1022
b1: 184   b2: 931
b1: 127   b2: 713
b1: 0   b2: 615
b1: 0   b2: 532
b1: 0   b2: 436
b1: 0   b2: 327
b1: 0   b2: 304
b1: 0   b2: 452


I'm still curious about the reasoning behind this...but I'm glad that there is a solution, and not one that is too painful.