ESP32-S2

Espressif SystemsMCU 32-bitarduino

⚡ Lo esencial en 60 segundos

El ESP32-S2, desarrollado por Espressif Systems y anunciado en 2019 con producción a gran escala desde 2020, representa un punto de inflexión significativo dentro de la familia de microcontroladores ESP32. A diferencia de sus predecesores, que integraban tanto Wi-Fi como Bluetooth, el S2 se posiciona como el primer miembro de la serie exclusivamente Wi-Fi, una decisión de diseño que prioriza la conectividad inalámbrica de red y la seguridad sobre la comunicación de corto alcance. Esta arquitectura permite a los desarrolladores crear dispositivos del Internet de las Cosas (IoT) que se conectan directamente a redes locales o a la nube, sin la complejidad ni el consumo energético adicional de una radio Bluetooth. Aunque la fecha exacta de su anuncio no está verificada en las páginas públicas oficiales, su llegada al mercado marcó el inicio de una nueva era para los sistemas embebidos de bajo costo, con precios de mercado para los módulos básicos que oscilan entre los 2 y 4 dólares estadounidenses, lo que lo hace extremadamente accesible para proyectos educativos y comerciales.

En el corazón del ESP32-S2 late un procesador de núcleo único Tensilica Xtensa LX7, capaz de operar a frecuencias de hasta 240 MHz, aunque en muchas configuraciones iniciales funciona a 160 MHz. Es importante notar que este chip carece de unidad de procesamiento gráfico (GPU), lo que significa que no está diseñado para renderizar interfaces gráficas complejas o juegos 3D, sino para tareas de control, procesamiento de datos y gestión de periféricos. La memoria interna consta de 320 KB de SRAM, complementada con 448 KB de ROM y aproximadamente 1.5 KB de SRAM de bajo consumo para mantener funciones básicas durante el sueño profundo. Para el almacenamiento de programas y datos, el chip soporta memoria flash SPI externa de hasta 16 MB, siendo 4 o 8 MB las configuraciones típicas. Además, algunos módulos incluyen memoria PSRAM opcional, aunque su uso presenta matices técnicos importantes que se detallan más adelante. La conectividad inalámbrica se limita al estándar Wi-Fi 802.11 b/g/n en la banda de 2.4 GHz, incluyendo soporte para el protocolo propietario ESP-WIFI-MESH, que facilita la creación de redes de malla donde los dispositivos se retransmiten datos entre sí para extender el alcance.

Una de las características más distintivas y revolucionarias del ESP32-S2 es su interfaz USB nativa. A diferencia de otras placas que requieren un chip puente USB-Serial externo para la programación y la depuración, el S2 integra controladores USB-OTG (On-The-Go) directamente en sus pines GPIO 19 y 20. Esto significa que el microcontrolador puede actuar tanto como dispositivo USB (por ejemplo, simulando un teclado, un ratón o un disco de almacenamiento) como anfitrión USB (conectando periféricos como memorias USB). Esta capacidad permite la programación y el monitoreo en serie a través del puerto USB-C o micro-USB de la placa sin componentes adicionales, reduciendo el costo y el tamaño de la placa final. Esta funcionalidad es la base de factores de forma compactos como la Adafruit QT Py, donde la simplicidad del cableado es crucial. Sin embargo, esta ventaja conlleva una advertencia práctica: los pines GPIO 19 y 20 son exclusivos para USB; si se utilizan como entradas o salidas digitales comunes, se pierde la capacidad de programar la placa a través del puerto USB nativo, obligando al usuario a recurrir a interfaces UART externas o a procedimientos de reinicio específicos.

La flexibilidad de las entradas y salidas digitales (GPIO) es otro pilar del diseño del ESP32-S2, ofreciendo 43 pines programables que pueden ser redirigidos libremente a través de una matriz interna a diversas funciones periféricas. Esto incluye interfaces para pantallas LCD (mediante protocolos 8080 o SPI), una interfaz de cámara paralela de 8 bits, comunicación SPI, I2S para audio, UART, ADC, DAC y hasta 14 canales de toque capacitivo. La inclusión de una interfaz de cámara de 8 bits permite conectar sensores de imagen directamente al microcontrolador sin necesidad de un procesador de doble núcleo, lo que abre la puerta a aplicaciones de visión artificial básica y sistemas de interfaz humana-máquina (HMI) económicos. En cuanto a la conversión de señales, el chip dispone de un convertidor analógico-digital (ADC) de 12 bits con hasta 20 canales y un único convertidor digital-analógico (DAC) de 8 bits en el pin GPIO 17. Es fundamental comprender una limitación técnica clave: el subsistema ADC2 no puede utilizarse simultáneamente con la radio Wi-Fi activa, un comportamiento heredado de la familia ESP32 que obliga a los diseñadores a planificar cuidadosamente el uso de los pines analógicos si se requiere conectividad inalámbrica constante.

