You are currently viewing NodeMCU ESP8266

NodeMCU ESP8266


NodeMCU is an open-source Lua based firmware and development board specially targeted for IoT based Applications.

  • It is a tiny computer on a single board.
  • It includes firmware which runs on the ESP8266 Wi-Fi SoC from Espressif Systems, and hardware which is based on the ESP-12 module.
  • The term “NodeMCU” by default refers to the firmware rather than the development kits.
  • The firmware uses the Lua scripting language.
  • It is based on the eLua project, and built on the Espressif Non-OS SDK for ESP8266.
  • The NodeMCU development board is a powerful solution to program microcontrollers.

NodeMCU Development Board Pinout Configuration

Pin Category




Micro-USB, 3.3V, GND, Vin

Micro-USB: NodeMCU can be powered through the USB port

3.3V: Regulated 3.3V can be supplied to this pin to power the board

GND: Ground pins

Vin: External Power Supply

Control Pins


The pin and the button resets the microcontroller

Analog Pin


Used to measure analog voltage in the range of 0-3.3V



NodeMCU has 16 general purpose input-output pins on its board

SPI Pins


NodeMCU has four pins available for SPI communication.



NodeMCU has two UART interfaces, UART0 (RXD0 & TXD0) and UART1 (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

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. copy this code

int led =16;

void setup()




void loop()



delay (200);


delay (200);


Once the Avobe 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  LED  blinking which is connected to the GPIO PIN 16 / OR D0.


  • Prototyping of IoT devices
  • Low power battery operated applications
  • Network projects
  • Projects requiring multiple I/O interfaces with Wi-Fi and Bluetooth functionalitie

Board Link :-

Tutorial Link:

This Post Has 4 Comments

  1. Sahithi Sriramoju

    tq sir

  2. Gurinder

    Good sir

  3. Manisha

    Thank you for this. Great information.

Leave a Reply