¿Cuál es la diferencia entre ESP32 vs ESP8266? ¿Debería utilizar el ESP32 o el ESP8266 en sus proyectos? En este artículo, compararemos el ESP32 con el ESP8266 y cubriremos los pros y los contras de cada placa.
El ESP32 y el ESP8266 son módulos WiFi baratos perfectamente adecuados para proyectos de Internet de las cosas (IOT) y automatización del hogar.
Ambas placas tienen un procesador de 32 bits. El ESP32 tiene una CPU de doble núcleo que va de 160MHz a los 240MHz. La placa ESP8266 tiene un procesador de un solo núcleo que funciona a 80MHz.
Estos módulos vienen con GPIO que admiten varios protocolos como SPI, I2C, UART, ADC, DAC y PWM. La mejor parte es que estas placas vienen con redes inalámbricas incluidas. Esto significa que puede controlar y monitorear fácilmente los dispositivos de forma remota a través de WiFi o Bluetooth (en el caso de ESP32) por un precio muy bajo.
Comparativa según características
Característica | ESP32 | ESP8266 |
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 |
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 | S/ 40 | S/ 30 |
GPIO en el ESP32
El ESP32 tiene más GPIO que el ESP8266 , y puedes decidir qué pines son UART, I2C , SPI ; debes configurarlo en el código. Esto es posible gracias a la función de multiplexación del chip ESP32 que le permite asignar múltiples funciones al mismo pin.
- Ejemplo para la placa ESP32 DEVKIT V1 DOIT (versión con 36 GPIOS)
- Diagrama de distribución de pines del kit ESP8266 ESP-12E NodeMCU.
IDE de Arduino: ESP32 frente a ESP8266
Hay muchas formas de programar las placas ESP32 y ESP8266. Ambas placas se pueden programar con el núcleo Arduino utilizando el IDE de Arduino u otros IDE (como VS Code con la extensión PlatformIO).
Aunque puedes programar ambas placas usando Arduino IDE, es posible que no sean compatibles con las mismas bibliotecas y funciones. Algunas bibliotecas sólo son compatibles con una de las placas. Esto significa que la mayoría de las veces, su código ESP8266 no será compatible con el ESP32. Sin embargo, normalmente es necesario realizar algunas modificaciones.
MicroPython Firwmare – ESP32 vs ESP8266
Otra forma popular de programar las placas ESP32 y ESP8266 es utilizar el firmware MicroPython.
MicroPython es una reimplementación de Python 3 dirigida a microcontroladores y sistemas integrados.
En MicroPython, la mayoría de los scripts de Python son compatibles con ambas placas (a diferencia de cuando se usa Arduino IDE). Esto significa que la mayoría de las veces puede utilizar el mismo script para ESP32 y ESP8266.
¿ESP32 o ESP8266?
En este punto, puede que te estés preguntando: ¿Debería usar un ESP8266 o un ESP32?
Depende de lo que quieras hacer. Ambos tienen ventajas y desventajas.
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
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
ESP32 VS ESP8266