You're making this sound vastly more complex than it needs to be.
There is nothing complex to store look up table in MPU flash program memory on AVR ATTiny85:
unsigned char rgbtab[256][3] PROGMEM =
{
{0,0,0}, // OFF
{255,0,0}, // Red
{0,255,0}, // Green
{0,0,255}, // Blue
..
// What ever RGb color you like.
..
{255,255,255} // White
}; // RGB table
Then start ADC measurement and mean time find indexed look up table based eg. moving average of read ADC values:
R= pgm_read_byte( &rgbtab[idx][0] );
G= pgm_read_byte( &rgbtab[idx][1] );
B= pgm_read_byte( &rgbtab[idx][2] );
Few colors can be hardcoded, but it can be done easy in a way shown above.
One can change this RGB table without recompiling MPu software-just by overwriting byte code and programming with custom RGB table...
This is like "Hello MPU World !!!" simply C code
