O que é NodeMCU (ESP8266 e ESP32)?

Antes de mais nada o que seria uma placa NodeMCU?

NodeNCU é uma placa de desenvolvimento que combina o chip ESP8266 (ESP-12E) ou então o ESP32, que nada mais é do que um SoC (System-on-a-Chip ou Sistema-em-um-Chip) com a pilha do protocolo TCP/IP integrada, que permite que você possa implementar o acesso a rede WiFi com qualquer microcontrolador, inclusive da linha Arduino, pois possui uma interface usb-serial, onde a programação pode ser feita usando LUA ou a própria IDE do Arduino, utilizando da comunicação via cabo Micro-USB conectado diretamente no computador.

ESP8266 => é um processador de núcleo único com 32Bits que roda a 80MHz. Permite conexão direta com Wi-Fi, mas não possui Bluetooth;
ESP32 => é o sucessor do ESP8266. Ele adiciona um núcleo de CPU extra, ou seja, é um processador dual core também de 32Bits que pode rodar de 160MHz a 240MHz, Wi-Fi mais rápido, mais GPIOs e suporta Bluetooth 4.2 e Bluetooth de baixa energia;

  1. Plataforma de código aberto (hardware e software livres);

  2. Criada em 2008 pela Espressif Systems, que é uma empresa multinacional de semicondutores com sede em Xangai, para auxiliar no desenvolvimento de projetos para Internet das Coisas (IoT);

  3. Projetado em placa única, com suporte de entrada/saída, capaz de sentir o estado do ambiente através de sensores e interagir com o meio, controlando luzes, motores e outros atuadores; 

  4. Os ESPs da Espressif podem ser programados com as linguagens de programação: Lua, Python, JavaScript ou até mesmo com a IDE do Arduino.