I’m working on an STM32 Nucleo board with a couple of I2C sensors. Most of the time it behaves as I would expect, but from time to time, the bus freezes up and the device refuses to respond until I give it a reset. I have already tried the pull-up resistors and reduced the clock speed but it was not much good. Are there any systematic means to debug this? I usually begin by using the logic analyzer or do there have to be other common issues that I should consider first?