Como ves, el código de base es muy sencillo. Tan sólo habría que cambiar la interpretación que queremos hacer del byte recibido. En el código que te he puesto yo, en un solo byte se encienden/apagan los ocho relés. Es decir, si envío 10101010, encenderá los relés 1,3,5 y 7 y apagará los 0,2,4 y 6 (como ves los cuento de 0 a 7 y no de 1 a 8). El método que propones tú me parece un poco lioso, aunque también se puede implementar. ¿Es como trabaja la placa "original", o es como lo has ideado tú?