Hello,
Could you develop the advantage of your solution compared with the bitlash one ?
Bitlash runs on 168 and allows one to dial with serial term as easily as :
i=3; while i<=8: pinMode(i,1); digitalWrite(i,1); i++
It allows the macro too.
Regards