ESP32-vs-ESP8266

ESP32 vs. ESP8266. Si tienes un proyecto de Internet de las Cosas en mente, inevitablemente te enfrentarás ™a la elección entre estos dos pesos pesados del MCU. Ambos son microcontroladores bien conocidos, y por una buena razón. Son microcontroladores pequeños, de bajo consumo y habilitados para Wi-Fi con CPU de 32 bits, ideales para controlar una amplia gama de proyectos electrónicos. 

Pero, ¿cómo determinar cuál es el más adecuado para tu proyecto? 

Comencemos con una comparación de los dos para ayudarlo a tomar una decisión. No nos centraremos únicamente en el MCU más rápido, el más eficiente energéticamente o el que ofrece la mejor relación calidad-precio. En su lugar, tendremos en cuenta varios factores, como la potencia de procesamiento, las características de conectividad, las especificaciones de hardware, los entornos de desarrollo, los precios y mucho más. 

Entonces, vayamos al round de ESP32 vs. ESP8266. 

Introducción 

ESP8266 

 

30pin esp32 dev board

 

El ESP8266 es un microchip Wi-Fi de bajo costo con una pila TCP / IP incorporada y capacidad de microcontrolador, lanzado en 2014 por Espressif Systems en Shanghai, China. 

Rápidamente ganó popularidad debido a su simplicidad y bajo costo. Funciona con un procesador Tensilica Xtensa LX3 y está destinado principalmente a dispositivos inteligentes, wearables y proyectos habilitados para Wi-Fi. 

ESP32  

 

30pin esp32 dev board

 

El ESP32, que se presentó en 2016, es el sucesor del ESP8266 y ofrece varias mejoras con respecto a él. Estos incluyen un procesador más rápido, Wi-Fi más rápido, conectividad Bluetooth, más pines GPIO y varias otras características. Más importante aún, cuenta con un microprocesador Tensilica Xtensa LX6 de doble núcleo, que mejora significativamente sus capacidades computacionales. 

Potencia de procesamiento y memoria 

El ESP8266 cuenta con un procesador de un solo núcleo Tensilica Xtensa L106 de 32 bits, que funciona a 80 MHz, que se puede overclockear a 160 MHz. Viene con 32 KB de RAM de instrucciones, 80 KB de RAM de datos de usuario y flash QSPI externo: 512 KB a 4 MB. 

El ESP32 tiene un procesador ligeramente más potente. Cuenta con un microprocesador Tensilica Xtensa LX6 de doble núcleo que puede funcionar hasta a 240 MHz. Incluye 520 KB de SRAM y admite memoria flash externa de hasta 16 MB. 

Esta mayor potencia de procesamiento y memoria hacen que el ESP32 sea adecuado para tareas más exigentes. 

 

Ganador: ESP32 

Potencia de procesamiento y memoria 

El ESP8266 cuenta con un procesador de un solo núcleo Tensilica Xtensa L106 de 32 bits, que funciona a 80 MHz, que se puede overclockear a 160 MHz. Viene con 32 KB de RAM de instrucciones, 80 KB de RAM de datos de usuario y flash QSPI externo: 512 KB a 4 MB. 

El ESP32 tiene un procesador ligeramente más potente. Cuenta con un microprocesador Tensilica Xtensa LX6 de doble núcleo que puede funcionar hasta a 240 MHz. Incluye 520 KB de SRAM y admite memoria flash externa de hasta 16 MB. 

Esta mayor potencia de procesamiento y memoria hacen que el ESP32 sea adecuado para tareas más exigentes. 

 

Ganador: ESP32 

Interfaces periféricas 

Al comparar dos microcontroladores, es importante saber qué tipos de interfaces periféricas tienen. Estas interfaces son el medio principal por el cual los microcontroladores se comunican con sensores y otros dispositivos, y tienen un gran impacto en la complejidad y el tipo de proyectos que puede construir.  

A continuación, se muestra una comparación de las interfaces periféricas proporcionadas por el ESP8266 y el ESP32: 

 

INTERFAZ PERIFÉRICA ESP8266 ESP32
GPIO 17 GPIO Programables 34 GPIO Programables
ADC ADC SAR de 10 bits en 1 canal ADC SAR DE 12 bits en 18 canales
PWM 4 canales 16 canales
Interfaz I2C 1 2
Interfaz I2S 2 2
Interfaz SPI 2 4
Interfaz UART 2 3
Interfaz CAN No 1
Ethernet No 10/100 Mbps
Sensor touch No 10 GPIOs
Controlador remoto infrarrojo No TX/RX, hasta 8 canales
Controlador esclavo  SDIO/SPI No
Contador de pulsos No Decodificación completa de cuadratura
GANADOR: ESP32

Sensores incorporados 

Cuando se trata de sensores integrados, el ESP8266 es bastante minimalista; No tiene ningún sensor incorporado. 

El ESP32, por otro lado, es más avanzado e incluye varios sensores incorporados. Por lo general, viene con: 

  • Un sensor de efecto Hall capaz de detectar campos magnéticos. Esto puede ser útil para aplicaciones como la detección de la presencia de un imán o la medición de la fuerza de un campo magnético. 
  • Un sensor táctil capacitivo que se puede utilizar para entradas sensibles al tacto. 
  • Un sensor de temperatura destinado a medir la temperatura interna del chip y no la temperatura ambiente, que puede ser útil para monitorear la salud del microcontrolador. 

Estos sensores integrados en el ESP32 proporcionan más funcionalidad desde el primer momento, lo que le permite crear proyectos sin necesidad de componentes adicionales. 

