¿Qué ESP32 elegir para robótica y DIY? ESP32, S2, S3, C3, C6 y P4
Verificado con la documentación oficial de Espressif el 9 de octubre de 2026. El artículo compara las capacidades de los microcontroladores; una placa concreta puede ofrecer solo una parte de ellas.
Para un robot pequeño, elegir un ESP32 empieza por preguntas bastante terrenales: con qué controlar los motores, dónde conectar los encoders, si habrá memoria suficiente para una cámara y cómo transmitir las órdenes. La frecuencia del procesador importa, pero no sustituye las respuestas a esas preguntas. Por ejemplo, el C6 añade Wi-Fi 6 y una interfaz de radio para Thread/Zigbee, el S3 combina dos núcleos principales con USB e interfaces de cámara, y el P4 pone el acento en el cálculo y en lo multimedia. Eso sí, el propio P4 no tiene radio inalámbrica integrada. [D3], [D5], [D6]
A continuación van seis familias con distintas capacidades útiles para DIY: ESP32 clásico, ESP32-S2, ESP32-S3, ESP32-C3, ESP32-C6 y ESP32-P4. Es una selección práctica, no una clasificación por ventas. Primero compararemos los recursos de hardware y después veremos cómo influyen en la elección para un proyecto.

Qué comparamos exactamente
Chip, módulo y placa son niveles distintos de un producto. El chip, o SoC, contiene el procesador, la memoria y los periféricos. El módulo lo reúne con componentes adicionales: por ejemplo, Flash, PSRAM, un cristal de cuarzo y una antena. La placa de desarrollo añade la alimentación, los conectores, los botones y, a veces, una pantalla o una cámara. La presencia y el tamaño de la memoria hay que comprobarlos por la designación completa del producto: no se puede atribuir a todos los S3 la memoria de un módulo marcado como N16R8. Esta distinción se describe en la guía de Espressif para elegir plataforma.
Para leer las tablas hacen falta algunas precisiones:
- En la columna ESP32 se toma como base el ESP32-D0WD-V3, de dos núcleos. En la familia clásica hay también otras variantes, entre ellas el ESP32-S0WD, de un solo núcleo (NRND, hasta 160 MHz); el máximo general de la familia no está garantizado en cada chip. [D1]
- En la columna P4 se consideran los ESP32-P4NRW16X y ESP32-P4NRW32X, revisión v3.x. La hoja de datos guardada tiene el estado Pre-release v0.7 / PRELIMINARY; sus características eléctricas son preliminares. Los primeros P4 no se pueden describir automáticamente con estas mismas cifras. [D6]
- Las frecuencias indicadas son las máximas; las frecuencias de dos núcleos no se suman. HP designa los núcleos principales de cálculo, y LP/ULP, un subsistema independiente para trabajar con bajo consumo.
- El número de GPIO y de entradas analógicas es un recurso de hardware del chip o de la variante. En una placa, parte de los pines está ocupada por la memoria, los pines de strapping y los periféricos montados. Varias funciones de un mismo GPIO no pueden contarse como varios pines independientes. [D1], [D2], [D3], [D4], [D5], [D6]
- Los tamaños de memoria se dan en la notación del fabricante, KB y MB. La SRAM, la memoria RTC/LP y la PSRAM se muestran por separado; el tamaño del heap disponible para la aplicación depende del firmware, de la caché y de los componentes del sistema.
Las referencias D1–D6 llevan a las hojas de datos oficiales. Sus copias locales, las versiones y la indicación de los apartados están al final del artículo.
1. Cálculo y memoria
| Característica | ESP32 [D1] | ESP32-S2 [D2] | ESP32-S3 [D3] | ESP32-C3 [D4] | ESP32-C6 [D5] | ESP32-P4 v3.x [D6] |
|---|---|---|---|---|---|---|
| CPU principal | Xtensa LX6, 32 bits | Xtensa LX7, 32 bits | Xtensa LX7, 32 bits | RISC-V, 32 bits | RISC-V, 32 bits | RISC-V, 32 bits |
| Núcleos principales × frecuencia máxima | 2 × 240 MHz | 1 × 240 MHz | 2 × 240 MHz | 1 × 160 MHz | 1 × 160 MHz | 2 × 400 MHz |
| Coprocesador de bajo consumo | ULP-FSM | ULP-FSM / ULP RISC-V | ULP-FSM / ULP RISC-V | Sin núcleo ULP/LP programable | LP RISC-V, hasta 20 MHz | LP RISC-V, hasta 40 MHz |
Cálculo de float por hardware | FPU, precisión simple | Sin FPU | FPU, precisión simple | Sin FPU | Sin FPU | FPU, precisión simple |
| Funciones para DSP y cálculo vectorial | Instrucciones DSP, entre ellas MAC | Multiplicación y división de enteros | Instrucciones vectoriales de 128 bits / SIMD | Multiplicación y división de enteros | Multiplicación y división de enteros | Operaciones vectoriales de 128 bits, extensiones AI/DSP |
| SRAM interna principal | 520 KB | 320 KB | 512 KB | 400 KB, de ellos 16 KB para la caché | 512 KB de HP SRAM | 768 KB de HP L2MEM; aparte, 8 KB de SPM |
| RTC / LP SRAM | 16 KB | 16 KB | 16 KB | 8 KB | 16 KB | 32 KB |
| Flash | QSPI externa; en algunas variantes, en el encapsulado | SPI/QSPI/OSPI externa; hay variantes con memoria en el encapsulado | SPI/QSPI/OSPI externa; hay variantes con memoria en el encapsulado | SPI/QSPI externa o en el encapsulado | SPI/QSPI externa o en el encapsulado | Externa, a través del controlador MSPI |
| PSRAM como ampliación de la memoria direccionable | Sí, a través de la caché | Sí, a través de la caché | Sí, a través de la caché, incluido Octal SPI | No se admite de forma nativa | No se admite de forma nativa | 16 o 32 MB en el encapsulado de las variantes elegidas |
La ausencia de FPU en el S2, el C3 y el C6 se ha comprobado además en la documentación de ESP-IDF: en ellos, los cálculos con float se hacen por software. La FPU del ESP32, el S3 y el P4 es de precisión simple, así que double se calcula por software en los seis chips. Eso no impide escribir un regulador o un filtro, pero en una tarea con muchos cálculos de este tipo hay que medir el tiempo de ejecución. [Optimización de la velocidad, ESP-IDF: ESP32], [S2], [S3], [C3], [C6] [D6, §4.1.1.1]
La PSRAM y la Flash cumplen funciones distintas. En la Flash se guardan el firmware y los datos permanentes; la PSRAM amplía la memoria de trabajo. En el ESP32 clásico, la hoja de datos admite hasta 8 MB de RAM externa, pero la ventana que se puede mapear a la vez es de hasta 4 MB. Por eso «admite tanta memoria» y «toda la memoria está disponible como un único array continuo» son afirmaciones distintas. El S3 también tiene límites de mapeo, descritos aparte del tamaño físico de la memoria que se le conecta. [D1, §4.1.3] [D3, §4.1.2.2]
No conviene elegir el C3 ni el C6 contando con añadir más adelante PSRAM como heap normal de la aplicación. En el C3, a través de la caché solo se mapea la Flash externa, y la propia caché es de solo lectura. La hoja de datos del C6 también habla únicamente de Flash, y que el C6 no admite PSRAM lo confirman expresamente las FAQ del fabricante. Leer un chip de memoria independiente por un SPI convencional es otra forma de trabajar, que no equivale a ampliar la RAM direccionable. [D4, §4.1.2.2–4.1.2.3] [D5, §4.1.2.2] [FAQ sobre PSRAM]
En el S2 y el S3, el ULP es un subsistema auxiliar, no un núcleo más en pie de igualdad para la aplicación principal. En concreto, en ambos chips las opciones ULP-FSM y ULP RISC-V no pueden funcionar a la vez. [D2, §4.1.1.2] [D3, §4.1.1.3]
2. Wi-Fi, Bluetooth y otros protocolos de radio
| Característica | ESP32 [D1] | ESP32-S2 [D2] | ESP32-S3 [D3] | ESP32-C3 [D4] | ESP32-C6 [D5] | ESP32-P4 v3.x [D6] |
|---|---|---|---|---|---|---|
| Wi-Fi integrado | 802.11b/g/n, Wi-Fi 4 | 802.11b/g/n, Wi-Fi 4 | 802.11b/g/n, Wi-Fi 4 | 802.11b/g/n, Wi-Fi 4 | 802.11b/g/n/ax, Wi-Fi 6 | No |
| Banda Wi-Fi | 2,4 GHz | 2,4 GHz | 2,4 GHz | 2,4 GHz | 2,4 GHz | — |
| Ancho de canal | 20/40 MHz para 802.11n | 20/40 MHz | 20/40 MHz | 20/40 MHz | 20 MHz para ax; 20/40 MHz para n | — |
| STA / SoftAP / STA+SoftAP | Sí / sí / sí | Sí / sí / sí | Sí / sí / sí | Sí / sí / sí | Sí / sí / sí; ax se indica para non-AP | — |
| Bluetooth Classic, BR/EDR | Sí, Bluetooth 4.2 | No | No | No | No | No |
| Bluetooth LE | 4.2 según la hoja de datos; existe certificación LE 5.0, véase la explicación | No | Bluetooth 5 LE | Bluetooth 5 LE | LE, certificación Bluetooth 5.3 | No |
| PHY de Bluetooth LE | LE 1M | — | LE 1M, 2M, Coded 125/500 kbit/s | LE 1M, 2M, Coded 125/500 kbit/s | LE 1M, 2M, Coded 125/500 kbit/s | — |
| IEEE 802.15.4 | No | No | No | No | 2,4 GHz, 250 kbit/s | No |
| Thread / Zigbee según la hoja de datos | Sin radio 802.15.4 integrada | Sin radio 802.15.4 integrada | Sin radio 802.15.4 integrada | Sin radio 802.15.4 integrada | Thread 1.3 / Zigbee 3.0 | Sin radio 802.15.4 integrada |
El Wi-Fi 6 del C6 no significa Wi-Fi a 5 GHz. Su radio trabaja en la banda de 2,4 GHz. Además, la hoja de datos limita 802.11ax a un canal de 20 MHz y al papel de cliente (non-AP): que haya SoftAP no significa que el C6 cree un punto de acceso Wi-Fi 6. Para n se prevén canales de 20/40 MHz. Aquí las ventajas de ax tienen que ver, en particular, con OFDMA y con el mecanismo Target Wake Time, no con la promesa de una velocidad máxima a la altura de un portátil. [D5, Features → Wi-Fi]
La velocidad PHY máxima que figura en las características de radio no es la velocidad a la que se transfieren los datos útiles por TCP, MQTT o HTTP. Por eso, comparar microcontroladores solo por la cifra de «Mbit/s» diría poco: en el resultado influyen el modo de la radio, la pila de protocolos y la aplicación. Para medir la tasa de transferencia real, Espressif tiene el ejemplo iperf, y la guía de Wi-Fi describe qué ajustes de la pila influyen en ella. [Rendimiento del Wi-Fi, ESP-IDF] [Ejemplo iperf]
Con el ESP32 clásico hay una trampa en la denominación del Bluetooth. La hoja de datos actual recoge BR/EDR y LE de la especificación 4.2. El fabricante también ha comunicado la certificación LE 5.0, pero en sus FAQ lo aclara sin rodeos: este chip no admite las funciones nuevas de LE 5.0. No se le puede atribuir LE 2M ni Coded PHY basándose solo en la certificación. En el S3, el C3 y el C6, estos PHY figuran en las hojas de datos. [D1], [D3], [D4], [D5] [FAQ de Bluetooth]
Si el proyecto depende de Bluetooth Classic, por ejemplo del perfil SPP, eso es un requisito de selección aparte. BLE usa otro conjunto de protocolos y perfiles; el rótulo «Bluetooth 5» no significa por sí solo compatibilidad con Classic. Entre los seis principales, solo el ESP32 clásico tiene Classic. Fuera de ellos la situación ya está cambiando: más abajo se trata el S31. [Visión general de Bluetooth en ESP-IDF] [Perfiles Classic, incluido SPP]
ESP-NOW es un protocolo de Espressif para intercambiar datos sin conectarse a una red Wi-Fi convencional. Usa la radio Wi-Fi, no un bloque de radio aparte. Es una opción interesante para un mando, telemetría y sensores. Que haya un P4 en la placa no proporciona ESP-NOW por sí solo: hará falta un chip de radio independiente y la integración de software correspondiente. [Visión general de ESP-NOW] [ESP-NOW en ESP-IDF] [D6]
Matter es un protocolo de aplicación, así que no existe una fila de hardware aparte para una «radio Matter». Espressif ofrece Matter sobre Wi-Fi y sobre Thread. El C6 tiene una radio 802.15.4 para Thread, y en los modelos con Wi-Fi son posibles soluciones Matter over Wi-Fi; la compatibilidad real depende del SDK y de la configuración del dispositivo. Zigbee y Thread usan 802.15.4, pero siguen siendo pilas de protocolos distintas. La hoja de datos del C6 indica Thread 1.3; en enero de 2025, Espressif anunció la certificación de compatibilidad del C6 con Thread 1.4. Que un solo C6 pueda trabajar con varios protocolos tampoco significa varios canales de radio independientes: Wi-Fi, BLE y 802.15.4 conviven en una sola antena y una sola cadena de radiofrecuencia de 2,4 GHz. [Introducción a ESP-Matter] [Certificación Thread 1.4] [D5, Product Overview]
3. Periféricos: qué conectar al microcontrolador
En la fila SPI se cuentan los GP-SPI de usuario, sin los controladores que atienden a la Flash/PSRAM. Las interfaces LP se indican por separado: pueden tener otras limitaciones. La cantidad de MCPWM indica el número de bloques periféricos; la de PCNT, el número de bloques de conteo, y la de LEDC, el número de salidas PWM. Estas unidades no son intercambiables.
| Característica | ESP32 [D1] | ESP32-S2 [D2] | ESP32-S3 [D3] | ESP32-C3 [D4] | ESP32-C6 [D5] | ESP32-P4 v3.x [D6] |
|---|---|---|---|---|---|---|
| GPIO, máximo según la hoja de datos | 34, de ellos 6 solo de entrada | 43 | 45 | 22 o 16, según la variante | 30 en QFN40 / 22 en QFN32 | 55 |
| GP-SPI | 2 | 2 | 2 | 1 | 1 | 2 + LP-SPI |
| UART | 3 | 2 | 3 | 2 | 2 + LP-UART | 5 + LP-UART |
| I²C | 2 | 2 | 2 | 1 | 1 + LP-I²C | 2 + LP-I²C |
| I²S | 2 | 1 | 2 | 1 | 1 | 3 + LP-I²S para recepción |
| ADC: número de bloques × resolución; entradas | 2 × 12 bits; 18 entradas | 2 × 12 bits; 20 entradas, véase la nota | 2 × 12 bits; 20 entradas | 2 × 12 bits; 6 entradas por hardware, limitación del ADC2 | 1 × 12 bits; 7 entradas | 2 × 12 bits; 14 entradas |
| DAC | 2 × 8 bits | 2 × 8 bits | No | No | No | No |
| Entradas táctiles capacitivas | 10 | 14 | 14 | No | No | 14 |
| LEDC: salidas PWM | 16 | 8 | 8 | 6 | 6 | 8 |
| MCPWM: bloques | 2 | No | 2 | No | 1 | 2 |
| PCNT: bloques de conteo | 8 | 4 | 4 | No | 4 | 4 |
| RMT: canales | 8, configurables como TX/RX | 4, configurables como TX/RX | 4 TX + 4 RX | 2 TX + 2 RX | 2 TX + 2 RX | 4 TX + 4 RX |
| Temporizadores de uso general | 4 × 64 bits | 4 × 64 bits | 4 × 54 bits | 2 × 54 bits | 2 × 54 bits | 4 × 54 bits |
| DMA | DMA en varios bloques periféricos | DMA en varios bloques periféricos | GDMA, 5 TX + 5 RX | GDMA, 3 TX + 3 RX | GDMA, 3 TX + 3 RX | Varios controladores DMA, entre ellos GDMA y 2D-DMA |
| TWAI / CAN | 1 × CAN 2.0 | 1 × CAN 2.0 | 1 × CAN 2.0 | 1 × CAN 2.0 | 2 × CAN 2.0 | 3 × CAN 2.0 |
| USB OTG, host/device | No | Full-Speed, 12 Mbit/s | Full-Speed, 12 Mbit/s | No | No | High-Speed 480 Mbit/s + Full-Speed 12 Mbit/s |
| USB Serial/JTAG independiente | No | No | Sí | Sí | Sí | Sí |
| SD/MMC/SDIO host | Sí | No | Sí | No | No | Sí |
| SDIO slave | Sí | No | No | No | Sí | No |
| Ethernet MAC integrado | 10/100 Mbit/s | No | No | No | No | 10/100 Mbit/s |
| Cámara y LCD | Modos paralelos de I²S; pantallas también por SPI | DVP por I²S; LCD por I²S/SPI | LCD_CAM dedicado: DVP, RGB/I8080 paralelo | Sin LCD_CAM dedicado; pantallas por SPI | PARLIO y SPI; sin LCD_CAM | LCD_CAM, MIPI CSI y DSI |
| Bloques de hardware para procesar imagen | Sin un conjunto análogo al del P4 | Sin un conjunto análogo al del P4 | Sin un conjunto análogo al del P4 | Sin un conjunto análogo al del P4 | Sin un conjunto análogo al del P4 | ISP, PPA, JPEG codec, H.264 encoder |
El número de bloques MCPWM, PCNT y RMT y de temporizadores se ha cotejado además con los soc_caps.h oficiales de ESP-IDF v5.5.3: ESP32, S2, S3, C3, C6, P4. Es una comprobación de la configuración de hardware, no una afirmación de que esta versión del SDK admita todas las funciones de cada revisión nueva. En concreto, las capacidades del P4 v3.x están tomadas de su hoja de datos actual. El número total de SPI en el SDK no debe leerse como el número de buses de usuario libres; el número de canales táctiles internos también puede incluir un canal que no sale a ningún GPIO. El reparto del RMT del C6 en 2 TX + 2 RX también procede de soc_caps.h: la hoja de datos del C6 habla de cuatro canales, sin asignarles una dirección.
Por qué estas diferencias importan en un robot
LEDC, MCPWM y PCNT sirven para tareas distintas. LEDC genera un PWM convencional y no solo es útil para los LED. MCPWM ofrece recursos para controlar la etapa de potencia: sincronización, señales complementarias, tiempo muerto (dead time), tratamiento de entradas de fallo y captura de eventos. PCNT cuenta pulsos y permite leer un encoder con filtrado por hardware. Por eso, que el C3 tenga «PWM» no hace que sus periféricos sean equiparables a los del S3 o del C6. [D1, §4.8.7–4.8.9] [D3], [D4], [D5]
Esto no significa que con un C3 no se pueda montar un robot. Para un driver sencillo con entrada PWM y un número pequeño de señales puede servir. Pero al elegir para varios motores y encoders conviene contar primero los MCPWM, los PCNT y los GPIO necesarios, y después valorar la frecuencia de la CPU. Es una conclusión de ingeniería sacada de la tabla, no el resultado de un ensayo comparativo de robots terminados.
RMT almacena y reproduce secuencias de duraciones de niveles lógicos, y también las recibe. En los protocolos de pulsos permite pasar parte del trabajo al hardware. Ahora bien, en el S3, el C3, el C6 y el P4 los canales de transmisión y los de recepción están separados; una fila que diga «8 canales» no puede interpretarse, sin más precisiones, como ocho transmisores. [D1], [D2], [D3], [D4], [D5], [D6] [soc_caps.h: S3], [C3], [C6], [P4]
TWAI necesita un transceptor CAN externo. La tabla recoge controladores CAN 2.0, no CAN FD ni puertos eléctricos CANH/CANL listos para usar. Del mismo modo, el Ethernet MAC del ESP32 clásico y del P4 necesita un PHY externo y el circuito de conexión correspondiente. [D1, §4.8.12–4.8.13] [D6, §4.2.2.12–4.2.2.13] [TWAI, ESP-IDF]
Un conector USB en la placa no significa por sí solo USB OTG. En una placa con el ESP32 clásico va conectado a un puente USB–UART independiente: este chip no tiene USB propio. El Serial/JTAG integrado del C3 y del C6 sirve para la comunicación serie, la grabación del firmware y la depuración; de él no sale un dispositivo USB HID cualquiera ni un host USB. Para esas tareas se mira el OTG del S2, el S3 y el P4. En el S3, el OTG y el Serial/JTAG comparten el PHY interno: que los dos controladores funcionen a la vez exige una solución aparte, por ejemplo un PHY externo. [D3, §4.2.1.7–4.2.1.8] [D4], [D5] [Guía de ESP-USB]
Que no haya SD/MMC host no impide conectar una tarjeta de memoria por SPI. Será otra interfaz, con otras limitaciones de velocidad y de ocupación del bus. [Controlador SD SPI de Espressif]
ADC: el número de bits no sustituye a la comprobación de las limitaciones
Para medir la tensión de una batería o de un sensor analógico importa conocer no solo la resolución, sino también el rango admisible, la calibración y qué recursos de hardware se comparten.
- ESP32-S2: la hoja de datos actual indica 12 bits. La errata ADC-112 describe un error de la revisión temprana v0.0 y el cambio de la resolución efectiva de 13 a 12 bits en la v1.0. Por eso, las descripciones antiguas del S2 con un «ADC de 13 bits» no se pueden trasladar a una tabla sin aclarar la revisión. Aun así, ESP-IDF v5.5.3 sigue devolviendo los valores en bruto del S2 con 13 bits de ancho, y su bit menos significativo no es fiable. [Errata del S2] [soc_caps.h S2]
- ESP32-C3: la hoja de datos enumera seis entradas (cinco en el ADC1, con calibración de fábrica, y una en el ADC2, sin ella) y ella misma advierte de que en algunas revisiones el ADC2 no es operativo. La guía de ESP-IDF v5.5.3 desactiva el modo oneshot del ADC2 por sus resultados inestables. En un proyecto nuevo es razonable planificar las medidas analógicas con las cinco entradas del ADC1, sin contar con la sexta como un recurso equivalente. [D4, §4.2.2.1] [ADC oneshot, ESP-IDF: C3]
- ESP32 clásico y S3: las entradas del ADC2 no se pueden usar a la vez que el Wi-Fi; para medir con el Wi-Fi en marcha, Espressif aconseja el ADC1. [FAQ sobre ADC] [D3, §4.2.2.1]
La resolución no es una precisión garantizada en voltios. Para un rango de entrada concreto hay que leer las tablas ADC Characteristics y tener en cuenta la atenuación de la señal y la calibración. La tabla anterior describe los ADC de uso general; los convertidores internos de la cadena de radiofrecuencia no están incluidos en ella. [D1], [D2], [D3], [D4], [D5], [D6]
4. Alimentación, reposo y conservación del estado
Los valores siguientes se refieren a chips en configuraciones concretas, no al consumo de una placa terminada. No es una tabla de autonomía con batería. La fila de alimentación enumera los dominios principales; el esquema completo de alimentación, la memoria y las limitaciones de una variante concreta se comprueban por separado en la hoja de datos.
| Característica | ESP32 [D1] | ESP32-S2 [D2] | ESP32-S3 [D3] | ESP32-C3 [D4] | ESP32-C6 [D5] | ESP32-P4 v3.x [D6] |
|---|---|---|---|---|---|---|
| Dominios de alimentación principales | VDDA, VDD3P3, VDD3P3_RTC: 2,3–3,6 V en el D0WD-V3, 3,0–3,6 V en las variantes con memoria en el encapsulado; VDD3P3_CPU: 1,8–3,6 V | VDDA, VDD3P3, VDD3P3_RTC, VDD3P3_CPU: 2,8–3,6 V; 3,0–3,6 V para VDD3P3_RTC_IO | Dominios principales: 3,0–3,6 V | Dominios principales: 3,0–3,6 V | Dominios principales: 3,0–3,6 V | VDD_LDO, VDD_DCDCC, VDD_ANA, VDD_LP: 3,0–3,6 V; VDD_BAT: 2,5–3,6 V; dominios independientes para I/O, núcleo, PSRAM, USB y MIPI |
| Modos según la hoja de datos | Active, Modem-sleep, Light-sleep, Deep-sleep, Hibernation | Active, Modem-sleep, Light-sleep, Deep-sleep, Hibernation | Active, Modem-sleep, Light-sleep, Deep-sleep | Active, Modem-sleep, Light-sleep, Deep-sleep | Active, Modem-sleep, Light-sleep, Deep-sleep | Active, Light-sleep, Deep-sleep |
| Ejemplo de Light-sleep | 800 µA | 750 µA | 240 µA | 130 µA | 35 o 180 µA, distintos estados de los periféricos | 75 µA conservando la memoria HP y con los periféricos apagados |
| Ejemplo de Deep-sleep | 10 µA: temporizador RTC + memoria RTC | 25 µA: temporizador RTC + memoria RTC | 7 µA: memoria RTC encendida, periféricos RTC apagados | 5 µA: temporizador RTC + memoria RTC | 7 µA: temporizador RTC + memoria LP | 12 µA: temporizador LP + memoria LP |
| Principales fuentes de despertar desde Deep-sleep, según ESP-IDF | Temporizador, GPIO RTC aptos, entradas táctiles, ULP | Temporizador, GPIO RTC aptos, entradas táctiles, ULP | Temporizador, GPIO RTC aptos, entradas táctiles, ULP | Temporizador, GPIO admitidos | Temporizador, GPIO LP admitidos, núcleo LP | Temporizador, GPIO LP admitidos, entradas táctiles, núcleo LP |
| Procesamiento programable en el subsistema de bajo consumo | ULP | ULP | ULP | Sin núcleo independiente | LP | LP |
| Secure Boot / cifrado de la Flash | Sí / sí | Sí / sí | Sí / sí | Sí / sí | Sí / sí | Sí / sí |
Condiciones de las corrientes indicadas:
- ESP32: valores de la tabla 4-2, p. 30. Para Light-sleep, la fila no da condiciones adicionales; para los 10 µA se indican el temporizador RTC y la memoria RTC. El ULP en funcionamiento es otra fila: 150 µA. Estas configuraciones no se pueden equiparar.
- S2: tabla 5-9, pp. 51–52. Para Light-sleep, VDD_SPI y el Wi-Fi están apagados y los GPIO se encuentran en estado de alta impedancia. Los valores del apartado se refieren a las variantes sin PSRAM que enumera el fabricante; la PSRAM integrada (S2FN4R2, S2R2) añade 140 µA en Light-sleep.
- S3: tabla 5-10, p. 68. Para Light-sleep, VDD_SPI y el Wi-Fi están apagados y los GPIO, en alta impedancia; la PSRAM integrada en el encapsulado añade de 40 a 200 µA según su tamaño y su tensión. En Deep-sleep, encender los periféricos RTC cambia la fila de 7 a 8 µA, y un ULP que funciona de forma permanente consume 170 µA (ULP-FSM) o 190 µA (ULP RISC-V).
- C3: tabla 5-9, p. 57. Para Light-sleep, VDD_SPI y el Wi-Fi están apagados y los GPIO, en alta impedancia; en Deep-sleep se mantienen el temporizador RTC y la memoria RTC.
- C6: tabla 5-11, p. 68. Los 35 µA corresponden a la CPU, la radio y los periféricos apagados; los 180 µA, a la CPU y la radio apagadas y a los periféricos con solo el reloj detenido. En ambos casos los GPIO están en alta impedancia.
- P4: tabla 5-8, p. 91; el apartado 5.6 fija 3,3 V y 25 °C. Para los 75 µA, los periféricos están apagados, los datos permanecen en la memoria HP y la PSRAM no está alimentada; todos los valores de la tabla se midieron con el USB 2.0 sin funcionar. Si la PSRAM se deja alimentada, la corriente interna del chip aumenta aproximadamente 0,1 mA, más que los propios 75 µA, y a ella se suma la corriente de la propia memoria. Todas estas cifras tienen el estado preliminar de la hoja de datos v0.7.
En el S2, el S3, el C3 y el C6, los parámetros de 3,3 V y 25 °C figuran en los subapartados de medidas del modo activo; las tablas de reposo no repiten esas condiciones por separado. En el ESP32 clásico no aparecen directamente en la tabla 4-2. Por eso estos valores no se presentan como un único ensayo de laboratorio en condiciones totalmente idénticas. [D1], [D2], [D3], [D4], [D5], [D6]
En la práctica, Light-sleep resulta útil cuando hay que reanudar el trabajo con el estado del sistema principal conservado. Deep-sleep apaga la parte principal de cálculo y obliga a pasar de nuevo por la secuencia de despertar/arranque; los datos que deben sobrevivir al reposo se guardan en la memoria RTC o LP, o bien en la Flash. El conjunto de fuentes de despertar depende del chip y del modo: por ejemplo, el despertar por UART solo funciona desde Light-sleep. La fila de la tabla sobre las fuentes de despertar se ha elaborado con las guías ESP-IDF Sleep Modes: en las hojas de datos no hay una lista así. Las limitaciones y los GPIO permitidos se comprueban en la guía que corresponde precisamente al microcontrolador elegido. [Sleep: ESP32], [S2], [S3], [C3], [C6], [P4]
En un sensor a batería tiene sentido comparar el ciclo completo: medida, arranque de la radio, transmisión y reposo. En la placa siguen estando el regulador de tensión, los LED, los chips de interfaz y los sensores conectados. Por eso la cifra de «5 µA» de la hoja de datos no promete el mismo consumo en cualquier placa C3 DevKit. Esto se deduce de la diferencia entre la medida de un chip y el circuito de una placa terminada; Espressif describe aparte la medición de la corriente de los módulos.
Secure Boot y el cifrado de la Flash son mecanismos que los chips admiten, no una protección que esté activa automáticamente en cualquier firmware. La tabla deja constancia de que existen; la configuración de un producto concreto hay que cotejarla con las Security Guides correspondientes. [D1], [D2], [D3], [D4], [D5], [D6]
Seis modelos en tareas reales
Las fechas siguientes corresponden a los hechos indicados: anuncio, inicio de la producción o disponibilidad oficial. No son intercambiables; la fecha de la primera versión de un PDF tampoco se toma como fecha de salida del microcontrolador.
ESP32 clásico: motores, encoders y Bluetooth Classic
Espressif sitúa el lanzamiento del primer ESP32 en septiembre de 2016. [Historia de la empresa]
Al ESP32 clásico le sigue quedando un conjunto sólido de argumentos: dos núcleos principales, FPU, dos bloques MCPWM, ocho bloques PCNT, dos DAC y Bluetooth Classic. Por eso encaja para iniciarse en el control de motores y en la medida de la velocidad de giro, y para proyectos que necesitan precisamente Classic. El Ethernet MAC es útil para un nodo cableado si se le añade un PHY. Son recomendaciones basadas en el conjunto de periféricos, no una afirmación sobre la cuota del ESP32 en estas aplicaciones. [D1] [soc_caps.h ESP32]
Las limitaciones afloran al planificar el hardware: no hay USB integrado, parte de los GPIO funciona solo como entrada y el ADC2 entra en conflicto con el Wi-Fi. En la hoja de datos actual, parte de las variantes antiguas está marcada como NRND o EOL. Hay que elegir por la designación completa del chip o del módulo, no por el simple rótulo «ESP32». [D1] [FAQ sobre ADC]
ESP32-S2: USB y Wi-Fi sin Bluetooth
La publicación oficial sobre el lanzamiento del S2 lleva fecha de 3 de septiembre de 2019; en ella se dice que había muestras de ingeniería disponibles desde junio. El inicio de la producción en masa de la serie se anunció el 28 de febrero de 2020. [Anuncio del S2] [Producción del S2]
El S2 es interesante para un dispositivo USB, un panel de control o un instrumento con Wi-Fi y salidas analógicas: tiene USB OTG, dos DAC, entradas táctiles y PSRAM. La arquitectura LX7 no lo convierte en un equivalente del S3: el núcleo principal es uno solo, y no hay FPU ni Bluetooth. Para el control de motores tiene LEDC y PCNT, pero no MCPWM. Esto ayuda a entender por qué el S2 es útil en su nicho y, a la vez, no es un sustituto universal del ESP32 clásico. [D2] [Optimización de la velocidad, ESP-IDF: S2] [soc_caps.h S2]
ESP32-S3: cámara, pantalla, sonido y cálculo
El S3 se anunció el 31 de diciembre de 2020. Desde el principio, el fabricante destacó el procesamiento de señales y las tareas de AIoT como aplicaciones objetivo. [Anuncio del S3]
Para un proyecto con cámara y pantalla, la combinación de LCD_CAM, PSRAM, dos núcleos, FPU e instrucciones vectoriales hace del S3 un punto de partida bien fundado. En un robot con interfaz local también son útiles MCPWM y PCNT. Sin embargo, las instrucciones vectoriales no equivalen a una NPU universal independiente, y disponer de una interfaz de cámara por hardware no garantiza la tasa de fotogramas necesaria con cualquier resolución y cualquier procesamiento. [D3]
El S3 no tiene DAC ni Bluetooth Classic. Al elegir una placa con USB es importante comprobar adónde va el conector y cómo se reparten el OTG y el Serial/JTAG. El tamaño de la PSRAM y los pines que ocupa dependen de la variante concreta. [D3] [Guía de ESP-USB]
ESP32-C3: un nodo Wi-Fi/BLE compacto
El C3 se presentó el 27 de noviembre de 2020 como un microcontrolador RISC-V para dispositivos conectados asequibles. [Anuncio del C3]
Su dotación encaja bien con un sensor independiente, un nodo actuador, un mando o un pequeño dispositivo de red: Wi-Fi, BLE con Coded PHY, UART/I²C/SPI y USB Serial/JTAG. La elección resulta menos cómoda si el proyecto exige un búfer de imagen grande, varios contadores de encoder por hardware o MCPWM: aquí no hay PSRAM, PCNT ni MCPWM. Eso sí, hay PWM convencional, y TWAI con un transceptor externo proporciona un bus CAN. [D4] [soc_caps.h C3]
Al elegir una placa pequeña no conviene olvidarse de los pines: su número varía entre las distintas variantes del C3, y parte de los GPIO puede estar ocupada por la Flash. La limitación del ADC2 también es mejor tenerla en cuenta antes de trazar la placa. [D4] [ADC oneshot, ESP-IDF: C3]
ESP32-C6: Wi-Fi 6, Thread/Zigbee y periféricos útiles para motores
El primer anuncio del C6 se publicó el 9 de abril de 2021, y la disponibilidad oficial de módulos y placas de desarrollo se anunció el 6 de enero de 2023. Son etapas distintas de la vida del producto. [Anuncio del C6] [Disponibilidad del C6]
Vale la pena considerar el C6 para sensores en red, domótica y nodos en los que se elige entre Wi-Fi y Thread/Zigbee. Contar con MCPWM, PCNT y dos TWAI lo hace interesante también para la electrónica de control de un robot. El núcleo LP permite sacar de la CPU principal parte del trabajo de bajo consumo. [D5] [soc_caps.h C6]
Con todo, el C6 no es «un S3 con un Wi-Fi más nuevo»: tiene un solo núcleo principal y carece de FPU, PSRAM y USB OTG. Si la tarea exige un búfer de fotograma grande, host USB o cálculos pesados con float, estas diferencias pueden pesar más que la radio nueva. [D5] [Optimización de la velocidad, ESP-IDF: C6] [FAQ sobre PSRAM]
ESP32-P4: un microcontrolador multimedia con la radio resuelta aparte
El P4 se anunció el 5 de enero de 2023. El 8 de mayo de 2026, Espressif presentó la actualización v3.x, con un aumento de la frecuencia máxima de 360 a 400 MHz y cambios en los bloques multimedia. Por eso la cifra de frecuencia debe ir acompañada de la revisión. [Anuncio del P4] [Actualización v3.x]
El P4 es candidato para una interfaz avanzada, una cámara MIPI, procesamiento de imagen y USB High-Speed. Además de los núcleos principales, hacen trabajo útil el ISP, el PPA, el JPEG codec y el H.264 encoder. También tiene bloques periféricos suficientes para el control: dos MCPWM, cuatro PCNT, tres TWAI y Ethernet MAC. Todo ello lo hace interesante para la parte de visión y la de control de un robot, pero no garantiza el rendimiento de un algoritmo concreto sin medirlo. [D6]
El P4 no tiene Wi-Fi ni Bluetooth integrados. Si una placa con P4 los tiene, hay que comprobar el chip de radio adicional y la forma en que va conectado. Una placa así debe valorarse como un conjunto de componentes. [D6] [Anuncio del P4]
Las variantes NRW16X/NRW32X de la hoja de datos adjunta corresponden a la v3.x y contienen 16/32 MB de PSRAM. El documento Pre-release v0.7 está marcado como preliminar, parámetros eléctricos incluidos. El estado del PDF no debe interpretarse como ausencia de un producto real; significa que las características recogidas aún pueden revisarse. Para los primeros P4, v1.3, existe una hoja de datos aparte; no se pueden trasladar entre ella y la v3.x la alimentación, las frecuencias ni los requisitos del SDK sin comprobarlos. [D6]
Cómo elegir para tu proyecto
Las recomendaciones siguientes son una interpretación de ingeniería de características comprobadas, sin pretender que haya detrás ensayos comparativos en banco de pruebas.
- Varios motores y encoders: empezar por el ESP32 o el S3, comparando el número de MCPWM, de PCNT y de GPIO libres. El C6 es interesante si a la vez se necesitan sus protocolos de radio; un solo bloque MCPWM puede bastar para el circuito elegido. El P4 tiene sentido considerarlo junto con los requisitos de pantalla o de cámara.
- Pequeño sensor autónomo Wi-Fi/BLE: considerar el C3; si hace falta procesamiento en el subsistema LP o Thread, el C6. La batería se elige después de medir el ciclo de trabajo completo de la placa.
- Teclado USB, mando HID, instrumento o host USB: considerar el S2/S3; si se exige High-Speed, el P4. Que el C3/C6 tengan USB Serial/JTAG no resuelve esta tarea.
- Cámara, sonido, interfaz con pantalla: empezar por el S3 y una cantidad adecuada de PSRAM. Si hacen falta MIPI, un codificador de vídeo por hardware o USB High-Speed, valorar el P4 v3.x.
- Mando y telemetría: elegir entre BLE, ESP-NOW y Wi-Fi según los requisitos de protocolo, memoria y periféricos. Para comunicarse con un dispositivo Bluetooth Classic ya existente, de los seis principales solo sirve el ESP32 clásico.
- Thread/Zigbee y domótica: el C6 aporta la radio 802.15.4 necesaria. La palabra Matter, por sí misma, no exige precisamente un C6: la opción Matter over Wi-Fi puede usar otro microcontrolador Wi-Fi y otro SDK adecuados.
Antes de comprar una placa concreta conviene apuntar los GPIO ocupados, el tipo de USB, los tamaños de Flash/PSRAM, la designación del módulo y la revisión del chip. Una lista así de corta a menudo decide la elección con más acierto que una comparación de frecuencias.
Qué más tiene Espressif: C5, H2, C61 y S31
ESP32-C5: cuando hace falta Wi-Fi a 5 GHz. A diferencia del C6, el C5 admite Wi-Fi 6 en las bandas de 2,4 y 5 GHz; también tiene BLE e IEEE 802.15.4. Tiene un núcleo principal RISC-V de hasta 240 MHz y admite PSRAM externa, así que un dispositivo inalámbrico que exija 5 GHz conviene compararlo precisamente con él. La producción en masa se anunció el 30 de abril de 2025. [Producción y características del C5]
ESP32-H2: BLE y 802.15.4 sin Wi-Fi. Su núcleo RISC-V trabaja a una frecuencia de hasta 96 MHz. Es candidato para un nodo Thread/Zigbee que no necesite Wi-Fi propio. Espressif comunicó el paso del H2 a la producción en masa en su informe del primer semestre de 2023; de esa fuente no se deduce el día exacto en que empezó la producción. La hoja de datos actual indica Thread 1.4 y Zigbee 3.0. [Hoja de datos del H2] [Informe de Espressif]
ESP32-C61: Wi-Fi 6 con PSRAM, pero sin Thread ni Zigbee. El C61 combina Wi-Fi 6 a 2,4 GHz, BLE, un núcleo de hasta 160 MHz y la posibilidad de usar PSRAM. No tiene radio 802.15.4, así que no sustituye al C6 en un nodo Thread/Zigbee autónomo. El fabricante confirma que ESP-IDF v5.5.2 admite el C61 v1.0 de serie. Con ello quedan confirmadas su condición de producto de serie y su compatibilidad con el SDK; la fecha exacta de inicio de la producción no queda establecida aquí. [Hoja de datos del C61] [Estado del C61]
ESP32-S31: un modelo nuevo que ya no se puede pasar por alto. Espressif anunció la producción en masa el 27 de julio de 2026. El S31 combina dos núcleos RISC-V de hasta 320 MHz, Wi-Fi 6 a 2,4 GHz, Bluetooth 5.4 con LE y Classic BR/EDR, IEEE 802.15.4 y Gigabit Ethernet MAC. Para un proyecto nuevo que necesite a la vez potencia de cálculo, una interfaz avanzada y varios tipos de comunicación, merece un estudio aparte. Por eso la afirmación «solo el ESP32 tiene Bluetooth Classic» es correcta aquí únicamente para los seis principales elegidos, no para toda la familia actual. [Producción del S31]
En estos modelos hay que comprobar también si el SDK elegido admite los periféricos necesarios, además de la revisión y el esquema de la placa concreta.
Siglas usadas en las tablas
- CPU: procesador; FPU: unidad de coma flotante; DSP: procesamiento digital de señales; SIMD: ejecución de una misma instrucción sobre varios elementos de datos; MAC, en el contexto de DSP: multiplicación con acumulación. HP/LP/ULP: subsistema de alto rendimiento / de bajo consumo / de consumo ultrabajo; FSM: máquina de estados finitos.
- SRAM: memoria estática de acceso aleatorio; PSRAM: memoria pseudoestática de acceso aleatorio; RTC: subsistema del reloj de tiempo real; SPM: memoria local de trabajo (scratchpad memory); L2MEM: memoria interna principal del P4; MSPI: controlador SPI para la memoria externa.
- GPIO: entradas/salidas digitales de uso general; ADC/DAC: convertidor analógico-digital / digital-analógico; PWM: modulación por ancho de pulso; MCPWM: controlador PWM para motores; PCNT: contador de pulsos. DMA/GDMA: acceso directo a memoria / DMA de uso general; TX/RX: transmisión / recepción.
- SPI: interfaz serie de periféricos; QSPI/OSPI: sus versiones con cuatro / ocho líneas de datos; UART: transmisor-receptor asíncrono universal; I²C: bus de dos hilos entre circuitos integrados; I²S: interfaz serie de audio digital. GP significa general purpose, es decir, de uso general.
- STA/AP: cliente Wi-Fi / punto de acceso; BLE: Bluetooth Low Energy; BR/EDR: Basic Rate / Enhanced Data Rate, los modos de Bluetooth Classic. PHY: capa física o el bloque que la implementa; MAC, en el contexto de Ethernet: controlador de acceso al medio. USB OTG: USB On-The-Go; JTAG: interfaz de depuración y pruebas; IEEE 802.15.4: estándar de radio de baja potencia sobre el que funcionan Thread y Zigbee.
- DVP: interfaz paralela digital de cámara; CSI/DSI: interfaces MIPI para cámara / pantalla; ISP: procesador de imagen; PPA: acelerador de procesamiento de píxeles; LCD_CAM: bloque de Espressif para pantallas y cámaras paralelas; PARLIO: entrada/salida paralela de uso general. Los nombres LEDC, RMT y TWAI designan los bloques de Espressif para PWM, secuencias de pulsos y CAN, respectivamente; sus capacidades se han visto más arriba.
- NRND: not recommended for new designs, no recomendado para diseños nuevos; EOL: end of life, el producto ha dejado de fabricarse.
El significado de las siglas se da según los apartados Features y §4 de las hojas de datos. [D1], [D2], [D3], [D4], [D5], [D6]
Hojas de datos: copias locales y originales
Los seis archivos de abajo se descargaron el 9 de octubre de 2026 directamente del dominio documentation.espressif.com. Son los PDF originales del fabricante, sin editar. Con el tiempo, el enlace de Espressif puede servir una edición más reciente, así que, para que la comparación sea reproducible, al lado se han guardado precisamente las versiones utilizadas.
| Referencia | Familia | Versión del documento guardado | PDF local | Original de Espressif |
|---|---|---|---|---|
| D1 | ESP32 | 5.3 | Descargar | ESP32 Series Datasheet |
| D2 | ESP32-S2 | 1.9 | Descargar | ESP32-S2 Series Datasheet |
| D3 | ESP32-S3 | 2.2 | Descargar | ESP32-S3 Series Datasheet |
| D4 | ESP32-C3 | 2.4 | Descargar | ESP32-C3 Series Datasheet |
| D5 | ESP32-C6 | 1.5 | Descargar | ESP32-C6 Series Datasheet |
| D6 | ESP32-P4 v3.x | Pre-release v0.7, PRELIMINARY | Descargar | ESP32-P4 Series Datasheet |
Dónde comprobar las cifras
Los números de página que siguen son las páginas de los PDF adjuntos, contando la portada. En estas versiones coinciden con la numeración impresa del documento.
- D1: lista de variantes: p. 11; CPU y memoria: §4.1, pp. 26–29; radio: Features y §4.6–4.7; periféricos digitales: §4.8, pp. 36–43; analógicos: §4.9, pp. 43–45; señales de cámara, LCD y MCPWM: §4.10, tabla 4-6, pp. 46–50; reposo: tabla 4-2, pp. 30–31; alimentación: tabla 5-2, p. 51.
- D2: recursos principales: Features, pp. 3–5; CPU/ULP/memoria: §4.1.1–4.1.2; periféricos: §4.2; alimentación: tabla 5-2, p. 48; corrientes en reposo: tabla 5-9, pp. 51–52. La resolución del ADC se ha comprobado además con ADC-112.
- D3: recursos principales: Features, pp. 3–5; CPU/ULP/memoria: §4.1.1–4.1.2, pp. 36–40; periféricos: §4.2; alimentación: tabla 5-2, p. 64; corrientes en reposo: tabla 5-10, p. 68.
- D4: recursos y opciones de GPIO: Features, pp. 3–5, y §1; memoria: §4.1.2, pp. 33–35; periféricos: §4.2; BLE PHY: §4.3.3, p. 53; alimentación: tabla 5-2, p. 54; corrientes en reposo: tabla 5-9, p. 57. ADC2: §4.2.2.1, p. 49, y la guía de ESP-IDF.
- D5: CPU, radio y periféricos: Features, pp. 3–5; descripción detallada: §4; alimentación: tabla 5-2, p. 64; corrientes en reposo: tabla 5-11, p. 68.
- D6: variantes y revisiones: tabla 1-1, p. 11; CPU/extensiones vectoriales: §4.1.1, pp. 40–42; periféricos: §4.2; alimentación: tabla 5-2, pp. 88–89; corrientes en reposo: tabla 5-8, p. 91. El estado preliminar de los parámetros eléctricos se indica al principio de §5, p. 88.
Cómo se comprobó el artículo
Las cifras de las tablas se han cotejado con las versiones indicadas de las hojas de datos; la cantidad de varios bloques periféricos, además, con el ESP-IDF oficial. Las fechas proceden de comunicados de Espressif, no de las fechas de reseñas de terceros. Las limitaciones que cambian la elección práctica se han comprobado en las erratas, las FAQ y las guías del SDK. Los enlaces a estas precisiones están junto a las afirmaciones correspondientes. La documentación de ESP-IDF se cita siempre en la versión v5.5.3, la misma con la que se cotejaron los soc_caps.h.
En los puntos conflictivos se ha dado prioridad al documento del chip y la revisión concretos. Las diferencias entre la certificación y las funciones de Bluetooth, entre el ADC antiguo y el nuevo del S2, entre el ADC2 presente en el hardware del C3 y lo que el SDK admite de él, y entre las revisiones del P4 se mantienen en el texto en lugar de ocultarse tras una sola cifra. Los casos de uso se formulan como conclusiones a partir de las capacidades, sin afirmaciones no confirmadas sobre popularidad, precio o resultados de pruebas.