Skip to main content

ESP8266 Pinout

ESP8266 (ESP-12E / NodeMCU) · ESP-12E module / NodeMCU dev board

The ESP8266 exposes eleven usable GPIO. Several carry boot-strapping duties, so which pins are safe to use is the thing most people are actually looking up.

PinNameFunction
D0GPIO16Wake from deep sleep. No interrupt, no PWM.
D1GPIO5Safe. Commonly I²C SCL.
D2GPIO4Safe. Commonly I²C SDA.
D3GPIO0Boot-strap: must be HIGH at boot, LOW enters flash mode.
D4GPIO2Boot-strap: must be HIGH at boot. On-board LED.
D5GPIO14Safe. SPI SCLK.
D6GPIO12Safe. SPI MISO.
D7GPIO13Safe. SPI MOSI.
D8GPIO15Boot-strap: must be LOW at boot. SPI CS.
RXGPIO3UART receive — occupied while flashing.
TXGPIO1UART transmit — occupied while flashing.
A0ADC0Single 10-bit ADC, 0–1.0 V on the bare module.

Things that catch people out

  • Safe general-purpose pins: D1, D2, D5, D6, D7.
  • GPIO0, GPIO2 and GPIO15 decide boot mode. A pull-down on GPIO0 stops the chip booting.
  • NodeMCU boards divide A0 to 0–3.3 V; the bare ESP-12E does not.

Need this part on a board? PCBEditor generates the schematic and PCB from a prompt.

Open the editor →

Other pinouts