are you saying, if you change the crystal from 16MHz to 20MHz you can use it as long as it's configured properly?  why do you need a 20MHz crystal?

that's what i was thinking but the timer interrupts look more promising. the only cause for pause i see is whether 128 levels of dimming may be too crude for smooth dimming but i like how easily the code scales for multiple channels