This guide covers various approaches for dealing with issues that arise when I2C devices use clock stretching on a Raspberry Pi.
Keep in mind that clock stretching is a feature of I2C. It's not unique to Raspberry Pi's. The issue is simply how Pi's handle (or don't) I2C clock stretching.
Why Are Raspberry Pi's an Issue?
The same guide linked above discusses this. It's a known hardware issue with a lot of history. The articles referenced in that guide are linked again here for convenience:
- Raspberry Pi I2C clock-stretching bug - Written in August, 2013, this blog post is the most often cited and linked. It contains lots of technical details.
- RPI forums I2C clock stretching - Discussion circa 2012 about this issue. There are 70 posts to the thread!
- I2C Broadcom bug workaround - An old issue thread from 2013. There are 73 posts to the thread!
- I2C clock-stretching bug - A more recent issue thread specific to the Pi 4. The saga continues!
Text editor powered by tinymce.