SPI is so much more reliable with just two extra pins, I usually don't even consider I2C anymore.
SPI is so much more reliable with just two extra pins, I usually don't even consider I2C anymore.
Slave devices that rely on clock stretching are a total pain in the ass, as well. Tend not to play nice with other normal devices. https://www.i2c-bus.org/clock-stretching/
The main thing I use I2C for in recent designs is multiple channels of power monitoring, e.g. using the INA226. I agree that SPI is preferable for sensors that support it.
I mean I guess we could use an i2c GPIO expander to get extra lines. I bet that would be "fun" to get right.
SPI is usually very stable. Here it's being used to generate VGA signals: https://www.artekit.eu/vga-output-using-a-36-pin-stm32/