I've a project where I require galvanic isolation between a master which is likely to be an Arduino UNO/'328, and 10 slaves which will be either ATTiny13s or ATTiny85s. It's for a mains AC dimming circuit; the master tells a slave a particular percentage brightness, and the slave performs reverse phase-angle control on the AC to dim the LEDs. The master will be connected to a RS485 network for remote control, and will relay this to the slaves, but it will also have local buttons/pots to control the dimmers; which is the reason I need the master to be isolated from the slaves.
I would like bidirectional communication so the master can auto-enumerate the slaves, and so if any slave experiences over-current the master can "know" and report that over the RS485 network. The slaves could also report current power usage to the master too.
I considered using TTL serial with opto/digital isolators, but this can be unreliable on ATTinys due to clock drift etc, so I am considering I2C with an ATTiny85 and this isolator. I have discounted SPI as its 3 pin plus CS, so I'd need a shift register or 10 free pins on the master (and 10 opto-isolators!).
If anyone has any other suggestions or if I've made a fatal error please let me know!