ESP8266 NodeMCU
NodeMCU ESP8266 Pinout
NodeMCU is an open-source Lua based firmware and development board specially
targeted for IoT based Applications. It includes firmware that runs on the ESP8266 Wi-
Fi SoC from Espressif Systems, and hardware which is based on the ESP-12 module.
NodeMCU Development Board Pinout Configuration
Pin Name Description
Category
Power Micro-USB, 3.3V, Micro-USB: NodeMCU can be powered through the USB port
GND, Vin
3.3V: Regulated 3.3V can be supplied to this pin to power the board
GND: Ground pins
Vin: External Power Supply
Control EN, RST The pin and the button resets the microcontroller
Pins
Analog Pin A0 Used to measure analog voltage in the range of 0-3.3V
GPIO Pins GPIO1 to GPIO16 NodeMCU has 16 general purpose input-output pins on its board
SPI Pins SD1, CMD, SD0, NodeMCU has four pins available for SPI communication.
CLK
UART Pins TXD0, RXD0, NodeMCU has two UART interfaces, UART0 (RXD0 & TXD0) and UART1
TXD2, RXD2 (RXD1 & TXD1). UART1 is used to upload the firmware/program.
I2C Pins NodeMCU has I2C functionality support but due to the internal functionality of
these pins, you have to find which pin is I2C.
NodeMCU ESP8266 Specifications & Features
Microcontroller: Tensilica 32-bit RISC CPU Xtensa LX106
Operating Voltage: 3.3V
Input Voltage: 7-12V
Digital I/O Pins (DIO): 16
Analog Input Pins (ADC): 1
UARTs: 1
SPIs: 1
I2Cs: 1
Flash Memory: 4 MB
SRAM: 64 KB
Clock Speed: 80 MHz
USB-TTL based on CP2102 is included onboard, Enabling Plug n Play
PCB Antenna
Small Sized module to fit smartly inside your IoT projects
Note: Complete technical information can be found in the NodeMCU ESP8266 Datasheet, linked at the
bottom of this page.
Other Espressif Boards
ESP8266, ESP12E, ESP32
Other Development Boards
Arduino, Raspberry Pi, PIC Development Board, AVR Development Board, MSP430 Launchpad, Intel
Edison, Beagle Bone
Brief About NodeMCU ESP8266
The NodeMCU ESP8266 development board comes with the ESP-12E module containing the ESP8266
chip having Tensilica Xtensa 32-bit LX106 RISC microprocessor. This microprocessor supports RTOS and
operates at 80MHz to 160 MHz adjustable clock frequency. NodeMCU has 128 KB RAM and 4MB of Flash
memory to store data and programs. Its high processing power with in-built Wi-Fi / Bluetooth and Deep
Sleep Operating features make it ideal for IoT projects.
NodeMCU can be powered using a Micro USB jack and VIN pin (External Supply Pin). It supports UART,
SPI, and I2C interface.
Programming NodeMCU ESP8266 with Arduino IDE
The NodeMCU Development Board can be easily programmed with Arduino IDE since it is easy to use.
Programming NodeMCU with the Arduino IDE will hardly take 5-10 minutes. All you need is the Arduino
IDE, a USB cable and the NodeMCU board itself. You can check this Getting Started Tutorial for
NodeMCU to prepare your Arduino IDE for NodeMCU.
Uploading your first program
Once Arduino IDE is installed on the computer, connect the board with the computer using the USB cable.
Now open the Arduino IDE and choose the correct board by selecting Tools>Boards>NodeMCU1.0 (ESP-
12E Module), and choose the correct Port by selecting Tools>Port. To get it started with the NodeMCU
board and blink the built-in LED, load the example code by selecting Files>Examples>Basics>Blink. Once
the example code is loaded into your IDE, click on the ‘upload’ button given on the top bar. Once the upload
is finished, you should see the built-in LED of the board blinking.
Applications
Prototyping of IoT devices
Low power battery operated applications
Network projects
Projects requiring multiple I/O interfaces with Wi-Fi and Bluetooth functionalities