- El ESP32 integra CPU potente, WiFi, Bluetooth y numerosos periféricos en un solo SoC de bajo coste.
- Su pinout altamente multiplexado permite hasta 34 GPIO con ADC, DAC, PWM, táctiles y funciones RTC.
- Existen múltiples familias (WROOM, WROVER, S2, S3, C3, C6, CAM) adaptadas a distintos tipos de proyecto.
- Puede programarse con Arduino, ESP-IDF o MicroPython, cubriendo desde prototipos sencillos hasta productos profesionales.
Si te mueves en el mundo del IoT, la domótica o la automatización, tarde o temprano te toparás con el ESP32. Y cuando empiezas a buscar información, es fácil acabar más liado que al principio: pines por aquí, modelos por allá, modos de bajo consumo, WiFi, Bluetooth, cámaras, PSRAM… Parece un caos, pero en realidad es una plataforma muy coherente si se entiende con calma.
En este artículo vas a encontrar una visión completa y bien organizada del ESP32: qué es exactamente, qué puede hacer a nivel de hardware, cómo se organizan sus pines y funciones especiales, qué familias de chips existen, en qué se diferencian entre sí, qué placas son más habituales, cuándo te conviene cada una y cómo empezar a programarlo en la práctica. La idea es que termines con una foto mental clara del ecosistema ESP32 y sepas elegir y usar la placa correcta sin miedo a equivocarte.
Qué es el ESP32 y por qué se ha vuelto tan popular
El ESP32 es un sistema en chip (SoC) de 32 bits de bajo coste y bajo consumo, desarrollado por Espressif Systems. Integra en el mismo chip un microprocesador potente, conectividad WiFi, Bluetooth clásico y BLE, memoria, conversores analógico-digital y un buen puñado de periféricos. Esto lo convierte en una especie de «navaja suiza» para proyectos conectados.
En las variantes clásicas monta un microprocesador Xtensa LX6 de doble núcleo, que puede trabajar normalmente a 160 o 240 MHz y alcanzar hasta unos 600 DMIPS de rendimiento. En las familias más recientes (como ESP32-C3 o C6) se usan núcleos RISC‑V de bajo consumo, y en otras como S2/S3 se han ido afinando cosas como la memoria, el consumo y las capacidades de IA ligera.
Una de las grandes claves del ESP32 es que incluye WiFi 802.11 b/g/n y Bluetooth (BR/EDR y BLE) en la misma pastilla de silicio, compartiendo la radio. Así evitas tener que acoplar módulos externos para la conectividad, ahorras espacio en la placa y reduces costes. Por eso se ha convertido en un estándar de facto para proyectos de domótica, sensores conectados, automatización y prototipos comerciales.
Además del procesador y la radio, el ESP32 integra en el propio SoC una SRAM de 520 KiB y memoria ROM, junto a controladores para gestionar memoria flash externa por SPI. Los módulos comerciales (como WROOM o WROVER) suelen traer entre 4 y 16 MB de flash integrada, y algunos añaden PSRAM externa para aplicaciones más pesadas (gráficos, cámaras, IA, etc.).
Arquitectura interna, memoria y gestión de energía
En su arquitectura interna, el ESP32 combina uno o dos núcleos principales Xtensa LX6/LX7 o RISC‑V con un coprocesador ULP (Ultra Low Power). Este coprocesador está pensado para ejecutar pequeñas tareas en modos de bajo consumo, por ejemplo leer sensores de forma periódica mientras el resto del chip duerme para ahorrar batería.
La memoria se organiza en varias zonas: además de la SRAM principal de 520 KiB usada por el procesador, el chip dispone de una región RTC RAM rápida (unos 8 kB) y otra RTC RAM lenta (otros 8 kB aproximadamente). La memoria RTC rápida permite conservar datos durante el modo de sueño profundo (deep sleep), de manera que al despertar puedas recuperar configuración o estados sin tener que recalcularlo todo.
En cuanto al almacenamiento, el diseño típico se basa en memoria flash conectada por SPI donde se guarda el firmware y otros datos no volátiles. Muchos módulos ESP32 WROOM vienen con 4 MB de flash, mientras que versiones más avanzadas o orientadas a cámaras (ESP32-WROVER, ESP32-S3 con PSRAM, etc.) pueden irse a 8, 16 MB o más.
La gestión de energía es otro de los puntos fuertes de la plataforma. El chip integra un regulador interno de baja caída (LDO), diferentes dominios de alimentación y varios modos de ahorro. En modo deep sleep el consumo puede bajar a unos 5 μA, despertando mediante GPIO, temporizador, sensor táctil o medidas de ADC, según cómo se haya configurado el RTC y el coprocesador ULP.
En lo relacionado con seguridad, el ESP32 soporta todas las funciones estándar IEEE 802.11 (WPA, WPA2, WPA3 en versiones recientes, WAPI) y ofrece mecanismos de arranque seguro y cifrado de la flash. También integra aceleradores hardware para AES, SHA‑2, RSA, ECC y un generador de números aleatorios (RNG), además de una zona OTP de 1024 bits donde se pueden almacenar claves y parámetros inmutables.
Pinout del ESP32 y multiplexación de funcionalidades
Una de las cosas que más llama la atención cuando te enfrentas por primera vez a un ESP32 DevKitC o similar es la cantidad de pines y funciones alternativas. De entrada puedes tener hasta 34 GPIO en el chip, pero muchos de ellos están multiplexados con otros periféricos internos, o reservados para cosas muy concretas.
La multiplexación de pines es una característica clave del ESP32. La mayoría de señales internas (UART, I2C, SPI, PWM, etc.) se pueden redirigir casi a cualquier GPIO mediante la configuración del «matrix de pines» del chip, sin penalización apreciable en rendimiento. Los valores que suelen figurar en los pinouts de las placas corresponden a la asignación por defecto, pero en general puedes reasignar funciones si lo necesitas.
Al diseñar un proyecto, es importante tener presente que algunos pines tienen restricciones especiales: unos se usan durante el arranque (strapping pins), otros están conectados a la memoria flash SPI, y otros se relacionan con interfaces de depuración como JTAG. Si los usas mal, el sistema puede no arrancar o volverse inestable.
Las placas de desarrollo tipo ESP32 DevKitC o NodeMCU-32S exponen estos pines a través de dos filas de cabeceras. Aunque cada fabricante puede seguir un layout ligeramente distinto, en general comparten la misma numeración de GPIO y la mayoría de funciones, así que los esquemas de pinout y tablas son transferibles de una placa a otra.
Pines especiales: strapping, solo entrada, RTC y táctiles
Dentro del conjunto de GPIO hay un grupo de pines de configuración de arranque o strapping. Se utilizan para decidir el modo en que el chip se inicia, el voltaje de ciertas partes internas y algunos parámetros de la memoria flash SPI. Estos pines se leen durante el reset del sistema y su nivel lógico en ese momento queda latched hasta el siguiente reinicio o apagado.
Entre los pines de strapping habituales en ESP32 están GPIO0, GPIO2, GPIO4, GPIO5, GPIO12 y GPIO15. Por ejemplo, GPIO0 debe estar en nivel bajo (LOW) para entrar en modo de programación (download mode); GPIO2 no debe forzarse a alto durante el arranque; GPIO5 y GPIO15 suelen llevar resistencias de pull-up para garantizar estados correctos; y GPIO12 interviene en la selección del voltaje de ciertas memorias. Aunque pueden reutilizarse en tu circuito, conviene no cargar demasiado estos pines ni ponerles circuitería que modifique su nivel durante el power‑on.
Hay también un pequeño grupo de pines que son solo de entrada digital y/o analógica, es decir, no pueden usarse como salida: GPIO34, GPIO35, GPIO36 y GPIO39. Además, a diferencia del resto de GPIO, estos no tienen resistencias internas de pull‑up ni pull‑down, por lo que tendrás que añadirlas externamente si te hace falta estabilizar su nivel.
Algunos GPIO están conectados al subsistema RTC de bajo consumo y se conocen como GPIO RTC. Incluyen combinaciones como RTC_GPIO0-GPIO36, RTC_GPIO3-GPIO39, RTC_GPIO4-GPIO34, RTC_GPIO5-GPIO35, RTC_GPIO6-GPIO25, RTC_GPIO7-GPIO26, RTC_GPIO8-GPIO33, RTC_GPIO9-GPIO32, RTC_GPIO10-GPIO4, RTC_GPIO11-GPIO0, RTC_GPIO12-GPIO2, RTC_GPIO13-GPIO15, RTC_GPIO14-GPIO13, RTC_GPIO15-GPIO12, RTC_GPIO16-GPIO14 y RTC_GPIO17-GPIO27. Estos pines permiten, entre otras cosas, despertar el chip del modo de sueño profundo mediante el coprocesador ULP o fuentes de interrupción de baja energía.
Además, el ESP32 integra 10 sensores táctiles capacitivos asociados a pines GPIO concretos: TOUCH0 (GPIO4), TOUCH1 (GPIO0), TOUCH2 (GPIO2), TOUCH3 (GPIO15), TOUCH4 (GPIO13), TOUCH5 (GPIO12), TOUCH6 (GPIO14), TOUCH7 (GPIO27), TOUCH8 (GPIO33) y TOUCH9 (GPIO32). Cuando una carga capacitiva (por ejemplo, un dedo) se acerca a estos pines, el chip detecta el cambio de capacitancia y puedes usarlo para botones táctiles, sliders o detección de proximidad sin componentes adicionales.
Por último, hay que mencionar el pin EN (Enable), que controla el regulador interno de 3,3 V del módulo. Suele llevar una resistencia de pull‑up a 3V3 y, si lo llevas a tierra (LOW), desactivas el regulador y, en la práctica, reinicias o apagas el ESP32. Muchos desarrollos lo aprovechan como pin de reset global.
GPIO, interrupciones y funciones analógicas (ADC, DAC, PWM)
En términos generales, el ESP32 ofrece hasta 34 GPIO configurables como entrada o salida digital, con posibilidad de activar resistencias internas de pull‑up o pull‑down en la mayoría de ellos. Casi todos estos pines pueden configurarse como fuentes de interrupción, lo que simplifica bastante el diseño de sistemas reactivos a eventos (botones, sensores, detectores, etc.).
La parte analógica es bastante completa: el ESP32 incorpora dos conversores ADC SAR de 12 bits que proporcionan hasta 18 canales de entrada. Los canales se reparten en ADC1 (8 canales) y ADC2 (10 canales). La asignación típica es la siguiente: ADC1_CH0-GPIO36, ADC1_CH1-GPIO37, ADC1_CH2-GPIO38, ADC1_CH3-GPIO39, ADC1_CH4-GPIO32, ADC1_CH5-GPIO33, ADC1_CH6-GPIO34, ADC1_CH7-GPIO35; y ADC2_CH0-GPIO4, ADC2_CH1-GPIO0, ADC2_CH2-GPIO2, ADC2_CH3-GPIO15, ADC2_CH4-GPIO13, ADC2_CH5-GPIO12, ADC2_CH6-GPIO14, ADC2_CH7-GPIO27, ADC2_CH8-GPIO25 y ADC2_CH9-GPIO26.
Si trabajas con WiFi o Bluetooth activos, hay un detalle importante: ADC2 no está disponible mientras la radio está en uso. En esos casos, para lecturas analógicas debes apoyarte en los canales de ADC1, que sí se pueden usar sin limitar la conectividad. La resolución de 12 bits te da 4096 niveles (0-4095), lo que en un rango típico de 0-3,3 V se traduce en pasos de alrededor de 0,8 mV.
Para la generación de señales analógicas de salida, el ESP32 incluye dos DAC de 8 bits, asociados a GPIO25 (DAC1) y GPIO26 (DAC2). Estos conversores permiten convertir un valor digital entre 0 y 255 en un voltaje analógico entre 0 y 3,3 V, útil para generar formas de onda simples, referencias de tensión, audio básico o modulación de señales sin necesidad de chips externos.
En el campo de los PWM, la placa cuenta con 16 canales de PWM programables gestionados por un controlador específico. Cualquier canal PWM puede mapearse a diferentes GPIO, y se puede ajustar tanto la frecuencia como el ciclo de trabajo. Es ideal para controlar LEDs (incluyendo dimming), servos, motores DC y, en general, cualquier carga que necesite una señal PWM regulable.
Interfaces de comunicación: UART, I2C, SPI y otras
El ESP32 destaca también por la diversidad de interfaces integradas. A nivel serie dispone de tres UART hardware: UART0, UART1 y UART2, capaces de trabajar en modos asíncronos (tipo RS232, RS485) e incluso IrDA, de hasta 5 Mbps. En la mayoría de placas de desarrollo, los pines de UART0 están conectados al conversor USB‑serie y se usan para la programación y depuración, por lo que conviene no reutilizarlos en proyectos finales salvo que sepas muy bien lo que haces.
UART1 suele estar reservado para la memoria flash SPI integrada, especialmente en módulos como el ESP32‑S3 o versiones con flash externa más compleja. Por este motivo, muchas guías recomiendan usar siempre UART2 como puerto serie de usuario cuando quieres conectar otros dispositivos UART (por ejemplo, módulos GPS, otros microcontroladores, etc.).
En el terreno del bus I2C, el ESP32 incorpora uno o dos controladores I2C (según familia) y permite, por defecto, un bus I2C estándar con pines SDA en GPIO21 y SCL en GPIO22. No obstante, igual que con otros periféricos, puedes reubicar SDA y SCL a otros GPIO mediante software, por ejemplo con la función wire.begin(SDA, SCL) en Arduino. En un único bus I2C puedes colgar decenas de sensores y dispositivos siempre que respeten las direcciones disponibles.
En lo que respecta a SPI, el chip ofrece tres buses SPI: SPI, HSPI y VSPI. El bus básico suele utilizarse internamente para la memoria flash integrada, por lo que para tus proyectos te interesan principalmente HSPI y VSPI. Muchas librerías estándar utilizan VSPI por defecto para hablar con pantallas, lectores de tarjetas SD, módulos de radio externos, etc.
Hay un conjunto de pines especialmente delicados asociados a la memoria flash SPI interna: GPIO6 (SCK/CLK), GPIO7 (SDO/SD0), GPIO8 (SDI/SD1), GPIO9 (SHD/SD2), GPIO10 (SWP/SD3) y GPIO11 (CSC/CMD). Estos pines están reservados para la comunicación con la flash y no deben usarse en tus circuitos; conectarlos a algo externo suele provocar bloqueos, errores de arranque o corrupción de datos.
Además de UART, I2C y SPI, el ESP32 integra interfaces I2S, bus CAN 2.0, Ethernet MAC, controladores SD/SDIO, controladores de infrarrojos TX/RX, contadores de pulsos y otros periféricos más avanzados. Esto le permite, por ejemplo, funcionar como gateway de red, reproducir o capturar audio digital, hablar con buses industriales o actuar como controlador de motores y encoders más sofisticados.
Familias y modelos de ESP32: WROOM, WROVER, S2, S3, C3, C6 y ESP32‑CAM
Cuando buscas qué ESP32 comprar, enseguida empiezan a aparecer nombres como WROOM, WROVER, S2, S3, C3, C6 o ESP32‑CAM. No son lo mismo, aunque todos pertenezcan al ecosistema ESP32. Por un lado tenemos el chip SoC «puro», y por otro los módulos y las placas de desarrollo que lo integran junto a otros componentes.
Un «módulo ESP32» (por ejemplo ESP32‑WROOM‑32 o ESP32‑WROVER) es el bloque metálico rectangular que incluye el chip, la memoria flash, a veces PSRAM y la antena. Estos módulos están pensados para soldarse directamente en placas personalizadas. Encima de ellos, muchos fabricantes montan «placas de desarrollo» que añaden puerto USB, reguladores, pines accesibles y botones de reset/boot, como las DevKitC, NodeMCU‑32S, LOLIN32, etc.
Dentro de las familias de chip tenemos, entre otras, estas variantes principales: la serie ESP32 clásica (el original, doble núcleo, WiFi + BT, muy documentado), la serie ESP32‑S2 (un núcleo, sin Bluetooth, con USB nativo, ideal para dispositivos enfocados a WiFi y USB), la serie ESP32‑S3 (dual core, más RAM y soporte mejorado para BLE 5 y aplicaciones con cámara o IA ligera), la serie ESP32‑C3 (núcleo RISC‑V, bajo coste, WiFi + BLE 5, orientado a sustituir al ESP8266) y la serie ESP32‑C6 (con WiFi 6, BLE 5 y soporte para tecnologías como Thread en ciertos escenarios, pensada para domótica y redes modernas).
El módulo ESP32‑WROOM es el más habitual en las placas DevKit tradicionales. Suele traer 4 MB de flash (aunque existen variantes con 8 MB o más), RAM interna estándar y WiFi + Bluetooth integrados. Es ideal para proyectos generales: sensores, automatización, domótica, etc., donde no necesitas cámara ni cantidades muy grandes de RAM adicional.
El módulo ESP32‑WROVER añade PSRAM externa, lo que lo hace más adecuado para proyectos que necesitan mucha memoria: procesamiento de imágenes, buffers grandes, aplicaciones gráficas o IA embarcada. Suele ser algo más caro; si tu proyecto no se va a comer esa memoria extra, en la práctica pagas por algo que no usarás.
La placa ESP32‑CAM se ha convertido en uno de los clásicos para proyectos de videovigilancia de bajo coste. Integra un ESP32 con cámara (normalmente un sensor OV2640) y un slot para tarjeta microSD. Es perfecta para montar cámaras IP caseras, timbres inteligentes o experimentos de visión sencilla. A cambio, ofrece muchos menos GPIO disponibles y resulta algo más delicada de programar y alimentar.
Cómo elegir el modelo de ESP32 adecuado para tu proyecto
Elegir bien el modelo de ESP32 no es tanto cuestión de saberse de memoria todos los nombres, sino de tener claros cuatro requisitos clave: si necesitas cámara, si tu prioridad es el bajo consumo con batería, si tu aplicación requiere mucha memoria (por ejemplo PSRAM) y si necesitas tecnologías concretas como BLE 5 o WiFi 6.
Si estás empezando y quieres una placa para aprender, montar sensores, jugar con WiFi y Bluetooth y seguir la mayoría de tutoriales, lo más sensato suele ser optar por un ESP32 DevKit con módulo WROOM. Es barato, muy compatible con ejemplos y librerías, y tiene documentación a patadas. Para muchos proyectos «normales» de IoT y domótica, esta opción te va a sobrar.
Cuando tu proyecto incluye una cámara integrada, tienes dos grandes caminos: usar una placa ESP32‑CAM (que es muy económica y compacta, ideal para cámaras WiFi sencillas) o irte a un ESP32‑S3 con soporte de cámara y más memoria, si necesitas más rendimiento, algoritmos algo más complejos o una interfaz de usuario con pantalla.
Si tu prioridad es el bajo consumo con alimentación por batería, especialmente en nodos de sensores que pasan la mayor parte del tiempo durmiendo, la familia ESP32‑C3 es muy interesante. Usa arquitectura RISC‑V, tiene WiFi y BLE modernos, un consumo muy ajustado y suficiente potencia para tareas de sensorización, transmisión de datos y lógica básica.
Para proyectos de domótica «de nueva generación», donde se valora tener WiFi 6, BLE 5 y soporte para Thread o Matter en el futuro, la familia ESP32‑C6 es especialmente prometedora. Es algo más nueva y todavía no tan omnipresente como el ESP32 clásico, pero está pensada para encajar en ecosistemas domésticos cada vez más complejos.
Casos de uso típicos y comparativa con otras plataformas
En el día a día, el ESP32 se usa para domótica, sensores, wearables, automatización y prototipos IoT. Un caso típico es el control de relés para luces, enchufes, persianas o motores, con comunicación por WiFi hacia un servidor local o la nube. Otro clásico son los sensores de temperatura, humedad, presencia o calidad del aire que reportan datos periódicamente a un backend.
Gracias al Bluetooth integrado (incluido BLE), también se utiliza mucho en dispositivos portátiles o wearables que hablan con el móvil: medidores de pulso, contadores de pasos, pequeños monitores de sueño, etc. El WiFi se puede reservar para subir datos a Internet o para ofrecer una interfaz web de configuración, mientras que BLE se encarga de la comunicación con la app o con otros sensores cercanos.
Otra aplicación muy común es usar el ESP32 como gateway o cerebro de un sistema que se comunica por UART, SPI o I2C con otros módulos (por ejemplo, un Arduino clásico, sensores industriales, displays, etc.) y que por WiFi expone una API, un MQTT o una interfaz web. También se emplea en proyectos de audio, aprovechando las interfaces I2S y la capacidad de procesar voz y música en tiempo real.
Comparado con un Arduino Uno «puro», el ESP32 ofrece muchísima más potencia de cálculo, conectividad WiFi/Bluetooth integrada, más memoria y más periféricos, manteniendo un coste similar o incluso inferior. Frente al antiguo ESP8266, el ESP32 gana por goleada en núcleos, RAM, número de GPIO y variedad de interfaces.
Si lo comparamos con una Raspberry Pi Pico W, la cosa ya se iguala más en potencia y prestaciones, pero el ecosistema de software y librerías del ESP32 para IoT y domótica es muy maduro. Además, el hecho de tener en el mismo chip todo el stack de conectividad (incluida la parte de seguridad hardware) facilita su uso en productos finales sin necesidad de sistemas operativos completos como en las Raspberry Pi «grandes».
Entornos de desarrollo: Arduino IDE, ESP‑IDF y MicroPython
A la hora de programar un ESP32 tienes varias opciones de entorno de desarrollo. La más popular entre aficionados y makers es usar el ecosistema Arduino: o bien el Arduino IDE tradicional, o bien PlatformIO integrado en Visual Studio Code, que facilita la gestión de librerías y proyectos más grandes.
Para añadir soporte ESP32 en Arduino IDE, se instala el paquete de placas «ESP32 by Espressif» desde el Gestor de Tarjetas, utilizando el enlace de versión estable facilitado por Espressif en su GitHub. Una vez instalado, puedes seleccionar la placa (por ejemplo, «ESP32 Dev Module» o el modelo concreto de tu DevKit) y programarla prácticamente igual que un Arduino, usando funciones como pinMode, digitalWrite, analogRead, etc., además de las librerías específicas para WiFi, Bluetooth, HTTP, MQTT y demás.
El entorno oficial de Espressif es el ESP‑IDF (Espressif IoT Development Framework), un framework en C/C++ que ofrece control muy fino sobre el hardware, el uso de FreeRTOS, la gestión de memoria, el consumo, las pilas de red y las funciones avanzadas de seguridad. Es la opción preferida para proyectos profesionales o que exigen exprimir cada recurso del chip.
Otra alternativa muy cómoda es MicroPython, una implementación ligera de Python orientada a microcontroladores. En el ESP32 permite trabajar con WiFi, BLE, GPIO, I2C, SPI, etc., con scripts en Python que puedes subir y modificar de forma rápida. Es especialmente útil en educación, prototipado rápido y situaciones donde prima la velocidad de desarrollo sobre la máxima eficiencia.
Independientemente del entorno elegido, siempre es recomendable echar un ojo a la documentación oficial de Espressif (datasheets, guías de inicio, referencias de API) y a los ejemplos que incluyen tanto Arduino‑ESP32 como ESP‑IDF. La comunidad en GitHub, foros específicos de ESP32 y plataformas como Reddit también ofrecen un volumen enorme de proyectos listos para adaptar a tus necesidades.
Pinout avanzado, restricciones y expansión con cámara y SD
Cuando se profundiza un poco más en el uso del ESP32, aparecen detalles de pinout avanzados que conviene respetar. Uno de ellos es la incompatibilidad de ADC2 con la radio WiFi/Bluetooth ya mencionada; otro es el papel de los pines JTAG (GPIO12, 13, 14 y 15) si quieres o no hacer depuración hardware. Si no vas a usar JTAG, puedes tratarlos como GPIO normales, siempre que tengas en cuenta también sus funciones de strapping.
Es fundamental planificar el uso de pines de forma cuidadosa, sobre todo en proyectos que pretendan explotar muchas funcionalidades a la vez (GPIO, ADC, I2C, SPI, cámara, SD, etc.). Algunos pines están reservados a alimentación y señales críticas, como 3V3, GND y los conectados a la flash SPI. No deberías extraer corrientes elevadas de los pines de 3V3 o 5V de la placa si el regulador no lo aguanta, ni colgar cargas grandes directamente de los GPIO sin drivers adecuados.
Algunos kits y placas de expansión pensados para ESP32 integran funcionalidades específicas como módulos de cámara OV2640, lector de microSD y soporte de batería 18650. Suelen ofrecer doble fila de pines: una con cabeceras hembra para prototipado rápido y otra con terminales de tornillo para instalaciones más definitivas, por ejemplo en proyectos de IoT «de campo» o instalaciones fijas.
Estas placas suelen añadir resistencias de pull‑up/pull‑down en los pines que controlan la cámara y la microSD, por lo que, si pretendes reutilizarlos como entradas o salidas genéricas, debes revisar la hoja de datos de la expansión. Detalles como la presencia de un interruptor general de alimentación, puertos específicos para carga de batería y LEDs indicadores de estado marcan la diferencia a la hora de montar dispositivos autónomos alimentados por batería.
En la práctica, una combinación de ESP32, cámara OV2640, microSD y alimentación por batería 18650 te permite construir nodos de visión remotos bastante completos, capaces de hacer streaming, capturar imágenes periódicas o ejecutar algoritmos sencillos de detección, cargando la batería por USB cuando sea necesario y manteniendo todo en un formato compacto.
Después de repasar las tripas del chip, su pinout, las familias de productos, los escenarios de uso más típicos y las herramientas de desarrollo, queda claro que el ESP32 ofrece una cantidad enorme de funcionalidades integradas, flexibilidad de diseño y opciones de bajo consumo por un precio muy contenido, lo que lo convierte en una plataforma muy difícil de igualar cuando buscas montar proyectos IoT, domótica o automatización que combinen conectividad inalámbrica, buena capacidad de procesamiento y un ecosistema de software maduro.
Tabla de Contenidos
- Qué es el ESP32 y por qué se ha vuelto tan popular
- Arquitectura interna, memoria y gestión de energía
- Pinout del ESP32 y multiplexación de funcionalidades
- Pines especiales: strapping, solo entrada, RTC y táctiles
- GPIO, interrupciones y funciones analógicas (ADC, DAC, PWM)
- Interfaces de comunicación: UART, I2C, SPI y otras
- Familias y modelos de ESP32: WROOM, WROVER, S2, S3, C3, C6 y ESP32‑CAM
- Cómo elegir el modelo de ESP32 adecuado para tu proyecto
- Casos de uso típicos y comparativa con otras plataformas
- Entornos de desarrollo: Arduino IDE, ESP‑IDF y MicroPython
- Pinout avanzado, restricciones y expansión con cámara y SD