ESP8266 and ESP32 are the next best thing that happened to DIY world since Arduino itself. Thanks to development boards based on those MCUs brand new possibilities opened in front of all DIY and tinkering enthusiasts. With those two, not only we have cheap and powerful microcontrollers, but we can also make them talk to other devices via WiFi and Bluetooth.

ESP32 development board

This table shows the main differences between ESP8266 and ESP32 MCUs:

ESP8266 ESP32
MCU Xtensa L106 Xtensa LX6
Number of cores 1 2
Number of bits 32 32
Clock frequency 80MHz 160MHz
Coprocessor No Yes
WiFi 802.11 b/g/n 802.11 b/g/n
Bluetooth No BT 4.2 BR/EDR & BLE
RAM 160kB 520kB
Internal flash No ESP32‑D2WD Only - 2MB
External SPIFlash Up to 16MB Up to 16MB
GPIO 17 36
SPI 2 4
I2C 1 (software) 2
I2S 2 2
UART 2 3
ADC 1 18
ADC resolution 10-bit 12-bit
DAC No 2
DAC resolution - 8-bit
Software PWM 8 16
SDMMC interface No Yes
Temperature sensor No Yes
Touch sensors No Yes
CAN No 1
Ethernet MAC No 1