Showing results for 
Search instead for 
Did you mean: 

STM32F407VG, I2C Locked up and can't release the SDA line

Associate II


I have an STM32F407 (Master) communicating with an AHT10 device (Slave) over I2C as one to one. Till this part everything works just fine, the problem start when i add a new device (Slave) in the same bus (eg. MPU6050) after a while the I2C lines locked up (SCL High and SDA Low). As shown in the picture below.




Once I power off only the AHT10 Device the lines goes back normal, and if I put it back in the bus, after some times (the period of time it's not synchronised) the problem will appear again. As shown below.




At first i thought that the problem within the AHT10 Device and As I mentioned before in one to one connectivity he works just fine. Even tho, the master his the one that he should release the line. Aside from that, I noticed that the I2C not sending the 9th clock pulse to release the I2C lines. As shown below.




So, I checked the I2C_ISR register to get the status of the I2C peripheral and I found that the ARLO Bit = 1 (Arbitration Lost Bit), so I tried to reset the I2C through the SWRST Bit (Software Reset) in the I2C_CR1 register. After, the I2C is initialized and the register statue returned to the ideal state, but the problem remain the same.


PS: As I noticed in the previous problems within the community, this is a frequent problem.


Waiting for support, Thanks in advance,


Associate II

Hi waclawek.jan


> what if AHT10 considers it as an address?

- Maybe that's the case, I didn't' noticed till now but I will follow each last msg or add before the SDA goes low.


> show us a zoomed section of the end of communication

- Okay I will try.


> Only a single AHT10 can be connected to the I2C bus

- I have already read that section but I thought they meant only one AHT10 device in the bus, because u can't change the address of the others. Not that we can't add another device even though it's not AHT10, but yeah maybe correct theory.


Thank you.

Associate II

And for the AHT10 Device, this is the English Version of the datasheet.