ESP32: guía completa de recursos, familia, programación y aplicaciones
De la primera pregunta al diseño de hardware: el mapa completo del ESP32, en el orden en que lo necesitas.

ESP32 en resumen
El ESP32 es una familia de microcontroladores de 32 bits de Espressif Systems que incluye Wi-Fi y Bluetooth dentro del propio chip, por pocos dólares. En lugar de conectar un microcontrolador a un módulo de radio separado, recibes procesador, memoria, radio y periféricos en un solo componente. Por eso se volvió la opción por defecto para quien quiere poner un sensor, un relé o una pantalla en la red sin montar una placa complicada.
- Fabricante: Espressif Systems, lanzado en 2016 como sucesor del ESP8266.
- Radio: Wi-Fi 802.11 b/g/n en 2,4 GHz, más Bluetooth Clásico y BLE en los modelos que los incluyen.
- Procesador: uno o dos núcleos de 32 bits, hasta 240 MHz (Xtensa o RISC-V, según el modelo).
- Tensión: 3,3 V en los pines y en el núcleo. Los pines no toleran 5 V.
- Programación: ESP-IDF, Arduino, PlatformIO, MicroPython y otros, todos grabando en el mismo chip.
Esta guía es el mapa completo: qué tiene el chip, cómo funciona, qué variantes existen, cómo se programa, dónde sirve (también en la industria) y qué cuidados evitan retrabajo. Cada tema tiene su propio artículo en el portal, y los enlaces van en el camino. Si tienes prisa, ve directo al índice en la parte superior de la página.
¿Qué es el ESP32?
El ESP32 es un system-on-chip (SoC): un único circuito integrado que reúne CPU, memoria, radio y periféricos. Se lanzó en 2016 para sustituir al ESP8266, que solo tenía Wi-Fi y un núcleo, y trajo de una vez dos núcleos, Bluetooth, más memoria y muchos más periféricos.
Antes de él, poner un equipo en la red significaba casar un microcontrolador con un módulo de radio y escribir el código que los hacía conversar. El ESP32 redujo eso a un solo componente, y fue esa simplificación, más que la velocidad, lo que cambió el mercado del IoT.
Conviene separar dos términos que se confunden:
- Chip ESP32: el silicio en sí, que casi nadie manipula directamente.
- Módulo ESP32: el chip junto con la memoria flash, la antena y los componentes de apoyo, en una placa pequeña ya certificada para radio. El ESP32-WROOM-32 y el ESP32-S3-WROOM-1 son ejemplos.
La distinción importa porque las placas de desarrollo y los productos reales se hacen alrededor de un módulo, no del chip desnudo.
Características generales de la familia
Como "ESP32" es una familia, los números varían de un modelo a otro. En general:
- CPU: Xtensa LX6 o LX7 (los modelos más completos) o RISC-V (series C y H, y el P4).
- Frecuencia: de 96 MHz a 240 MHz en la mayoría de los modelos; el P4 llega a 400 MHz.
- Radio: Wi-Fi 802.11 b/g/n en 2,4 GHz (Wi-Fi 6 en el C6), Bluetooth Clásico solo en el ESP32 original, BLE en la mayoría.
- Tensión de operación: 3,3 V.
- GPIO: del orden de 20 a 40 pines utilizables, según el modelo y el módulo.
- ADC: conversor analógico-digital SAR de 12 bits.
- DAC: dos canales de 8 bits en algunos modelos (ESP32 y S2).
- USB: USB nativo (OTG) en los modelos S2 y S3, y USB serie integrado en C3, C6 y H2.
Nota: confirma siempre los valores exactos en la hoja de datos del módulo que vas a comprar. Corriente, temperatura de operación, cantidad de pines y memoria cambian de un módulo a otro, y fijar todo en un único número para la familia entera te engañaría.
Principales recursos del ESP32
Rendimiento de procesamiento
El ESP32 original trae dos núcleos Xtensa LX6 de 32 bits, hasta 240 MHz, y 520 KB de SRAM interna. Dos núcleos permiten repartir el trabajo: uno se ocupa de la pila de red mientras el otro ejecuta tu aplicación. Los modelos más nuevos usan un núcleo RISC-V (C3, C6, H2) para bajar costo y consumo, y el S3 añade instrucciones vectoriales que aceleran redes neuronales pequeñas.
La memoria de programa es una flash externa conectada por SPI, mapeada por caché en el espacio de direcciones. Por eso el programa corre "desde allí" sin copiarse entero a la RAM. Algunos módulos añaden PSRAM, una RAM externa que abre espacio para pantalla, cámara y buffers grandes.
Conectividad inalámbrica integrada
- Wi-Fi: funciona como estación (se conecta a un router), como punto de acceso (crea su propia red) o las dos cosas a la vez. Admite WPA2 y WPA3.
- Bluetooth Low Energy (BLE): ideal para el móvil y sensores de bajo consumo. El ESP32 original también tiene Bluetooth Clásico.
- ESP-NOW: protocolo de Espressif que intercambia mensajes cortos entre placas sin router, con baja latencia.
- 802.15.4: en los modelos C6 y H2, base de Thread, Zigbee y del estándar Matter.

