comparativa-esp8266-esp32

Comparativa ESP8266 frente a ESP32, los SoC de Espressif

Ha llegado el momento de ver en profundidad las diferencias entre las dos máquinas de referencia en IoT del momento, en esta comparativa ESP8266 frente a ESP32.

En las entradas anteriores hemos presentado tanto el ESP8266 como el ESP32, dos SoC con conectividad WiFi del fabricante chino Espressif, que están causando furor en la comunidad Maker.

Ha llegado el momento de poner dos SoC frente a frente, cara a cara, en esta comparativa ESP8266 frente a ESP32 donde veremos en una tabla las diferencias y similitudes de estos dos SoC punto por punto.

Lógicamente, el ESP32 va a ganar por goleada en casi todos los puntos ya que el sucesor del ESP8266. No obstante, también veremos en la comparativa que el ESP8266 es una máquina muy interesante, especialmente si lo unimos a su precio menor.

Sin más preámbulos, aquí tenemos la tabla comparativa.

CaracterísticaESP8266ESP32
ProcesadorTensilica LX106Tensilica Xtensa X36
Nº bits32 bits
Nº nucleosSingle coreDual core
Velocidad80Mhz (hasta 160 Mhz)160 MHz (hasta 240 MHz)
SRAM160 kB512 kB
SPI FLASHHasta 16MiB
Alimentación3.0 a 3.6V2.2 a 3.6V
Rango
temperaturas
-40ºC a 125ºC
Consumo de corriente80 mA (promedio), 225 mA (máximo)
Consumo en deep sleep20 uA (RTC + memoria
RTC)
2.5 uA (10 uA RTC + memoria RTC)
Consumo en de bajo consumoNoInferior a 150 uA
Wifi802.11 b/g/n (hasta +20 dBm) WEP, WPA
Soft-AP
Encriptación por hardwareNo (TLS 1.2 por
software)
BluetoothNov4.2 BR/EDR + BLE
Ethernet MAC InterfaceNo10/100 Mbps
GPIO (utilizables)1736
Hardware / Software PWMNo / 81 / 16
ADC1 (10 bits)18 (12 bits)
ADC con preamplificadorNoSí (bajo ruido 60 dB)
DACNo2 (8 bits)
UART2 (en una sólo puede
usarse pin TX)
4
I2C12
SPI24
I2S12
1-WireImplementado por software
CAN BUSNo1 x 2.0
Sensor TouchNo10
Sensor temperaturaNo
Sensor HALLNo
IR
Timers34 (64 bits)
Gen. Núm. AleatoriosNo
Encriptación de la flashNo
Arranque seguroNo

En primer lugar, el ESP32 tiene un procesador más potente y de doble núcleo. La siguiente ventaja evidente es que incorpora Bluetooth BLE, además de WiFi.

Además, el ESP32 incorpora más memoria, encriptado de la Flash, arranque seguro, encriptación por hardware (algo que se echaba mucho de menos en el ESP8266), generador de números aleatorios y reloj de tiempo real (RTC).

En cuanto a I/O el ESP32 supera con creces al ESP8266, con 36 GPIO (frente a 17), 10 pines con detección Touch, 1+16 PWM (frente a 0+8), 18 ADC de 12 bits con preamplificación (frente a 1 de 10bits), e incluye 2 DAC de 8 bits.

En buses de comunicación el ESP32 vuelve a imponerse, con 4 UART (frente a 2, uno con solo TX), 2 I2C (frente a 1), 4 SPI (frente a 2), 2 I2S (frente a 1), e incorpora CAN BUS 2.0.

Además el ESP32 dispone de 4 timers de 64bits (frente a 3) e incluye sensor Hall, sensor de temperatura y posibilidad de Ethernet 10/100Mbps

En cuanto a similitudes, ambos SoC pueden manejar la misma cantidad de memoria de hasta 16MiB, y disponen de conectividad WiFI 802.11 b/g/n.

Como ya habíamos anticipado, queda claro que el ESP32 es un auténtico maquinón. No obstante, el ESP8266 sigue siendo un SoC muy interesante y tiene un precio inferior. Pero es que el ESP32 ha puesto el listón muy alto.

También hay que decir que actualmente hay pocas placas de desarrollo que permitan acceder a todas las funciones (a todos los pines) del ESP32, por lo que las diferencias entre ambos se diluyen. En muchos casos se reduce a mayor capacidad de cálculo, el Bluetooth, y poder la aceleración de la encriptación.

En las próximas entradas veremos cómo programar ambos SoC y comenzaremos con los tutoriales tanto sobre el ESP8266 como el ESP32.