Ach was ... DMX ist einfach, geradezu primitiv
und für RGB brauchst Du 3 DMX und 3 PWM Kanäle,
es gibt AVR die für einen Timer 3 Output Compare Ausgänge haben
in Hardware, da brauchst Du dann nur noch in die entsprechenden ORR-Register
Deinen Farbwert rein zu schreiben.
Auch die Verarbeitung von DMX ist easy, nur keine Angst.
Ist einfach UART, 8n1 oder 8n2 ... weiss ich jetzt grad nicht sicher
mit nem RS485-Baustein davor auf 250kBaud.
Nimmste einfach das URXC-Interrupt und den Framing Error Flag
der UART, wenn das Flag gesetzt ist bedeutet das es ist ein nichterkennbares
Zeichen an der UART angekommen, das ist dann der Break der den
Anfang markiert,
dann nur noch im URXC-Interrupt nen Zähler hochzählen lassen bei
jedem Zeichenempfang, das sind dann die einzelnen DMX-Kanäle,
bis Deine gewünschte Adresse erreicht ist und die nachfolgenden
3 Bytes schreibst Du ins jeweilige OCR-Register deiner RGB-PWM
und gut ist.

30 Zeilen Code und die Sache ist erschlagen.
hab mir vor Jahren so 4-kanalige Dimmer für Straler gebastelt, keine große
Sache.