Een Oled display (SSD1306), maar ook een 4x7 segment LED (TM1637) heeft een vast i2c adres en een eigen protocol.
Wanneer we zo'n display samen met wat MCP23017's op dezelfde i2c bus willen hebben, kan het handig zijn dat het protocol voor alle devices gelijk is en het display ook een echt adres heeft.
De AT85 processor is de kleinste telg van de Arduino familie. Hij kan met tussenkomst van een groter broertje (UNO of NANO) gemakkelijk geprogrameerde worden... (https://home.hccnet.nl/th.m.hupkens/Arduino/ATTiny.html)
De AT85 heeft 5 bruikbare io pinnen, dus i2c IN als slave en i2c UIT als master gaat prima. Volgens het protocol van de MCP (adres, register, data) kan de AT85 van data worden voorzien en het verzenden naar het display volgens diens eigen protocol. (pixels of getallen)
Er blijft zelfs nog een io pin vrij waarmee een aantal (!) drukknoppen aangesloten kunnen worden (via een analoge ladder) om via de zelfde i2c bus weer gepold te worden door de hoofd processor.
Mocht er wat meer afstand nodig zijn tussen de diverse onderdelen (bv. een Gitaar Tooltjes selector naar Relais box) dan kunnen de pull-up weerstanden van de hoofd i2c bus verlaagd worden naar 470E. Zo is een tussen-kabel van 2 meter en meer haalbaar.