Correo: [email protected] - Teléfono: +56979962128

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 microcontroladores. Ambos son bien conocidos, y por una buena razón. Son microcontroladores pequeños, de bajo consumo, con conectividad Wi-Fi y CPU de 32 bits, ideales para controlar una amplia gama de proyectos electrónicos. 

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

Comencemos con una comparación de los dos para ayudarte 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 y más. 

Introducción 

ESP8266 

MCI01847A

El ESP8266 es un microchip de bajo costo con Wi-Fi y  stack TCP/IP incorporado, además cuenta con todas las capacidades de un microcontrolador. Fue lanzado el 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 que requieren conectividad Wi-Fi. 

ESP32  

 

30pin esp32 dev board

 

El ESP32, se lanzó el 2016, es el sucesor del ESP8266 y ofrece varias mejoras con respecto a su predecesor. 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 

Conectividad inalámbrica

Ambos microcontroladores soportan Wi-Fi, pero el ESP32 incluye características adicionales como Wi-Fi Direct. Además, el ESP32 tiene capacidades Bluetooth v4.2 BR/EDR y BLE (Bluetooth de Baja Energía), las cuales no posee el ESP8266. Esto hace al ESP32 más versátil para la comunicación inalámbrica.

Ganador: ESP32 

Interfaces y periféricos 

Al comparar dos microcontroladores, es importante saber qué tipos de interfaces 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 proporcionadas por el ESP8266 y el ESP32: 

 

INTERFAZ  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 Sí
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 incorpora varios sensores . 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 manera efectiva. 

El ESP8266 ofrece cuatro modos de energía: active, modem-sleep, light-sleep, y deep-sleep. 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 deep-sleep 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 baterías. 

Ganador: ESP8266 

Programación y apoyo de la comunidad 

Tanto el ESP8266 como el ESP32 son compatibles con el IDE de Arduino y el ESP-IDF (Espressif IoT Development Framework). 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 plug-in de 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; Ambos proporcionan una amplia gama de idiomas y recursos compatibles. 

Ganador: Empate

Precio: ¿Qué tarjeta 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 tarjetas 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.  

Características 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 I2S 2 2
Interfaz SPI 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 USD$ ($5 – $6) USD$ ($6 – $9)

¿Cuál deberías comprar?

 

El ESP32 sale sin duda victorioso en esta comparación, pero esto no significa que el ESP32 sea la mejor opción en todos los casos. Al final, tu elección de un microcontrolador dependerá más de los requisitos específicos de tu proyecto que de cifras concretas. El ESP32 claramente gana en la mayoría de las comparaciones, 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 mayor rendimiento.

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

Fuente: ESP32 vs. ESP8266: Which Microcontroller Is Right for You? (lastminuteengineers.com)

 

Preguntas frecuentes

¿Cuál es la diferencia principal entre el ESP32 y el ESP8266?

El ESP32 es el más potente de los dos: supera al ESP8266 en capacidad de procesamiento y memoria, en interfaces y periféricos, y en conectividad, ya que suma Bluetooth al WiFi.

¿El ESP8266 tiene Bluetooth?

No. El ESP8266 ofrece conectividad WiFi, mientras que el ESP32 agrega Bluetooth además del WiFi. Esa es una de las diferencias que más pesa al elegir entre ambos.

¿El ESP32 trae sensores incorporados?

Sí, es una de las ventajas que lo distinguen del ESP8266: incorpora sensores integrados en el propio chip, además de una gestión de energía más avanzada.

¿Cuál conviene para un proyecto simple?

Si el proyecto solo necesita WiFi y pocos periféricos, el ESP8266 cumple y suele ser más barato. Si hace falta Bluetooth, más pines, más memoria o mejor gestión de energía, el ESP32 lo justifica.

¿Cuál tiene mejor soporte de la comunidad?

Ambos cuentan con comunidades activas y buena documentación. El tutorial compara programación y apoyo de la comunidad como uno de los criterios para decidir, junto con el precio.

Aprende esto en un curso

Si prefieres verlo en vivo y con alguien que resuelva tus dudas, estos cursos presenciales de MCI Educación cubren el tema de este tutorial: