I am attempting a project with many interchangeable modules (11+), some of which use both i2c and SPI devices (screens, drivers, sensors) on them. I want to connect all of them together into a central bus that doesn't require specific addresses, so SPI was my plan, but as some of the devices must also connect to their own client SPI devices, I can't figure out the best way to do this. Is there a way for an Arduino (specifically I am using ESP-32 [Node-32s] modules) to act as both a slave and master device?
I know I could technically use two and have them communicate to each other over i2c, but that seems like it should be unnecessary. I also thought about having the main master controller control all SPI devices, but it must be able to quickly react to inputs and timers, so this seems like a bad idea. Any recommendations?
Thanks!
[The project for anyone interested is a physical recreation of the game Keep Talking and Nobody Explodes, which requires 12 device slots and additional interchangeable widgets to all communicate and work together.]