SparkFun Forums 

Where electronics enthusiasts find answers.

Can't find the right category for the product you want to post a topic about? Consider posting it here in the miscellaneous forums.
Im trying to set up a long i2c bus with 6 stm32 acting as slaves and 1stm32 acting as a master.
All of them connected to a differential i2c bus using Sparkfun´s PCA9615 board ... okup-guide

The master is asking for data from each slave, it works perfectly untill i connect 4 devices and everything goes silent.

I was expecting too much deformation or noise in the i2c signal but when i check the i2c signal received by the last slave6 i get this beautiful perfect signal.
On top the i2c communication failing with 6 slaves connected
On the bottom the i2c communication working good with 3 slaves connected

What is happening?
They have different addresses
If you're using the Roger Clark based arduino core then make sure it's up to date. I recently had some multiple processor issues with I2C which fixed this. My issue caused the STM32's to freeze up.

Also if you're using the onReceive function, I don't believe the STM32 code has this implemented. Not 100% sure about this though. I know the older vesion of the core I was using doesn't support it.