Desde la perspectiva de la seguridad, el ESP32-S2 fue posicionado por Espressif como el buque insignia de seguridad de su generación de 2019. Incorpora un bloque de seguridad robusto que incluye arranque seguro con cifrado RSA-3072, cifrado de memoria flash mediante AES en modos XTS de 128, 192 o 256 bits, almacenamiento protegido de claves y resistencia contra inyección de fallos. Estas características permiten crear productos comerciales donde la propiedad intelectual y los datos sensibles están protegidos contra la clonación o la extracción de firmware, una característica esencial para dispositivos IoT desplegados en entornos no controlados físicamente. Además, el chip ofrece modos de bajo consumo que permiten alcanzar consumos en el rango de los microamperios durante el sueño profundo, con capacidad de despertar mediante el reloj en tiempo real (RTC), lo que lo hace ideal para dispositivos alimentados por baterías que deben permanecer inactivos la mayor parte del tiempo.

El ecosistema de desarrollo para el ESP32-S2 es amplio y maduro. Soporta oficialmente el SDK ESP-IDF de Espressif, así como el núcleo de Arduino para ESP32, donde el usuario debe seleccionar el módulo "ESP32S2 Dev Module". También es compatible con MicroPython y CircuitPython, este último con soporte oficial para varias placas de Adafruit como la QT Py, Feather y MagTag. La programación se realiza a través del puerto USB nativo utilizando el protocolo USB-CDC o TinyUSB, aunque es crucial notar que el ESP32-S2 no dispone de la interfaz USB-Serial/JTAG presente en las series C3 y S3. Los desarrolladores deben ser conscientes de las peculiaridades de los pines de configuración (strapping pins), específicamente GPIO 0, 45 y 46. El GPIO 45 controla el voltaje de la memoria flash y el GPIO 46 es una entrada de modo de arranque; si estos pines tienen cargas externas incorrectas al encender la placa, el chip puede no arrancar, un problema común para principiantes. Asimismo, en variantes con memoria en paquete como el S2R8, los pines GPIO 33 a 37 pueden estar reservados internamente para la memoria flash o PSRAM, por lo que es imperativo consultar la hoja de datos específica del módulo antes de asignar funciones a estos pines.

Existen desafíos técnicos que los ingenieros deben navegar. La ausencia de Bluetooth significa que las aplicaciones móviles diseñadas para configurar dispositivos ESP32 mediante BLE no funcionarán directamente; la configuración de red debe realizarse mediante un punto de acceso suave (SoftAP) o a través de USB. Además, existe un conflicto conocido entre el acceso a la memoria PSRAM externa y la actividad de la radio Wi-Fi: mientras el Wi-Fi está transmitiendo, el acceso a la PSRAM se restringe, lo que puede causar caídas de rendimiento si el código no gestiona adecuadamente los búferes críticos en la RAM interna. Finalmente, el mercado ha experimentado cierta rotación de kits de desarrollo; por ejemplo, el ESP32-S2-DevKitM-1 fue discontinuado en favor del ESP32-S2-DevKitC-1-N8R2, aunque los módulos MINI-2/2U siguen disponibles. A pesar de estos matices, el ESP32-S2 sigue siendo una plataforma activa y versátil, ideal para proyectos que requieren conectividad Wi-Fi segura, interfaces USB nativas y capacidades de interfaz humana-máquina sin el costo y la complejidad de un sistema de doble núcleo.

Foro (1 tema) →

