Introduction
NodeMCU is an ESP8266 Wi-Fi SoC (System On a Chip) based, open source IOT platform. The Base chip is an ESP8266 ESP-12 module.
The name, “NodeMCU” refers mainly to the firmware itself, rather than the develeopment kit. The firmware uses Lua scripting language, but also available for Arduino IDE platform. So if you are familiar with the arduino devices, you can also develop on NodeMCU development module also.
Main Specifications
Networking: Built in Wi-Fi module (Wi-Fi 802.11 b/g/n). Used as an access point and/or station. Host, a server, connect to the internet, data communication.
USB port: Micro-B USB port with CP2012 USB-serial converter.
Power supply: From USB port (5V @ 500mA max current draw) or throgh external power supply through VIN (refer to the Voltage regulator datasheet)
Buttons: On Board Reset and Flash Buttons
Programming: Lua, or Arduino IDE
Size: 49 x 24,5 x 13mm
Memory: 4MB Flash (32 MBit)

Dev Kit Pins and ESP8266 INternal GPIO pins
NodeMCU Devkit Pin | ESP8266 Internal GPIO pins |
D0 | GPIO16 |
D1 | GPIO5 |
D2 | GPIO4 |
D3 | GPIO0 |
D4 | GPIO02 |
D5 | GPIO14 |
D6 | GPIO12 |
D7 | GPIO13 |
D8 | GPIO15 |
D9/RX | GPIO3 |
D10/TX | GPIO1 |
D11/SD2 | GPIO9 |
D12/SD3 | GPIO10 |
Programming With Arduino IDE
1. Open Arduino IDE and go to File -> Preferences
2. To the additional Board manager URLs paste the following link:
http://arduino.esp8266.com/stable/package_esp8266com_index.json

3. Now Go To Tools -> Board -> Boards Manager

4. In Board manager search for ESP8266 and install available board

Now you are able to select NodeMCU board and set the port to program the device. If you upload the following simple code to the module the built in LED will start to blink.
void setup() {
pinMode(LED_BUILTIN, OUTPUT);
}
void loop() {
digitalWrite(LED_BUILTIN, LOW);
delay(1000); digitalWrite(LED_BUILTIN, HIGH);
delay(2000);
}