Interfaces periféricas y GPIO
Unos 34 pines programables en el ESP32 original, y casi todos aceptan varias funciones: entrada o salida digital, PWM, UART, I2C, SPI, I2S, CAN (llamado TWAI), sensores táctiles capacitivos y conversión analógica. Un sistema de enrutamiento (la "matriz de GPIO") permite elegir casi libremente qué función va a qué pin, lo que da una libertad de diseño de placa que pocos microcontroladores ofrecen. El original también tiene controlador Ethernet MAC, que permite conectar un chip PHY y usar red cableada.
Consumo de energía y modos de suspensión
El chip cambia de modo según la necesidad:
- Activo: procesador y radio encendidos, en el rango de algunas decenas a poco más de cien miliamperios, con picos mayores al transmitir.
- Modem-sleep: la radio se apaga entre paquetes, y el procesador sigue activo.
- Light-sleep: el procesador se pausa y despierta por un evento, manteniendo la RAM.
- Deep-sleep: casi todo se apaga, quedando solo el coprocesador de ultrabajo consumo (ULP) y la memoria del reloj de tiempo real. El chip consume del orden de microamperios y despierta por temporizador, por pin o por el ULP.
Las placas de desarrollo gastan bastante más que el chip, porque el conversor USB y el regulador quedan siempre encendidos. Para batería, mide tu placa final, y no la de banco.
Arquitectura del ESP32 explicada
Por dentro, el ESP32 está hecho de bloques unidos por buses internos. Entender los bloques ayuda a diagnosticar casi todo problema.

- Núcleos de CPU: uno o dos, con caché de instrucciones y de datos. En el original, el núcleo 0 suele quedarse con el Wi-Fi y el Bluetooth, y el núcleo 1 con tu aplicación.
- Memorias: la ROM interna guarda el bootloader inicial y rutinas básicas; la SRAM guarda variables y la pila; la flash externa guarda el programa y los archivos; la PSRAM, cuando existe, es opcional y más lenta.
- Radio y banda base: el transceptor de 2,4 GHz, la parte digital que arma los paquetes y los controladores de Wi-Fi y Bluetooth.
- Periféricos: GPIO, UART, SPI, I2C, I2S, PWM, ADC, DAC, CAN, Ethernet, sensor táctil y temporizadores. Muchos usan DMA, que mueve datos sin ocupar el procesador.
- Dominio de bajo consumo: el reloj de tiempo real (RTC), una memoria pequeña que sobrevive al deep-sleep y el coprocesador ULP, que lee sensores con el resto apagado.
- Seguridad en hardware: aceleradores de AES, SHA y RSA, generador de números aleatorios, arranque seguro, cifrado de la flash y eFuses, bits que solo se graban una vez y guardan claves y configuraciones.
¿Cómo funciona un ESP32?
Casi todo proyecto repite el mismo ciclo de cinco pasos.
1. Interfaz con sensores
Un sensor se conecta a un pin: digital (un botón), analógico (un potenciómetro) o por bus (I2C, SPI, UART, RS-485).
2. Procesamiento de datos
El programa filtra, convierte unidades y aplica una regla. Aquí decides qué vale la pena enviar, y es lo que separa un sensor que genera tráfico inútil de uno que solo avisa cuando algo cambió.
3. Comunicación inalámbrica
La radio entra en la red Wi-Fi o se empareja por BLE.
4. Envío de datos a la nube
El dato va a un servidor, generalmente por MQTT o HTTP. El artículo sobre la reconexión automática de MQTT muestra cómo resistir una red que se cae.
5. Control de salidas
Vuelve una respuesta y el ESP32 acciona una salida: un relé, un motor, una pantalla, un LED.
No se bloquea esperando la red, porque el Wi-Fi corre en tareas propias del sistema en tiempo real FreeRTOS, que viene incluido. Eso permite leer un sensor cada 100 ms y mantener la conexión con el servidor al mismo tiempo.
Visión general de la serie ESP32
Cada letra del nombre es una elección de proyecto. Los modelos más usados hoy:

