NOVEDAD: Espressif anual meeting.
El ESP32 es el sucesor del ESP8266, no se puede hablar del primero, sin hacer una breve historia de lo que la aparición de estos microcontroladores, supusieron, en el campo de la electrónica y el IOT.
El ESP8266 apareció en 2014, como el primer microcontrolador con capacidades wifi completas, a muy bajo coste.
Este chip tiene una serie de características muy interesantes:
- CPU RISC de 32-bit: Tensilica Xtensa LX106 a un reloj de 80 MHz
- RAM de instrucción de 64 KB, RAM de datos de 96 KB
- Capacidad de memoria externa flash QSPI - 512 KB a 4 MB* (puede soportar hasta 16 MB)
- IEEE 802.11 b/g/n Wi-Fi
Tiene integrados: TR switch, balun, LNA, amplificador de potencia de RF y una red de adaptación de impedancias
Soporte de autenticación WEP y WPA/WPA2
- 16 pines GPIO (Entradas/Salidas de propósito general)
- SPI, I²C,
- Interfaz I²S con DMA (comparte pines con GPIO)
- Pines dedicados a UART, más una UART únicamente para transmisión que puede habilitarse a través del pin GPIO2
- 1 conversor ADC de 10-bit
El chip, como tal, viene montado en diversos circuitos PCB, con características adicionales, según el fabricante que distribuyese la solución.
ESP8266 modelo ESP-01.
ESP8266 modelo ESP-02.
ESP8266 modelo ESP-03.
ESP8266 modelo ESP-05.
ESP8266 modelo ESP-12.
ESP8266 NodeMCU.
El primer circuito que se comercializo fué el ESP-01, es el mas simple, tiene 8 pines de salida segun se muestra en el esquema, cuenta con antena integrada en el PCB y chip de memoria flash de 512 Kb o 1 Mb.
El ESP NODE-MCU viene con un encapsulado de dos filas de 30 pins
Este es el modelo mas avanzado de ESP8266 aparte del chip 8266, y el módulo de memoria flash y antena, tiene un conversor serie a usb, lo que lo hace directamente configurable a través de un puerto usb de un PC.
Dispone de un reductor de tensión de 5 v a 3.3. Botones para Reset y Flash y 30 pines en placa.
El precio actual del ESP-01 es de 2 € y el del Node-MCU de 8 €.
Con posterioridad ha aparecido el sucesor del 8266, el chip ESP-32
Característica | ESP8266 | ESP32 |
Procesador | Tensilica LX106 | Tensilica Xtensa X36 |
Nº bits | 32 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 | Hasta 16MiB |
Alimentación | 3.0 a 3.6V | 2.2 a 3.6V |
Rango temperaturas | -40ºC a 125ºC | -40ºC a 125ºC |
Consumo de corriente | 80 mA (promedio), 225 mA (máximo) | 80 mA (promedio), 225 mA (máximo) |
Consumo en deep sleep | 20 uA (RTC + memoriaRTC) | 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 | 802.11 b/g/n (hasta +20 dBm) WEP, WPA |
Soft-AP | Si | Si |
Encriptación por hardware | No (TLS 1.2 por software) | Si |
Bluetooth | No | v4.2 BR/EDR + BLE |
Ethernet MAC Interface | No | v4.2 BR/EDR + BLE |
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 | Implementado por software |
CAN BUS | No | 1x2.0 |
Sensor Touch | No | 10 |
Sensor temperatura | No | Si |
Sensor Hall | No | Si |
IR | Si | Si |
Timers | 3 | 4 (64 bits) |
Gen. Núm.Aleatorios | No | Si |
Encriptaciónde la flash | No | Si |
Arranque seguro | No | Si |
Claramente el ESP-32 supone un avance sobre la familia 8266, mas si se tiene en cuenta que el precio de este chip ya montado en PCB está 1-2 € por encima del ESP Node-MCU.
Recientemente, Espressif ha sacado la gama ESP32 C6 Series a 160 MHz con Wi-Fi 6, Bluetooth 5 (LE) y IEEE 802.15.4, que es una señal de la rápida evolución de los productos. De hecho, de seguir en esta línea la gama Arduino, pronto sucumbirá ante la potencia de estos chips no solo por sus prestaciones, sino por sus posibilidades de comunicación.
Veamos que aspecto tiene este chip ESP32, en las placas estándar en las que se monta:
¿Cómo se programa este chip?, la primera forma y mas sencilla es a través del ide de Arduino, cargando las librerías adecuadas. También podemos programarlo a través de Micropython, cargando el firmware adecuado. Vemos la versatilidad del ESP32.