Comparativa ESP8266 frente a ESP32, los SoC de Espressif para IoT


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 estos 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.

PUBLICIDAD: Encarga tus propias PCBs a media en PCBWAY

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
corriente
80 mA (promedio), 225 mA (máximo)
Consumo en
deep sleep
20 uA (RTC + memoria
RTC)
2.5 uA (10 uA RTC + memoria RTC)
Consumo en de
bajo consumo
NoInferior a 150 uA
Wifi802.11 b/g/n (hasta +20 dBm) WEP, WPA
Soft-AP
Encriptación
por hardware
No (TLS 1.2 por
software)
BluetoothNov4.2 BR/EDR + BLE
Ethernet MAC
Interface
No10/100 Mbps
GPIO
(utilizables)
1736
Hardware /
Software PWM
No / 81 / 16
ADC1 (10 bits)18 (12 bits)
ADC con
preamplificador
NoSí (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
temperatura
No
Sensor HALLNo
IR
Timers34 (64 bits)
Gen. Núm.
Aleatorios
No
Encriptación
de la flash
No
Arranque
seguro
No

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.

Si te ha gustado esta entrada y quieres leer más sobre Arduino puedes consultar la sección
tutoriales de Arduino

Previous Cómo configurar Raspberry Pi con GUI o consola de comandos
Next Capturar la pantalla o video a GIF animado con ScreenToGif

¡Deja un comentario!...

1000
newest oldest

Hola Luis.

He trabajdo con el ESP8266-ESP07 y ESP12, pero conectados a Arduino, y sin problemas. Arduino alojaba la página web y ejecutaba las ordenes, y el ESP sólo hacía de enlace WIFI.

Me gustaría hacer lo mismo con las placas NodeMCU, pero programándolas con el IDE de Arduino. ¿Sería posible usar el NodeMCU para alojar la págna web pero luego usar Arduino para accionar los elementos externos (relés, motores, etc)…? ¿Se puede conectar ambos módulos via Serie o I2C, algo así como estableciendo el NodeMCU como master y Arduino como slave?

Gracias y saludos.