Datasheet

The TX pin is the output
from
the module and is 3.3V logic.
The RX pin is the input
into
the module and is 5V compliant (there is a level shifter on this pin)
These are connected through to the CP2104 USB-to-Serial converter so they should
not
be connected to or used
unless you're super sure you want to because you will also be getting the USB traffic on these!
I2C & SPI pins
You can use the ESP8266 to control I2C and SPI devices, sensors, outputs, etc. While this is done by 'bitbanging', it
works quite well and the ESP8266 is fast enough to match 'Arduino level' speeds.
In theory you can use
any
pins for I2C and SPI but to make it easier for people using existing Arduino code, libraries,
sketches we set up the following:
I2C SDA = GPIO #4 (default)
I2C SCL = GPIO #5 (default)
If you want, you can connect to I2C devices using other 2 pins in the Arduino IDE, by calling Wire.pins(sda, scl)
before any other Wire code is called (so, do this at the begining of setup() for example
Likewise, you can use SPI on any pins but if you end up using 'hardware SPI' you will want to use the following:
SPI SCK = GPIO #14 (default)
SPI MOSI = GPIO #13 (default)
SPI MISO = GPIO #12 (default)
GPIO pins
© Adafruit Industries https://learn.adafruit.com/adafruit-feather-huzzah-esp8266 Page 10 of 43