Robot Maker ToolkitPinouts › ESP8266 NodeMCU

ESP8266 NodeMCU pinout

Every ESP8266 NodeMCU pin with its capabilities (digital, PWM, ADC, I2C, SPI, UART) and the wiring gotchas that bite. The cheap WiFi board that made hobby IoT mainstream. 3.3 V logic (NOT 5 V tolerant), a single analog input, and several pins that must sit at the right level at boot. The silkscreen D-labels do NOT match the GPIO numbers you use in code.

ESP8266 @ 80/160 MHz, WiFi / 3.3 VLogic: 3.3 VFree in app
PinCapabilitiesWatch out
A0 (ADC0)Analog in
0-3.3 V on NodeMCU/Wemos (divider); 0-1.0 V on a bare ESP8266
D0 (GPIO16)DigitalWake from deep-sleep
No PWM / interrupt / I2C; no internal pull-up
D1 (GPIO5)DigitalPWMInterruptI2C SCL (default)
D2 (GPIO4)DigitalPWMInterruptI2C SDA (default)
D3 (GPIO0)DigitalPWMInterrupt
Strapping: must be HIGH at boot (FLASH button); has pull-up
D4 (GPIO2)DigitalPWMInterruptBuilt-in LED
Strapping: must be HIGH at boot; onboard LED is active-LOW
D5 (GPIO14)DigitalPWMInterruptSPI SCK
D6 (GPIO12)DigitalPWMInterruptSPI MISO
D7 (GPIO13)DigitalPWMInterruptSPI MOSI
D8 (GPIO15)DigitalPWMInterruptSPI CS
Strapping: must be LOW at boot; has pull-down
RX (GPIO3)DigitalUART RX
Used by USB serial
TX (GPIO1)DigitalUART TX
Used by USB serial; must be HIGH at boot
SD0-SD3/CLK/CMD (GPIO6-11)Reserved - flash
Connected to the flash chip; do not use
3V3Power out 3.3V
Vin / 5VPower in 5V
Feeds the onboard regulator; board logic is still 3.3 V
EN (CH_PD)Enable
Must be HIGH to run (pulled up)
RSTReset
GNDGround

ESP8266 NodeMCU gotchas & notes

Get this pinout — plus 55+ sensor wiring diagrams, shield maps and maker calculators — offline on your phone.

Get it onGoogle Play

Other board pinouts

Arduino UNO R3ESP32 DevKit (WROOM-32)Raspberry Pi PicoArduino UNO R4 WiFiArduino NanoArduino Nano ESP32Arduino Mega 2560Arduino Leonardo