NodeMCU adalah sebuah platform IoT yang bersifat opensource. Terdiri dari perangkat keras berupa System On Chip ESP8266 dari ESP8266 buatan Espressif System, juga firmware yang digunakan, yang menggunakan bahasa pemrograman scripting Lua. Istilah NodeMCU secara default sebenarnya mengacu pada firmware yang digunakan daripada perangkat keras development kit. ESP8266 ini tidak dilimitasi dengan jumlah pin GPIO seperti pada chip ESP-01. Chip ESP8266 ini disebut ESP-12 dan generasi terakhir ESP-12E. Kelebihan lain ESP-12 dibandingkan dengan ESP-01 selain jumlah GPIO, yaitu bisa dihubungkan atau di rangkai dengan antarmuka lainnya seperti I2C dan SPI. NodeMCU merupakakan opensource, maka ada beberapa versi board NodeMCU.
ESP-12
Feature pada ESP-12 antaranya:
- 10 Port GPIO dari D0 – D10
- Fungsionalitas PWM
- Antarmuka I2C dan SPI
- Antarmuka 1 Wire
- ADC

Fungsi pin bisa dijabarkan seperti tersebut…
- RST : berfungsi mereset modul
- ADC: Analog Digital Converter. Rentang tegangan masukan 0-1v,
dengan skup nilai digital 0-1024 - EN: Chip Enable, Active High
- IO16 :GPIO16, dapat digunakan untuk membangunkan chipset dari mode deep sleep
- IO14 : GPIO14; HSPI_CLK
- IO12 : GPIO12: HSPI_MISO
- IO13: GPIO13; HSPI_MOSI; UART0_CTS
- VCC: Catu daya 3.3V (VDD)
- CS0 :Chip selection
- MISO : Slave output, Main input
- IO9 : GPIO9
- IO10 GBIO10
- MOSI: Main output slave input
- SCLK: Clock
- GND: Ground
- IO15: GPIO15; MTDO; HSPICS; UART0_RTS
- IO2 : GPIO2;UART1_TXD
- IO0 : GPIO0
- IO4 : GPIO4
- IO5 : GPIO5
- RXD : UART0_RXD; GPIO3
- TXD : UART0_TXD; GPIO1
Beberapa versi NodeMCU
1. Generasi pertama / Divkit V0.9 (NodeMCU V1)

2. Generasi Kedua / Divkit V1.0 (NodeMCU V2)

3. Generasi Kedua / LoLin (NodeMCU V3)

