Datasheet

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
This breakout has 9 GPIO: #0, #2, #4, #5, #12, #13, #14, #15, #16 arranged at the top edge of the Feather PCB
All GPIO are 3.3V logic level in and out, and are not 5V compatible. Read the full spec sheet to learn more about the
GPIO pin limits, but be aware the maximum current drawn per pin is 12mA.
These pins are general purpose and can be used for any sort of input or output. Most also have the ability to turn on an
internal pullup. Many have
special
functionality:
GPIO #0, which does not have an internal pullup, and is also connected a red LED. This pin is used by the ESP8266 to
determine when to boot into the bootloader. If the pin is held low during power-up it will start bootloading! That said,
you can always use it as an output, and blink the red LED.
GPIO #2, is also used to detect boot-mode. It also is connected to the blue LED that is near the WiFi antenna. It has a
pullup resistor connected to it, and you can use it as any output (like #0) and blink the blue LED.
GPIO #15, is also used to detect boot-mode. It has a pulldown resistor connected to it, make sure this pin isn't pulled
high on startup. You can always just use it as an output
GPIO #16 can be used to wake up out of deep-sleep mode, you'll need to connect it to the RESET pin
Also note that GPIO #12/13/14 are the same as the SCK/MOSI/MISO 'SPI' pins!
Analog Pins
There is also a single analog input pin called A. This pin has a ~1.0V maximum voltage, so if you have an analog
© Adafruit Industries https://learn.adafruit.com/adafruit-feather-huzzah-esp8266 Page 11 of 42