- ESP32 (original): dos núcleos Xtensa LX6, Wi-Fi, Bluetooth Clásico y BLE 4.2. El más documentado y el más común en placas baratas.
- ESP32-S2: un núcleo, solo Wi-Fi, USB nativo. Más simple, sin Bluetooth.
- ESP32-S3: dos núcleos Xtensa LX7, BLE 5, USB nativo, interfaz de cámara e instrucciones vectoriales para aprendizaje automático. Admite PSRAM externa (son comunes los módulos de 2 a 8 MB). Es la elección para proyectos nuevos que piden rendimiento.
- ESP32-C3: un núcleo RISC-V de 160 MHz, Wi-Fi y BLE 5. Es de los más baratos con radio completa.
- ESP32-C6: RISC-V, Wi-Fi 6 y radio 802.15.4, la base de Thread, Zigbee y Matter.
- ESP32-H2: solo BLE y 802.15.4, sin Wi-Fi, para redes de bajo consumo.
- ESP32-P4: dos núcleos RISC-V a 400 MHz, sin radio propia, con interfaces de cámara y vídeo. Fue pensado para pantallas e interfaces locales, y no para conectividad.
El comparador técnico del portal pone las familias lado a lado, y la página elige tu ESP32 ayuda a decidir.
Módulos y placas de desarrollo populares
En prototipos compras una placa de desarrollo, que añade al módulo el conversor USB-serie, el regulador de 3,3 V y los botones de reset y de boot. En un producto, el camino es diseñar una placa propia alrededor del módulo.

- ESP32-DevKitC: la placa de referencia de Espressif, ideal para aprender.
- ESP32-CAM: incluye cámara OV2640 y lector microSD, para vídeo y fotos.
- Módulo WROOM en adaptador: para quien quiere un módulo certificado en protoboard o en una placa de producto.
- ESP32-S3 DevKit: la opción actual para cámara, pantalla e inteligencia artificial.
- M5Stack CoreS3 y ESP32-Ethernet-Kit: productos listos con pantalla o con red cableada.
El catálogo de placas tiene la ficha técnica de cada una.
Ecosistema de desarrollo de software del ESP32
El mismo chip admite varios caminos de programación. Cada uno tiene su propia página en el portal: ESP-IDF, Arduino, MicroPython, ESP-Matter y ESP-DSP.

ESP-IDF (framework oficial)
Es el framework de Espressif, en C y C++, construido sobre FreeRTOS. Da acceso a todo: todos los periféricos, red, seguridad, actualización OTA y particionado de la flash. Es lo que sostiene los productos comerciales.
Arduino
El núcleo Arduino para ESP32 esconde la complejidad detrás de funciones simples, como `digitalWrite` y `WiFi.begin`. Excelente para aprender y prototipar, y corre sobre el ESP-IDF por debajo. Un ejemplo mínimo, que se conecta al Wi-Fi y muestra la dirección y la fuerza de la señal:
| 1 | #include <WiFi.h> |
| 2 | |
| 3 | const char* ssid = "TU_RED"; |
| 4 | const char* clave = "TU_CLAVE"; |
| 5 | |
| 6 | void setup() { |
| 7 | Serial.begin(115200); |
| 8 | WiFi.begin(ssid, clave); |
| 9 | while (WiFi.status() != WL_CONNECTED) { |
| 10 | delay(500); |
| 11 | Serial.print("."); |
| 12 | } |
| 13 | Serial.printf("\nIP: %s señal: %d dBm\n", |
| 14 | WiFi.localIP().toString().c_str(), WiFi.RSSI()); |
| 15 | } |
| 16 | |
| 17 | void loop() {} |
PlatformIO
No es un lenguaje, es un entorno de desarrollo: gestiona placas, bibliotecas y compilación, y permite usar Arduino o ESP-IDF en el mismo proyecto. El artículo qué es PlatformIO lo explica, y los primeros pasos en VS Code te llevan al primer programa.
MicroPython y Zephyr
MicroPython cambia el C por Python: rápido para probar una idea, más lento y pesado en memoria que el código compilado. Zephyr es un sistema operativo en tiempo real de código abierto, con soporte para el ESP32, útil cuando el proyecto necesita el mismo código en chips de fabricantes distintos.
Sistemas operativos en tiempo real
FreeRTOS viene dentro del ESP-IDF y del núcleo Arduino. Divide el programa en tareas con prioridades, colas y temporizadores, y es lo que permite hacer varias cosas a la vez en un chip con pocos núcleos. Si solo usas `setup` y `loop`, ya estás usando tareas sin darte cuenta.
Comunidad y documentación
Espressif mantiene documentación detallada, hojas de datos y ejemplos, y la comunidad es una de las mayores entre los microcontroladores. Para los términos, usa el glosario del portal; para tu error específico, CopiBR responde.
Aplicaciones comunes del ESP32

