There seems to be chatter going around about how the ESP8266 does not have I2c. So much so that there are implementations of bit-banged I2c out there.. here for example and this one is good for those with ESP-01 boards which only have 2 pins available – but beware that GPIO-0 is also used in hold-low mode on powerup for flashing the chips – and also the developer of this driver states that works needs to be done. I noted that it is NOT done under interrupts.
If you want to see the official line on i2c it is that it IS supported – here it is in the SDK documentation. http://www.esp8266.com/viewtopic.php?f=5&t=449 – available in both WORD and PDF versions… granted this is early documentation 0.9.1– there is later (around December 0.9.4) but as far as I am AWARE you have to sign an NDA to get the newer information – I may be wrong.. you could check with Espressif themselves.
According to the documentation you have full I2c master control (it would have been nice had it specified which pins to use!)
It would be nice if someone would submit a really trivial I2c example using the above, stating which pins needs to do what.
What I don’t understand is – when ESPRESSIF distribute the various SDKs there’s a directory in there called document that is always empty – you would think they’d take the opportunity to include the documents in there!!
Of interest if you have the pins available there is also a dual UART (ie 2 lots of serial lines) and PWM control of some of the pins.