Differential I2C Bus Extender (PCA9615) is making me cry

Have questions about a SparkFun product or board? This is the place to be.

Moderator: phalanx

Post Reply
Posts: 1
Joined: Mon Feb 11, 2019 4:22 pm

Differential I2C Bus Extender (PCA9615) is making me cry

Post by javiernicola » Mon Feb 11, 2019 4:46 pm

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
https://learn.sparkfun.com/tutorials/qw ... 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

Posts: 5
Joined: Mon Jan 21, 2019 3:47 pm

Re: Differential I2C Bus Extender (PCA9615) is making me cry

Post by amongstmyselves » Tue Feb 12, 2019 5:18 pm

If you're using the Roger Clark based arduino core https://github.com/rogerclarkmelbourne/Arduino_STM32 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.


Post Reply