¿Cuales son las diferencias entre ESP32 y ESP8266?
Veamos cuál es la diferencia entre los chips ESP32 y ESP8266. Tanto el ESP32 como el ESP8266 son SOC (Systems on Chip) basados en WiFi. Ambos tienen un procesador de 32 bits, el ESP32 es un CPU de doble núcleo de 80Mhz a 240MHz y el ESP8266 es un procesador de núcleo único de 160MHz. A continuación vamos a compararlos en profundidad.
Comparativa según características
Característica | ESP32 | ESP8266 |
Módulo | ||
CPU | Xtensa Dual-Core 32-bit LX6 con 600 DMIPS | Xtensa Single-core 32-bit L106 |
Velocidad del WiFi | 802.11n hasta 150 Mbps | Hasta 72,2 Mbps |
Protocolo WiFi | 802,11 b/g/n (2,4 Ghz) | 802,11 b/g/n (2,4 Ghz) |
GPIO | 36 | 17 |
Bluetooth | SÍ | NO |
DAC | Dos canales DAC de 8 bits | NO |
ADC | SAR de 12 bits | SAR de 10 bits |
Canales ADC | 8 Canales | Un solo canal |
Referencia del CAD V | 1100mV | 1100mV |
SPI/I2C/I2S/UART | 4/2/2/3 | 2/1/2/2 |
Modos WiFi | Station/SoftAP/SoftAP+Station/P2P | Station/SoftAP/SoftAP+Station/P2P |
Sensor táctil | SÍ (8-Canales) | NO |
Sensor de temperatura | SÍ | NO |
Sensor de efecto Hall | SÍ | NO |
SRAM | 520 kB (8 kB de SRAM en RTC) | Tamaño de la RAM < 50 kB |
FLASH (externo) | 4Mbytes (también disponible más alto) | 4Mbytes |
ROM | 448 kB de ROM para el arranque y las funciones básicas | No hay ROM programable |
Protocolos de red | IPv4, IPv6, SSL, TCP/UDP/HTTP/FTP/MQTT | IPv4, TCP/UDP/HTTP/MQTT |
Interfaz periférica | UART/SDIO/SPI/I2C/I2S/IR Control RemotoGPIO/ADC/DAC/Touch/PWM/LED | UART/SDIO/SPI/I2C/I2S/IR Control RemotoGPIO/ADC/PWM/LED |
Rango de temperatura de funcionamiento | -40°C ~ +85°C | -40°C ~ 125°C |
Tensión de funcionamiento | 2.5V ~ 3.6V | 2.5V ~ 3.6V |
Corriente operativa | Promedio: 80 mA | Valor medio: 80 mA |
Precio | 4 € – 10 € | €3 – €6 |
¿Qué es el módulo ESP32?
El ESP32 está altamente integrado con interruptores de antena incorporados, balun de RF, amplificador de potencia, amplificador de recepción de bajo ruido, filtros y módulos de gestión de potencia. El ESP32 añade una funcionalidad y versatilidad inestimables a sus aplicaciones con unos requisitos mínimos de placa de circuito impreso (PCB).
¿Qué es el tablero ESP32 devKit?
El DOIT Esp32 DevKit v1 es uno de los tableros de desarrollo creados por DOIT para evaluar el módulo ESP-WROOM-32. Se basa en el microcontrolador ESP32 que cuenta con Wifi, Bluetooth, Ethernet y soporte de bajo consumo, todo en un solo chip. ESP32 DevKit contiene ESP32-WROOM, fuente de alimentación de 3,3V necesaria para el ESP32 y un convertidor USB a serie para facilitar la programación. Con esta placa y un cable USB puedes empezar a desarrollar el ESP32.
¿Qué es el kit ESP8266 NodeMCU?
El kit de desarrollo basado en ESP8266, integra GPIO, PWM, IIC, 1-Wire y ADC, todo en un solo tablero. Potencie su desarrollo de la manera más rápida combinando con el firmware de NodeMCU.
Más GPIOs en el ESP32
El ESP32 tiene más GPIOs que el ESP8266, y puedes decidir qué pines son UART, I2C, SPI – sólo tienes que poner eso en el código. Esto es posible gracias a la función de multiplexación del chip ESP32 que permite asignar múltiples funciones al mismo pin.
PWM, ADC y más
Puedes configurar las señales PWM en cualquier GPIO con frecuencias configurables y el ciclo de trabajo fijado en el código.
Cuando se trata de los pines analógicos, estos son estáticos, pero el ESP32 soporta mediciones en 18 canales (pines habilitados para analógico) frente a un solo pin ADC de 10 bits en el ESP8266. El ESP32 también soporta dos canales DAC de 8 bits.
Además, el ESP32 contiene 10 GPIOs de detección capacitiva, que detectan el tacto y pueden ser usados para desencadenar eventos, o despertar al ESP32 del sueño profundo, por ejemplo.
Arduino IDE – ESP32 vs ESP8266
Hay muchas maneras de programar las placas ESP32 y ESP8266. Actualmente, ambas placas pueden ser programadas usando el entorno de programación IDE de Arduino.
Esto es algo bueno, especialmente para aquellos que están acostumbrados a programar el Arduino y están familiarizados con el “lenguaje de programación” de Arduino.
Empezar a usar el ESP32 o ESP8266 con el IDE de Arduino y tener tu primer proyecto en marcha es muy sencillo.
Aunque puedes programar ambas placas usando el IDE de Arduino, puede que no sean compatibles con las mismas bibliotecas y funciones. Algunas bibliotecas sólo son compatibles con uno de los tableros. Esto significa que la mayoría de las veces tu código ESP8266 no será compatible con el ESP32. Sin embargo, normalmente sólo necesitas hacer algunas modificaciones.
Tenemos una lista dedicada de tutoriales y proyectos gratuitos para las placas ESP32 y ESP8266 que utilizan el IDE de Arduino y que pueden serle útiles:
MicroPython Firwmare – ESP32 vs ESP8266
Otra forma habitual de programar las tarjetas ESP32 y ESP8266 es usando el firmware de MicroPython.
MicroPython es una reimplementación de Python 3 dirigida a microcontroladores y sistemas empotrados. La micro pitón es muy similar a la pitón normal. Así que, si ya sabes programar en Python, también sabes programar en MicroPython.
En MicroPython, la mayoría de los scripts de Python son compatibles con ambas placas (a diferencia de cuando se utiliza el IDE de Arduino). Esto significa que la mayoría de las veces puedes usar el mismo script para ESP32 y ESP8266.
¿ESP32 o ESP8266?
Así que, en este punto, puede que te estés preguntando: ¿Debería usa un ESP8266 o un ESP32?
Realmente depende de lo que quieras hacer. Hay espacio para ambas tablas, y ambas tienen pros y contras.
El ESP8266 es más barato que el ESP32. Aunque no tiene tantas funcionalidades, funciona bien para la mayoría de los proyectos sencillos. Sin embargo, tiene algunas limitaciones cuando se trata de la cartografía de GPIO, y puede que no tengas suficientes pines para lo que pretende hacer. Si ese es el caso, deberías usar un ESP32.
El ESP32 es mucho más potente que el ESP8266, viene con más GPIOs con múltiples funciones, Wi-Fi más rápido, y también soporta Bluetooth. Mucha gente piensa que el ESP32 es más difícil de manejar que el ESP8266 porque es más complejo. En nuestra opinión, es tan fácil programar el ESP32 como el ESP8266, especialmente si se pretende programar con el “lenguaje Arduino” o el MicroPython.
El ESP32 también tiene algunos inconvenientes. El ESP32 es más caro que el ESP8266. Así que, si estás construyendo un simple proyecto de IO, el ESP8266 podría valerte por un precio más bajo. Además, como el ESP8266 es “más antiguo” que el ESP32, algunas bibliotecas y características están mejor desarrolladas para el ESP8266 y encontrarás más recursos (foros, gente con los mismos problemas y cómo resolverlos, etc.). Sin embargo, con el paso del tiempo, el ESP32 está siendo ampliamente adoptado, y estas diferencias en términos de desarrollo y bibliotecas no serán notables.
En 2020, usamos casi exclusivamente el ESP32 para proyectos de IO. Es más versátil, y viene con muchas más funcionalidades como el Bluetooth, diferentes fuentes de despertador, muchos periféricos, y mucho más. Además, la diferencia de precio no es un gran problema, en nuestra opinión. Creemos que una vez que te muevas al ESP32, no querrás volver al ESP8266.
Última actualización el 2020-06-17 / Enlaces de afiliados / Imágenes de la API para Afiliados