I am building a system that uses expansion boards that communicate with the mainboard MCU over I2C.
I am using an Arduino Nano to test out a few ideas and have come across a problem.
The Nano only has one I2C port. That's fine for my expansion I2C comms, but I also want to use a cheap 0.96 OLED display on each expansion board. These communicate using I2C.
So my issue is that as soon as the expansion is put on the I2C bus, the signals for the OLED at address 0x3C (can't change, and it will be the same on each expansion card) are also going to the bus and getting picked up by the screens on the other expansion cards.
It occoured to me that a filter before the I2C heads to the bus to stop any I2C message with the adress 0x3C would solve my issue; this would keep any messages for the OLED on 0x3C within each expansion card and never make it to the coms bus.
A google search has not yielded any results. A Mux or switch would be too much for my needs here. Any ideas? Is there a magic IC I can program to reject any messages with a set address, i.e. 0x3C?