Skip to main content

Board pinout

NodeMCU ESP8266 (ESP-12E) Pinout

The budget Wi-Fi board: one ADC, limited GPIO, 3.3V logic, perfect for simple connected gadgets. It runs at 3.3V logic with 11 usable GPIO pins. Every value below is verified against the pin map Banana Board uses to check real designs.

MCU
ESP8266
Logic
3.3V
GPIO
11
PWM
10
Analog
1
Ground pins
1

Interfaces

PWM pinsD1, D2, D3, D4, D5, D6, D7, D8, TX, RX
Analog inputsA0

Watch out for

Input-only: A0. These read signals but cannot drive an output and have no internal pull-up.

Strapping: D3, D4, D8. These set the boot mode at reset, so pulling them the wrong way can stop the board from booting.

3.3V logic: pins are not 5V tolerant, so level-shift or divide any 5V signal into an input.

Pins by capability

A quick map of which pins do what. Colours match the pin table below.

Power
VIN3V3
Ground
GND
PWM
D1D2D3D4D5D6D7D8TXRX
Analog / ADC
A0
Input-only
A0
Strapping
D3D4D8

Starter circuits to learn with

Beginner projects for the NodeMCU ESP8266 (ESP-12E). The pins below come straight from its real pin map, so they are safe to wire as shown.

Blink an LED

D0

Drive an LED (through a ~220Ω resistor) from D0 and toggle it in loop(). The classic first sketch.

digitalWrite()

Fade an LED (PWM)

D1

Use D1 with analogWrite() to smoothly ramp an LED from off to full brightness.

analogWrite()

Read a potentiometer

A0

Wire a potentiometer's wiper to A0 and read its position with analogRead().

analogRead()

Read a button

D1

Connect a push button between D1 and GND, set the pin to INPUT_PULLUP, and skip the external resistor.

digitalRead() + INPUT_PULLUP

Try it without the hardware

Describe one of these circuits in the Studio and Banana Board wires it to these exact NodeMCU ESP8266 (ESP-12E) pins, validates it, and lets you simulate before you build.

Build & simulate in the Studio

Full NodeMCU ESP8266 (ESP-12E) pin map

PinGPIOCapabilitiesVoltageNotes
VINVU 5VPower5V5V input / USB VBUS rail (also powers the 3V3 regulator).
3V33.3VPower3.3VRegulated 3.3V output rail (multiple 3V3 pins are broken out).
GNDGND2GNDGround (multiple GND pins are broken out).
A0ADC0 TOUTinput-onlyADCADC0Single analog input. 0-1.0V at the chip; NodeMCU onboard divider gives ~0-3.3V at the header. No digital/output capability.
D0GPIO16 16 WAKE16DigitalGPIO16 (RTC): digital I/O + deep-sleep wake only. NO PWM, NO interrupt, NO internal pull-up (pull-down only).
D1GPIO5 5 SCL5sclDigitalPWMSPIDefault (software) I2C SCL. Safe general-purpose pin.
D2GPIO4 4 SDA4sdaDigitalPWMSPIDefault (software) I2C SDA. Safe general-purpose pin.
D3GPIO0 0 FLASHstrapping0DigitalPWMI2CSPIGPIO0 strapping/boot: must be HIGH at boot (LOW = flash mode); wired to the FLASH button. Has internal pull-up.
D4GPIO2 2 LED_BUILTIN TXD1strapping2DigitalPWMI2CSPIGPIO2 strapping/boot: must be HIGH at boot. Onboard LED (active-LOW) and UART1 TX (debug). Has internal pull-up.
D5GPIO14 14 SCLK HSCLK14sckDigitalPWMI2CHardware SPI (HSPI) SCK. Safe general-purpose pin.
D6GPIO12 12 MISO HMISO12misoDigitalPWMI2CHardware SPI (HSPI) MISO. Safe general-purpose pin.
D7GPIO13 13 MOSI HMOSI13mosiDigitalPWMI2CHardware SPI (HSPI) MOSI. Safe general-purpose pin.
D8GPIO15 15 CS HCS SSstrapping15csDigitalPWMI2CHardware SPI (HSPI) CS. GPIO15 strapping/boot: must be LOW at boot (has onboard pull-down).
TXGPIO1 1 TXD01txDigitalPWMI2CSPIUART0 TX — used for USB serial/upload and boot messages; avoid repurposing.
RXGPIO3 3 RXD03rxDigitalPWMI2CSPIUART0 RX — used for USB serial/upload; avoid repurposing.

15 of 15 pins shown. Data verified against the board pin map Banana Board uses to check every design.

AI PCB designer

Design a NodeMCU ESP8266 (ESP-12E) PCB from a sentence

Describe your NodeMCU ESP8266 (ESP-12E) project and Banana Board wires it to these exact pins, validates it, then places and routes a fab-ready 2-layer board.

Start vibe PCB designing

Frequently asked questions

Is the NodeMCU ESP8266 (ESP-12E) 3.3V or 5V logic?

The NodeMCU ESP8266 (ESP-12E) runs at 3.3V logic. Its GPIO pins are not 5V tolerant, so use a level shifter or divider when connecting 5V signals to an input.

How many GPIO pins does the NodeMCU ESP8266 (ESP-12E) have?

The NodeMCU ESP8266 (ESP-12E) exposes 11 usable GPIO pins, plus 2 power and 1 ground pins.

Which pins are PWM-capable on the NodeMCU ESP8266 (ESP-12E)?

PWM (analogWrite / tone) is available on D1, D2, D3, D4, D5, D6, D7, D8, TX, RX.

How many analog (ADC) inputs does the NodeMCU ESP8266 (ESP-12E) have?

The NodeMCU ESP8266 (ESP-12E) has 1 ADC-capable pins: A0.

Which pins on the NodeMCU ESP8266 (ESP-12E) are input-only?

A0 are input-only. They can read digital or analog signals but cannot drive an output and have no internal pull-up or pull-down.

Which pins on the NodeMCU ESP8266 (ESP-12E) are strapping pins to avoid?

D3, D4, D8 are strapping pins that set the boot mode at reset. Using them for peripherals can stop the board from booting, so prefer other GPIOs or make sure your circuit does not pull them the wrong way at power-up.

Build it, do not just look it up

Describe your circuit in one sentence and Banana Board wires it to these exact pins, validates it, and lays out a fab-ready PCB.

Start building free