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ística | ESP8266 | ESP32 |
---|---|---|
Procesador | Tensilica LX106 | Tensilica Xtensa X36 |
Nº bits | 32 bits | |
Nº nucleos | Single core | Dual core |
Velocidad | 80Mhz (hasta 160 Mhz) | 160 MHz (hasta 240 MHz) |
SRAM | 160 kB | 512 kB |
SPI FLASH | Hasta 16MiB | |
Alimentación | 3.0 a 3.6V | 2.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 | No | Inferior a 150 uA |
Wifi | 802.11 b/g/n (hasta +20 dBm) WEP, WPA | |
Soft-AP | Sí | |
Encriptación por hardware | No (TLS 1.2 por software) | Sì |
Bluetooth | No | v4.2 BR/EDR + BLE |
Ethernet MAC Interface | No | 10/100 Mbps |
GPIO (utilizables) | 17 | 36 |
Hardware / Software PWM | No / 8 | 1 / 16 |
ADC | 1 (10 bits) | 18 (12 bits) |
ADC con preamplificador | No | Sí (bajo ruido 60 dB) |
DAC | No | 2 (8 bits) |
UART | 2 (en una sólo puede usarse pin TX) | 4 |
I2C | 1 | 2 |
SPI | 2 | 4 |
I2S | 1 | 2 |
1-Wire | Implementado por software | |
CAN BUS | No | 1 x 2.0 |
Sensor Touch | No | 10 |
Sensor temperatura | No | Sí |
Sensor HALL | No | Sí |
IR | Sí | |
Timers | 3 | 4 (64 bits) |
Gen. Núm. Aleatorios | No | Sí |
Encriptación de la flash | No | Sí |
Arranque seguro | No | Sí |
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.