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.
The NodeMCU ESP8266 development board comes with the ESP-12E module containing 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 Micro USB jack and VIN pin (External Supply Pin). It supports UART, SPI, and I2C interface.
|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
|The pin and the button resets the microcontroller
|Used to measure analog voltage in the range of 0-3.3V
|GPIO1 to GPIO16
|NodeMCU has 16 general purpose input-output pins on its board
|SD1, CMD, SD0, CLK
|NodeMCU has four pins available for SPI communication.
|TXD0, RXD0, TXD2, RXD2
|NodeMCU has two UART interfaces, UART0 (RXD0 & TXD0) and UART1 (RXD1 & TXD1). UART1 is used to upload the firmware/program.
|NodeMCU has I2C functionality support but due to the internal functionality of these pins, you have to find which pin is I2C.
PCB Trace, U.FL socket
|7V to 12V
|Tensilica 32-bit RISC CPU Xtensa LX106
|Digital I/O Pins
|Analog Input Pins