Chat here about code rewrites, mods, etc... with respect to the github project https://github.com/esp8266/Arduino

Moderator: igrr

User avatar
By Julio Cesar Gouy
#73090 Hi, did you made your tests with the Adafruit ESP8266 as Slave? Do you know where can I find more information about the ESP8266 I2C Slave support and it's interoperability with the Arduino Nano, for example?

Thanks a lot!
User avatar
By bjoham
#73262 I used this board: https://www.adafruit.com/product/2471
(Adafruit HUZZAH ESP8266 Breakout, PRODUCT ID: 2471)

There are a lot of I2C documentation sources available on the internet: datasheets, tutorials, etc. Once the topic is familiar, I recommend the Atmega328 datasheet to get into the details.

With I2C being a standardized interface, my experience says that any interoperability issues has its cause in SW. Hence, testing and source reviewal is the only way to find out (either by you or someone else).

For the ESP8266 I2C slave support in particular, it is a SW-only implementation. Hence, any issue (on the ESP8266 side) is either a SW bug, a timing issue, or a combination of the two. Some timing issues are known and unsolvable(?) such as the interrupt latency resulting in the maximum communication speed being around 15kHz.

I have some additional boards that I plan to test. So far no luck in prioritizing it, however.

The board I have, have been running more or less continuously since put in action. Only once, I had to manually reset it. That time, the MQTT server had changed its IP address. Maybe that clogged up something and made the ESP8266 freeze. (I have yet to activate the WD to avoid anything like this in the future.)