Skip to content
microcontrollers / esp8266.md

ESP8266 NodeMCU V2

The legacy WiFi microcontroller — 80 MHz Tensilica L106, 11 usable GPIO, 2.4 GHz WiFi only. Still the cheapest way to put something on the network.

In stock Espressif 1 files · 1.2 MB

Specs

Spec Value
SoC ESP8266 (Tensilica L106, 80 MHz)
Flash 4 MB
SRAM 80 KB
WiFi 802.11 b/g/n (2.4 GHz, station + AP)
GPIO 11 usable (D0–D10 NodeMCU labels)
ADC 1 × 10-bit (A0, 0–1 V range!)
Operating voltage 3.3 V (5 V tolerant only on USB)
USB-serial CP2102 or CH340 (V2 typically CP2102)

NodeMCU pin map (Lua label → GPIO)

NodeMCU GPIO Notes
D0 16 Wake from deep sleep; no interrupt/PWM
D1 5 I²C SCL (default)
D2 4 I²C SDA (default)
D3 0 Flash button; pull HIGH to boot
D4 2 Onboard blue LED (active LOW); pull HIGH at boot
D5 14 SPI SCK
D6 12 SPI MISO
D7 13 SPI MOSI
D8 15 SPI CS; pull LOW at boot
D9 (RX) 3 UART RX
D10 (TX) 1 UART TX
A0 10-bit ADC, max 1.0 V (board divides 0–3.3 V)

Wiring example — connect to WiFi

#include <ESP8266WiFi.h>

const char* SSID = "your-ssid";
const char* PASS = "your-password";

void setup() {
  Serial.begin(115200);
  WiFi.begin(SSID, PASS);
  while (WiFi.status() != WL_CONNECTED) { delay(250); Serial.print('.'); }
  Serial.println(); Serial.print("IP: "); Serial.println(WiFi.localIP());
}
void loop() {}

Arduino IDE board: NodeMCU 1.0 (ESP-12E Module).

Schematic

Open NodeMCU schematic on GitHub

NodeMCU is fully open-hardware — Eagle, schematic PDF, and BOM all on GitHub.

Last updated: 2026-05-13 · Source on GitHub