ESP32: introducción a la familia de microcontroladores
El ESP32 es una familia de microcontroladores SoC (System on Chip) de bajo costo y bajo consumo, creada por Espressif Systems. Es la evolución directa del ESP8266 y se ha convertido en un estándar de la industria para el Internet de las Cosas gracias a integrar Wi-Fi y Bluetooth en un solo chip.
¿Qué es el ESP32?
A diferencia de un Arduino UNO clásico, que solo trae un microcontrolador sin conectividad, el ESP32 integra en una misma pastilla el procesador, la memoria, el radio Wi-Fi y el Bluetooth. Eso permite construir proyectos conectados a internet o controlados desde el móvil sin añadir módulos externos, con un coste por unidad de apenas unos pocos dólares.
Características principales
Varían según el modelo concreto, pero toda la familia comparte esta base:
- Procesamiento: doble núcleo Xtensa (LX6 o LX7) o núcleo único RISC-V en las series C y H, con frecuencias de hasta 240 MHz.
- Conectividad: Wi-Fi 802.11 b/g/n (Wi-Fi 6 en los modelos más nuevos) y Bluetooth Classic y/o BLE, según la variante.
- Memoria: SRAM integrada (por ejemplo 520 KB) ampliable con Flash externa y PSRAM, hasta 8 MB o más en modelos como el S3.
- Pines GPIO: hasta 34 pines de propósito general, asignables por software a UART, I2C, SPI, ADC, DAC o PWM.
- Eficiencia energética: modos de sueño profundo (deep sleep) muy optimizados, ideales para baterías o energía solar.
- Seguridad: aceleración por hardware para AES, SHA, RSA y ECC, con soporte de arranque seguro (secure boot).
Modelos y variantes de la familia
Espressif ha ampliado la familia para cubrir distintos nichos. Estas son las diferencias clave:
- ESP32 (original / clásico): doble núcleo Xtensa, Wi-Fi + Bluetooth Classic y BLE. Es, junto al S2, el único con un DAC real (conversor digital a analógico) integrado.
- ESP32-S2: núcleo único Xtensa, enfocado en aplicaciones con USB OTG nativo y bajo consumo. Tiene DAC real, pero no incluye Bluetooth.
- ESP32-S3: doble núcleo Xtensa con instrucciones vectoriales para acelerar IA y procesamiento de señales. Ideal para visión artificial (por ejemplo el módulo ESP32-CAM) o interfaces con pantallas, y admite grandes cantidades de PSRAM.
- ESP32-C3: núcleo único RISC-V. Pensado como reemplazo directo, económico y de consumo ultrabajo del ESP8266, con Wi-Fi 4 y Bluetooth 5 (LE).
- ESP32-C6: núcleo RISC-V con soporte para Wi-Fi 6 (802.11ax), Thread y Zigbee (IEEE 802.15.4), además de Bluetooth 5. La opción principal para domótica moderna y el estándar Matter.
- ESP32-H2: núcleo RISC-V enfocado exclusivamente en redes de malla (mesh) y consumo mínimo. Soporta Thread/Zigbee y Bluetooth 5 (LE), pero no incluye Wi-Fi.
| Modelo | Núcleo | Wi-Fi | Bluetooth | DAC |
|---|---|---|---|---|
| ESP32 | Doble Xtensa | Sí | Classic + BLE | Sí |
| ESP32-S2 | Xtensa | Sí | No | Sí |
| ESP32-S3 | Doble Xtensa | Sí | BLE | No |
| ESP32-C3 | RISC-V | Sí | BLE | No |
| ESP32-C6 | RISC-V | Wi-Fi 6 | BLE | No |
| ESP32-H2 | RISC-V | No | BLE | No |
Casos de uso típicos
- Domótica e IoT: sensores de ambiente, interruptores inteligentes y automatización del hogar, especialmente con C6 o H2 para Zigbee/Thread.
- Wearables y dispositivos portátiles: gracias a sus modos de bajo consumo y a formatos de placa reducidos, como las versiones «SuperMini» o el C3.
- Visión artificial y audio: el ESP32-S3 es una buena opción para reconocimiento de voz, procesamiento de imágenes o streaming de vídeo básico.
- Prototipado industrial: monitoreo de maquinaria, telemetría y sistemas de respaldo que necesitan conectividad inalámbrica robusta.
Entornos de desarrollo
El ESP32 se puede programar desde varios entornos, según el nivel de control que necesites:
- ESP-IDF: el framework oficial de Espressif, basado en C/C++. Ofrece el máximo control, rendimiento y acceso a todas las funciones del hardware.
- Arduino IDE: el más popular para prototipado rápido, con una comunidad enorme y librerías ya listas para usar.
- MicroPython / CircuitPython: permite programar el ESP32 directamente en Python, ideal para scripts rápidos, educación o integrar lógica de alto nivel sin compilar código C++.
¿Cuál elegir?
Si necesitas Wi-Fi + Bluetooth clásico y salida de audio analógica (DAC), usa el ESP32 original.
Si tu proyecto involucra IA, cámaras o pantallas, usa el ESP32-S3.
Si buscas algo barato, simple y de bajo consumo (tipo ESP8266), usa el ESP32-C3.
Si vas a trabajar con domótica moderna (Matter, Zigbee, Thread), usa el ESP32-C6 si necesitas Wi-Fi, o el ESP32-H2 si solo necesitas red de malla y Bluetooth.