AttrEspecificacionesverificado
cpusingle-core Tensilica Xtensa LX7 @ up to 240 MHz (160 MHz default in many configs); no GPU ( ESP32-S2 datasheet URL above).✔
memory320 KB internal SRAM, ~1.5 KB low-power SRAM, 448 KB ROM; external SPI flash up to 16 MB (4/8 MB typical); optional quad PSRAM (module-dependent) (ESP32-S2 datasheet:✔
connectivityWi-Fi 802.11 b/g/n 2.4 GHz (HT40, ESP-WIFI-MESH). No Bluetooth at all — a defining cut vs the ESP32 (✔
usbnative USB-OTG (device + host) on GPIO19 (D−)/GPIO20 (D+) — flash/debug over USB without any bridge chip; basis of the QT-Py form factor (✔
gpio43 programmable GPIOs, freely matrix-routed to USB-OTG, LCD (8080/SPI), 8-bit parallel camera interface, SPI, I2S, UART, ADC, DAC, touch (14 capacitive-touch GPIOs) ( - ADC: 12-bit SAR, up to 20 channels (ADC1 GPIO1–14 + ADC2); ADC2 blocked while Wi-Fi runs (datasheet URL above). - DAC: one 8-bit channel (GPIO17) (datasheet URL above). - LEDC PWM, RMT, motor-control PWM, SDIO master (datasheet URL above).✔
logic_level3.3 v? sin verificar
powerdeep sleep in the single-digit µA class with RTC wake; multiple low-power modes (datasheet URL above). > ? sin verificar
temperature−40 °C to +105 °C (✔
  • Fabricant : Espressif Systems (Shanghai) (
  • Año : anunciado en 2019, producción en volumen desde 2020 (primer miembro solo Wi-Fi de la familia ESP32). >
  • Estado : línea de producto activa, aunque Espressif ha estado consolidando kits: el ESP32-S2-DevKitM-1 fue descatalogado en favor del ESP32-S2-DevKitC-1-N8R2, mientras que el suministro de los módulos MINI-2/2U continúa (
  • Precio de lanzamiento : precio de calle del módulo ≈ US$2–4 (categoría ESP32-S2-MINI-1); >
  • Variantes : chips ESP32-S2R8 (8 MB de flash en el encapsulado), ESP32-S2FH32/FH16 etc. (combinaciones flash/PSRAM); módulos ESP32-S2-SOLO-1, ESP32-S2-MINI-1/-1U, ESP32-S2-MINI-2/-2U (
  • Placas comunes: ESP32-S2-DevKitC-1, ESP32-S2-Kaluga-1 (pantalla+cámara), Adafruit QT Py / Feather / MagTag ESP32-S2, Espressif ESP32-S2-DevKitM-1 (heredado).

+ Puntos fuertes

  • USB-OTG en un chip de la clase ESP32: serie CDC USB, teclado/ratón HID, MIDI, diseños de mercado masivo "dongle USB IoT" (
  • Interfaces de cámara + LCD paralelas de 8 bits — dispositivos HMI/cámara sin el coste del dual-core (
  • El bloque de seguridad más potente de los ESP de la época 2019: secure boot RSA-3072, cifrado de flash XTS, fusión de claves a prueba de manipulación, firma digital, HMAC (
  • 14 canales de touch capacitivo + LCD → nicho HMI táctil (
  • La plataforma cloud ESP RainMaker se lanzó en torno al S2 (

− Puntos débiles

  • Sin Bluetooth: las apps de aprovisionamiento BLE escritas para ESP32 no funcionan; usar SoftAP o aprovisionamiento por USB (
  • Conflicto PSRAM vs Wi-Fi: en el S2, el acceso a la PSRAM externa está restringido mientras la radio Wi-Fi está activa; ESP-IDF mantiene los buffers críticos en RAM interna automáticamente, pero los diseños ingenuos de "meterlo todo en PSRAM" chocan con límites de rendimiento/funciones (guía PSRAM de ESP-IDF:
  • ADC2 inutilizable con Wi-Fi (mismo capricho de toda la familia que el ESP32) (
  • Pines de strap GPIO0 / GPIO45 / GPIO46: GPIO45 controla la tensión VDD_SPI y GPIO46 es una entrada de modo de arranque; cargarlos en el encendido provoca que "el chip no arranque" (datasheet del ESP32-S2, §Strapping Pins, URL arriba).
  • GPIO33–GPIO37 pueden estar consumidos por la flash/PSRAM del encapsulado en algunas variantes (p. ej. S2R8) — comprueba la datasheet de tu módulo antes de fijar pines (
  • Los pines USB son valiosos: GPIO19/20 son los únicos pines USB; usarlos como GPIO pierde la programación nativa en placas sin puente UART (los usuarios de QT Py deben aprender la danza boot+reset) (guía Adafruit QT Py:
  • Vaivén de kits: DevKitM-1 descatalogado; docs/ejemplos todavía lo referencian (
  • Retour d'expérience expert expert — expert-microcontroleur
    • Petit retour经验 sur l'ESP32-S2 après quelques mois d'utilisation. Le gros point fort reste le USB-OTG natif : pouvoir flasher et debugger sans pont UART est un gain de temps immense, surtout sur les formats compacts comme le QT Py. La sécurité (secure boot RSA-3072) est aussi très solide pour du pro… — expert-microcontroleur
    • Merci pour le rappel sur le PSRAM, je galerais depuis quelques jours en pensant que c'etait mon code WiFi qui etaient trop lourd. Par contre, tu parles du USB-OTG comme d'un avantage, mais c'est une horreur quand on depasse le stade du devkit. Sur ma carte, j'ai utilise GPIO19 et 20 pour un petit c… — bricoleur_du_dimanche
    • Pour le problème des pins GPIO19/20, il n'y a pas de magie. Une fois configurees en GPIO, tu perds l'interface native. La seule solution est d'utiliser un convertisseur USB-TTL sur d'autres pins pour le debug série, ou de laisser ces pins libres des le debut si tu veux la simplicite du flash par US… — maker_embedded

Opiniones y proyectos de la comunidad

  • Adafruit QT Py ESP32-S2 getting started

    Guía de inicio de Adafruit QT Py ESP32-S2 — (CircuitPython + USB HID): .adafruit.com/adafruit-qt-py-esp32-s2 (unverified au 2026-10-13) Adafruit MagTag — (S2 + e-ink + IoT): .adafruit.com/adafruit-magtag (unverified au 2026-10-13) — referencia alojada en lear…

  • ESP32-S2-Kaluga-1

    ESP32-S2-Kaluga-1 — kit de cámara + LCD HMI (documentación oficial): .espressif.com/projects/esp-dev-kits/en/latest/esp32s2/esp32-s2-kaluga-1/index.html (unverified au 2026-10-13)

  • ESP-IDF USB device examples

    Ejemplos de dispositivos USB de ESP-IDF — (CDC, HID, MIDI, MSC): .com/espressif/esp-idf/tree/master/examples/peripherals/usb (unverified au 2026-10-13)

  • ESP RainMaker

    ESP RainMaker — nube sin configuración para dispositivos S2: .espressif.com/ (unverified au 2026-10-13) — referencia alojada en rainmaker, estado no verificado verificado el 2026-10-13. Proyecto documentado en la ficha esp32-s2 (MCU de 32 bits); rol: profundi…

  • ESPHome on ESP32-S2

    ESPHome en ESP32-S2 — : .io (unverified au 2026-10-13) — referencia alojada en esphome, estado unverified verificado el 2026-10-13. Proyecto documentado en la ficha esp32-s2 (MCU de 32 bits); rol: profundizar en el manejo de esta tarjeta.

  • Sin Bluetooth: las apps de aprovisionamiento BLE escritas para ESP32 no funcionan; usar SoftAP o aprovisionamiento por USB (
  • Conflicto PSRAM vs Wi-Fi: en el S2, el acceso a la PSRAM externa está restringido mientras la radio Wi-Fi está activa; ESP-IDF mantiene los buffers críticos en RAM interna automáticamente, pero los diseños ingenuos de "meterlo todo en PSRAM" chocan con límites de rendimiento/funciones (guía PSRAM de ESP-IDF:
  • ADC2 inutilizable con Wi-Fi (mismo capricho de toda la familia que el ESP32) (
  • Pines de strap GPIO0 / GPIO45 / GPIO46: GPIO45 controla la tensión VDD_SPI y GPIO46 es una entrada de modo de arranque; cargarlos en el encendido provoca que "el chip no arranque" (datasheet del ESP32-S2, §Strapping Pins, URL arriba).
  • GPIO33–GPIO37 pueden estar consumidos por la flash/PSRAM del encapsulado en algunas variantes (p. ej. S2R8) — comprueba la datasheet de tu módulo antes de fijar pines (
  • Los pines USB son valiosos: GPIO19/20 son los únicos pines USB; usarlos como GPIO pierde la programación nativa en placas sin puente UART (los usuarios de QT Py deben aprender la danza boot+reset) (guía Adafruit QT Py:
  • Vaivén de kits: DevKitM-1 descatalogado; docs/ejemplos todavía lo referencian (
  • Faire clignoter une LED avec l'ESP32-S2 debutant Schéma : IMG-esp32-s2-debutant-1-esp32-s2-clignotement-led.svg — Carte ESP32-S2, broche GPIO2 reliée via une résistance de 330 Ω à une LED dont la cathode va au GND.
  • Lire un bouton poussoir avec anti-rebond debutant Schéma : IMG-esp32-s2-debutant-2-esp32-s2-bouton-anti-rebond.svg — Bouton poussoir entre le GPIO4 et le GND, résistance de pull-up interne activée par le programme sur la carte ESP32-S2.
  • Console série et lecture d'un capteur analogique debutant Schéma : IMG-esp32-s2-debutant-3-esp32-s2-console-serie-capteur-analogique.svg — Potentiomètre dont le curseur est relié à l'entrée ADC1 GPIO3 d'une ESP32-S2, les deux autres pattes au 3V3 et au GND, câble USB vers l'ordinateur pour la console série.
  • Scanner les réseaux WiFi environnants intermediaire Schéma : IMG-esp32-s2-intermediaire-1-esp32-s2-scan-wifi-reseaux.svg — ESP32-S2 reliée par câble USB à un ordinateur, la console série affiche la liste des réseaux WiFi 2,4 GHz détectés avec leur puissance de signal.
  • Détecter un contact avec les broches tactiles capacitives intermediaire Schéma : IMG-esp32-s2-intermediaire-2-esp32-s2-tactile-capacitif.svg — Plaque de cuivre autocollante reliée au GPIO4 de l'ESP32-S2 servant de touche tactile capacitive, LED avec résistance de 330 Ω sur GPIO2, doigt posé sur la plaque.
  • Stocker des journaux dans la flash avec LittleFS intermediaire Schéma : IMG-esp32-s2-intermediaire-3-esp32-s2-littlefs-logs.svg — ESP32-S2 dont la puce de flash embarquée est mise en évidence avec une icône de fichier journal, un capteur analogique sur GPIO3 et le câble USB vers la console série.
  • Deep sleep à quelques microampères sur batterie avance Schéma : IMG-esp32-s2-avance-1-esp32-s2-deep-sleep-batterie.svg — ESP32-S2 alimentée par un pack de piles, bouton de réveil sur GPIO1 (réveil EXT0), LED témoin sur GPIO2, multimètre en série mesurant la consommation en microampères.
  • Secure boot RSA-3072 et chiffrement de la flash avance Schéma : IMG-esp32-s2-avance-2-esp32-s2-secure-boot-chiffrement.svg — ESP32-S2 reliée en USB à un ordinateur, cadenas et bouclier au-dessus de la puce, icône de clé RSA-3072 et puce de flash chiffrée en AES-XTS.
  • Serveur web embarqué pour piloter une LED avance Schéma : IMG-esp32-s2-avance-3-esp32-s2-serveur-web-led.svg — ESP32-S2 connectée au WiFi local, LED sur GPIO2 avec résistance de 330 Ω, un ordinateur et un smartphone affichent la page web servie par la carte avec boutons ON/OFF.

Biblioteca de código — ejemplos escritos para esta placa

  • clignotante.ino Arduino

    La comprobación básica de la placa: el LED parpadea a 1 Hz con millis() en vez de delay(), dejando el bucle libre para Wi-Fi o sensores. El monitor también imprime heap libre, útil antes de añadir li…

  • bouton-led.ino Arduino

    Un botón entre GPIO4 y GND, elevado internamente: cada pulsación limpia se cuenta e imprime. El filtro antirrebote de 40 ms elimina el rebote mecánico que duplicaría la cuenta.

  • respiration.ino Arduino

    El PWM hardware (LEDC) genera la portadora solo: analogWrite aplica un ciclo de trabajo 0-255 y el LED respira sin gastar CPU. La frecuencia elegida evita el silbido del driver PWM.

  • dht22.ino Arduino

    El DHT22 entrega temperatura y humedad por un solo hilo: la librería Adafruit decodifica las tramas de 40 bits y el script añade el punto de rocío. La cadencia de 2 s es el límite del sensor.

  • oled-i2c.ino Arduino

    El OLED SSD1306 es el display I2C universal: dos hilos, sin librerías propietarias. El sketch escribe un framebuffer y lo envía de golpe con display(), la disciplina correcta contra el parpadeo.

  • serveur-web.ino Arduino

    El clásico conectado: la placa sirve una página HTML en la red local, dos enlaces conmutan el LED y un ADC aparece en directo. Sin infraestructura externa: el servidor corre dentro de la placa.

  • touch.ino Arduino

    El S2 lleva 14 pads táctiles capacitivos por hardware: touchRead() devuelve un valor que cae cuando un dedo se acerca al cable. Ideal para interfaces sin botones mecánicos, incluso a través de tela f…

  • servo.ino Arduino

    El estándar absoluto de la mecánica: un servo MG90/SG90 barre 0-180° pilotado por PWM de 50 Hz. En ESP32 la librería Servo usa LEDC, así que casi cualquier pin vale.

  • sommeil-profond.ino Arduino

    En sueño profundo el SoC consume unos microamperios: despertar por minuto o por pulsación, y una pila dura meses. RTC_NOINIT_ATTR conserva el contador de despertones entre reinicios.

  • mesures.py MicroPython

    MicroPython corre en todas estas placas: sin cadena de compilación, edita main.py y arranca. Este registrador DHT escribe JSON línea a línea en un archivo, el formato que cualquier herramienta traga …

Ejemplos y repositorios encontrados en línea