Ganador: ESP32 

Gestión de energía 

Ambas placas tienen tecnologías avanzadas de ahorro de energía para minimizar el consumo de energía de manera efectiva. 

El ESP8266 ofrece cuatro modos de energía: activo, suspensión por módem, suspensión ligera y suspensión profunda. Según la hoja de datos, en modo activo, con todas las funciones funcionando simultáneamente, puede consumir hasta 80 mA. Por el contrario, el modo de suspensión profunda es extremadamente eficiente, ya que consume tan solo 20 μA. 

El ESP32, por otro lado, con su procesador más rápido y mayor memoria flash, tiene un mayor requerimiento de energía, consumiendo hasta 240 mA en modo activo. Para compensar esto, introduce dos modos adicionales de bajo consumo: hibernación y apagado. El modo de hibernación tiene un consumo impresionantemente bajo de solo 5 μA, mientras que el modo de apagado lo reduce aún más a solo 1 μA. 

Debido a su menor consumo de energía en modo activo, el ESP8266 es más adecuado para proyectos simples y de baja potencia alimentados por un paquete de baterías. 

Ganador: ESP8266 

Programación y apoyo a la comunidad 

Tanto el ESP8266 como el ESP32 son compatibles con el IDE de Arduino y el ESP-IDF (Espressif IoT Development Framework) nativo. El IDE de Arduino es adecuado para proyectos pequeños, pero para proyectos más grandes y complejos, es recomendable utilizar el ESP-IDF a través de la extensión Visual Studio Code o el complemento Eclipse. 

Además, ambas placas admiten programación en MicroPython, Lua, JavaScript y otros lenguajes (una lista completa está disponible en la wiki), lo que las hace accesibles a una amplia gama de programadores. Además, la comunidad de desarrolladores en torno a ambos módulos es robusta y activa, con una gran cantidad de foros en línea, extensas bibliotecas y tutoriales. 

Por lo tanto, en términos de apoyo a la programación y recursos comunitarios, hay poca o ninguna competencia entre las dos juntas; Ambos proporcionan una amplia gama de idiomas y recursos compatibles. 

Ganador: Empate

Precio: ¿Qué tabla ofrece más valor? 

El ESP8266 suele ser más barato que el ESP32, lo que lo convierte en una opción más rentable para proyectos sencillos. El ESP32, con sus características y capacidades adicionales, tiene un coste ligeramente superior, justificado por su mayor potencia de procesamiento y versatilidad. 

Sin embargo, la diferencia de precio entre ambos se ha reducido en los últimos años. Dependiendo de dónde compres, generalmente puedes encontrar ambas tablas a la venta más o menos al mismo precio. En tales casos, el ESP32, con sus mejores características de conectividad, puede ser una mejor oferta al mismo precio. 

Ganador: Empate 

 

Comparación completa 

Aquí hay una tabla que compara las especificaciones y características del ESP8266 y ESP32 en profundidad. Esta tabla sirve como punto de referencia, resumiendo las capacidades y ofertas de cada microcontrolador.  

Feature ESP8266 ESP32
Procesador Tensilica Xtensa L106 32 bit de 1 núcleo Tensilica Xtensa LX6 32 bit de 2 núcleos
RAM 128 KB 520 KB
Velocidad del Reloj 80/160 MHz 160/240 MHz
Voltaje de operación 2.5-3.6V 2.2-3.6V
Temperatura de operación –40 °C to +125 °C –40 °C to +125 °C
Flash Hasta 4 mb (usualmente 512KB a 1MB incluido) 4MB
Soporte de flash externa Hasta 16 MB Hasta 16 mb
Memoria rtc 512 Bytes (dentro de la Ram del sistema) 16KB
Wi-Fi 802.11b/g/n 802.11b/g/n
Bluetooth No Bluetooth 4.2, BLE
Ethernet No 10/100 Mbps
Interfaz I2C 1 2
Interfaz I2C 2 2
Interfaz I2S 2 4
Interfaz UART 2 3
Interfaz CAN No 1
ADC ADC SAR de 10 bits en 1 canal ADC SAR de 12 bits hasta 18 channels
PWM Hasta 4 canales Hasta 16 canales
Sensor Táctil No Si
Sensor Temperatura No Si
Sensor efecto hall No Si
GPIO 17 pines programables 34 pines programables
Control remoto infrarrojo No TX/RX, Hasta 8 canales
Controlador esclavo SDIO/SPI No SI
Contador de pulsos No Decodificación completa de cuadratura
Precio $ ($5 – $6) $$ ($6 – $9)

 

¿Cuál deberías comprar? 

Entonces, ESP32 se lleva una victoria y reclama la corona mundial del rey de la MCU habilitada para Wi-Fi. Toca la banda y enciende los fuegos artificiales.  

Pero esto no significa que el ESP32 sea una mejor opción en todos los casos. Al final, la selección de un microcontrolador dependerá más de los requisitos específicos de su proyecto que de los números concretos. El ESP32 gana claramente la mayoría de los enfrentamientos, pero se queda atrás en simplicidad y eficiencia energética. Esto explica por qué el ESP8266 sigue siendo una opción popular para muchos, a pesar de no ser el de mejor rendimiento. 

En resumen, para proyectos simples basados en Wi-Fi de bajo consumo, el ESP8266 es la opción preferida. Por otro lado, si necesitas más potencia de procesamiento, memoria extra y funciones como Bluetooth, el ESP32 es el claro ganador.