Только что собрал такую игрушку.
Мега8 + 6 транзисторов +RGB диод. Питание от "Кроны"
Был где-то в теме вопрос почему не до конца гаснут диоды.
У меня тоже такое было, когда в программе использовал ф-ю _delay. Потом проверил программу на симуляторе и оказалось что у меня не получалось сделать задержку меньше чем 1.5мкс. Когда перешел на аппаратный ШИМ, то все стало норм. (в общем то он для этого и предназначен

)
Про яркость:
Во первых, почитал даташит на диод и подобрал резисторы чтобы ток через светики был примерно одинаковый.
ШИМ пробовал задавать по логирифмическому закону, по экспоненте, но все это фигня!. Самый лучший вариант это линейное изменение скважности, потому что яркость свечения зависит от тока, а ток через светодиод зависит от ограничивающего резистора, а у него характеристика линейная.