I have used with partial success I2C with the ESP8266. When it works, it works well, with many devices on the bus. I've examined the signals on a 'scope to assure Vlo, Vhi, Tr, and Tf.

However, often it works not at all. No I2C devices (even if there is only one connected) are detected. This condition is determined by some unknown factor, and it stays in this condition for some time (days?) before it starts working again. Power cycle, reset-by-button, and reset-by-reflashing do not restore operation until it works again.

This has occurred with at least three ESP8266 modules from two different manufacturers with different pinouts. It affects all connected I2C devices. They are all slaves to the ESP8266.

What should I try next?

  • next time it fails, load and run a minimal sketch that uses I2C
    – jsotola
    Jun 4 '19 at 1:25

The signals had looked good, but I did not examine them closely enough. When I removed extra pullup resistors I had added on SCL and SDA, I2C worked.

  • It's OK to accept your own answer as the solution to the problem.
    – VE7JRO
    Nov 2 '19 at 17:38

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.