Nodemcu ESP8266(ESP12-E/F)

NodeMCU ESP8266 features a 32-bit Tensilica L106 processor and onboard Wi-Fi based on ESP-12E/F, exposing multiple GPIO pins for interfacing. The board operates at 3.3V logic levels and supports interfaces such as GPIO, ADC, SPI, I2C (software), UART, and PWM.

Pinout

ESP8266 Nodmcu Pinout

*Img source

NodeMCU LabelGPIOCommon Function
D0GPIO16Deep sleep wake (no PWM/interrupt)
D1GPIO5I²C SCL
D2GPIO4I²C SDA
D3GPIO0Boot config pin
D4GPIO2Built-in LED (often)
D5GPIO14SPI SCLK
D6GPIO12SPI MISO
D7GPIO13SPI MOSI
D8GPIO15SPI CS / boot config
RXGPIO3UART RX
TXGPIO1UART TX
A0ADC0Analog input

Specifications

FeatureDetails
SoCEspressif ESP8266EX
CPUTensilica L106 @ 80–160 MHz
Wi-Fi2.4 GHz 802.11 b/g/n
FlashTypically 4MB
GPIO pins~11 usable (Total: 17)
ADC1 channel (10-bit)
UART2 (1 full + 1 TX-only)
SPISupported
Logic level3.3V
Power input5V via Micro-USB or VIN

Compatibility

  • 3.3V logic level
  • Built-in Wi-Fi
  • Breadboard friendly
  • Micro-USB powered
  • Limited ADC (1 channel)
  • Boot-sensitive pins

Usage notes

  • GPIO operate at 3.3V only and are not 5V tolerant
  • Some pins affect boot mode:
    • GPIO0, GPIO2, GPIO15 must be in correct states during boot
  • GPIO16 does not support interrupts or PWM
  • ADC input range is 0–1V on the chip (NodeMCU boards often include divider to allow 3.3V)
  • Limited number of GPIO compared to ESP32
  • Wi-Fi activity can affect timing-sensitive tasks

Helpful resources

  1. Tutorial videos: Mini course

2. Datasheet(ESP-12E)

3. Projects based on ESP8266(video)

Leave a Comment