Aplicaciones de consumo
Bombillas y enchufes inteligentes, termostatos, sensores de puerta, paneles con pantalla, wearables, juguetes conectados. El soporte del estándar Matter en los modelos C6 y H2 acerca el ESP32 a los productos de estantería.
Aplicaciones industriales
Monitoreo de temperatura y vibración de motores, conteo de piezas, lectura de medidores por Modbus RTU en RS-485, gateways que llevan el dato de la planta hasta el SCADA. El portal tiene un artículo práctico de cada uno: lectura Modbus RTU, contador de producción y envío a SCADA y MES.
Aplicaciones avanzadas
Visión por computador ligera, reconocimiento de voz por palabra clave, robótica, agricultura de precisión, redes de sensores inalámbricos e incluso modelos de lenguaje muy pequeños, como muestra el artículo sobre llama2.c en el ESP32-S3.
¿Qué ESP32 es el adecuado para tu proyecto?
Pregunta por lo que el proyecto exige, y no por el nombre más famoso.
- Aprender y prototipar: ESP32 original o S3, por la cantidad de ejemplos.
- Sensor simple y barato con Wi-Fi: ESP32-C3.
- Cámara, pantalla, audio o IA: ESP32-S3, con PSRAM.
- Casa inteligente con Matter, Thread o Zigbee: ESP32-C6 (con Wi-Fi) o H2 (sin Wi-Fi).
- Interfaz gráfica local de alto rendimiento: ESP32-P4, normalmente acompañado de un chip de radio.
- Batería durante años: el modelo importa menos que el diseño, con deep-sleep y pocos envíos al día.
- Red cableada: ESP32 original con PHY o una placa con Ethernet, como la ESP32-Ethernet-Kit.
¿Todavía con dudas? Responde algunas preguntas en el selector Elige tu ESP32 y recibe una recomendación, compara las familias lado a lado en el comparador técnico y mira la ficha de cada placa en el catálogo de placas.
Elegir mi ESP32: responder el selector
ESP32 vs otros microcontroladores populares
- ESP8266: el antecesor. Un núcleo, solo Wi-Fi y menos pines. Todavía sirve para proyectos simples, pero el ESP32-C3 cuesta parecido y hace más.
- Arduino Uno (ATmega328P): 8 bits, 16 MHz, 2 KB de RAM, pines de 5 V y ninguna red. Es más simple y robusto para entrada y salida básica, pero no se conecta.
- STM32: microcontroladores ARM Cortex-M con periféricos muy completos y excelente tiempo real, usados en mucho producto industrial. Generalmente sin radio integrada, y la plataforma tiene una curva de aprendizaje mayor.
- Raspberry Pi Pico W (RP2040): dos núcleos Cortex-M0+, bueno para programar en Python y con los bloques PIO. El Wi-Fi viene de un chip separado, y el ecosistema de red es menor.
- nRF52: foco en Bluetooth Low Energy y consumo mínimo, sin Wi-Fi. Vence al ESP32 cuando el proyecto es solo BLE con batería.
- Raspberry Pi (computador): corre Linux, para base de datos, vídeo y muchos servicios. El ESP32 arranca en milisegundos y consume poco, pero hace una cosa a la vez.
Ventajas y desventajas del ESP32
Ventajas del ESP32
- Costo muy bajo para lo que entrega.
- Wi-Fi y Bluetooth integrados, sin módulo extra.
- Ecosistema enorme de bibliotecas, ejemplos y respuestas.
- Actualización de firmware por el aire (OTA).
- Consumo ajustable, del modo activo al deep-sleep.
- Seguridad en hardware: arranque seguro y cifrado de la flash.
Desventajas del ESP32
- Lógica de 3,3 V. Los pines no toleran 5 V. Conectar una salida de 24 V o de 5 V directamente daña el chip, y en la industria eso pide optoacoplador o un módulo de interfaz.
- ADC poco lineal. La lectura analógica del ESP32 original tiene desvío, y el ADC2 queda no disponible mientras el Wi-Fi está encendido.
- Ruido de radio. El Wi-Fi y el Bluetooth generan picos de corriente de cientos de miliamperios. Una fuente débil causa reinicios aparentemente inexplicables.
- No es un PLC. No tiene certificación de seguridad funcional, y el firmware depende de quien lo escribió. Usa el ESP32 como gateway y sensor, y deja el enclavamiento de seguridad a equipos hechos para eso.
- Radio solo en 2,4 GHz en la mayoría de los modelos, una banda congestionada en ambientes llenos de redes.
Directrices de diseño de hardware del ESP32
- Alimentación: diseña para el pico de corriente del Wi-Fi, con un condensador cerca del módulo. La fuente débil es la causa número uno de reinicios misteriosos.
- Antena: deja la zona de la antena libre de metal, cobre y plano de tierra, y usa un módulo con antena adecuada a la caja.
- Pines de arranque (strapping): el GPIO0, el GPIO2, el GPIO5, el GPIO12 y el GPIO15 definen cómo arranca el chip. Un sensor o un pull-down conectado ahí puede impedir que la placa inicie.
- Pines de la flash: los GPIO6 a 11 están unidos a la flash externa en la mayoría de los módulos. No los uses.
- Pines solo de entrada: del GPIO34 al 39 no tienen resistencia interna de pull-up.
- Protección de entradas y salidas: aísla las señales industriales con optoacoplador, y protege contra sobretensión y descarga electrostática.
- Reinicio seguro: usa el watchdog. El artículo watchdog y recuperación de fallos muestra cómo el equipo se recupera solo.
- Actualización en campo: planifica el OTA desde el principio, con partición de vuelta atrás, como en el artículo de actualización OTA en el ESP32.
- Seguridad: en un producto, activa el arranque seguro y el cifrado de la flash antes de que salga la primera unidad.
Preguntas frecuentes sobre el ESP32
P: ¿Cuál es el papel del ESP32 en las arquitecturas de IoT?
Suele ser el nodo de borde: lee sensores, filtra el dato y lo envía por MQTT o HTTP a un servidor, desde donde sigue a paneles y bases de datos. En arquitecturas mayores también hace de gateway, traduciendo un protocolo de campo (como Modbus) a la red IP.
P: ¿Cómo afectan las capacidades inalámbricas a la seguridad de red?
Conectar un equipo al Wi-Fi lo expone a la red. Usa WPA2 o WPA3, TLS en las conexiones con el servidor, credenciales únicas por dispositivo, firmware firmado y una red separada (VLAN) para los dispositivos IoT. El arranque seguro y el cifrado de la flash protegen el firmware contra copia y sustitución.
P: ¿Cuándo es mejor el ESP32 que un microprocesador tradicional?
Cuando el proyecto necesita arrancar rápido, consumir poco, responder en tiempo real y costar poco, sin sistema operativo completo. Si el proyecto exige base de datos, interfaz gráfica rica o vídeo pesado, un computador de placa única es la mejor elección.
P: ¿Por qué usar ESP-IDF en lugar de Arduino en productos comerciales?
Porque el ESP-IDF da control fino de memoria, tareas, particiones, OTA, seguridad y consumo, y acompaña las correcciones de Espressif sin capa intermedia. Arduino es excelente para validar la idea, y muchos equipos pasan al ESP-IDF cuando el producto va a producción.
P: ¿Cuáles son los desafíos de alimentación en dispositivos con batería?
Los picos de corriente de la radio, que tumban baterías débiles, y el consumo escondido en la placa (regulador, conversor USB, LEDs). La solución es deep-sleep, pocos envíos al día, un regulador de baja corriente en reposo y medir la placa final.
P: ¿Cómo sortear la no linealidad del ADC?
Calibra con los valores de fábrica grabados en el chip, promedia varias lecturas, evita los extremos del rango y, para medición de precisión, usa un conversor externo (como un ADS1115) por I2C.
P: ¿Qué son los pines de arranque (strapping) y por qué son arriesgados?
Son pines leídos en el instante en que el chip enciende para decidir el modo de arranque y detalles como la tensión de la flash. Si el circuito de la placa los fuerza a un nivel equivocado, el ESP32 no inicia o graba mal. Revisa la hoja de datos de tu módulo antes de conectar algo a esos pines.
Conclusión
El ESP32 reúne procesamiento, radio y periféricos en un componente barato y bien documentado, y por eso se volvió la base de una enorme variedad de productos conectados, de la bombilla inteligente al gateway industrial. Elegir el modelo correcto, cuidar la alimentación, proteger los pines y planificar OTA y seguridad desde el principio es lo que separa un prototipo de banco de un equipo que funciona años sin visita.
El camino más corto para empezar: elige una placa en el catálogo, instala PlatformIO siguiendo el artículo de VS Code, graba el ejemplo de Wi-Fi de arriba y lee un sensor. Después evoluciona a MQTT, monitoreo continuo y OTA.
