Introducción al ESP32-S3
ESP32-S3 es un MCU System-on-Chip (SoC) lanzado por Espressif, que integra capacidades Wi-Fi de 2,4 GHz y Bluetooth 5 (LE), incluyendo soporte de largo alcance. Está equipado con un potente procesador Xtensa® LX7 de 32 bits y doble núcleo, con una velocidad de hasta 240 MHz, y cuenta con 512 KB de SRAM (TCM) integrada. Además, el chip ofrece 45 pines GPIO programables y una amplia gama de interfaces de comunicación. El ESP32-S3 también admite una memoria flash SPI octal de alta velocidad más grande y RAM externa, lo que permite a los usuarios configurar el almacenamiento en caché de datos e instrucciones para mejorar el rendimiento.

ESP32-S3-DevKitC-1 Pinout
El ESP32-S3-DevKitC es una placa de desarrollo basada en el módulo ESP32-S3-WROOM-1. Está diseñada para ayudar a los desarrolladores a crear prototipos y probar sus proyectos con el microcontrolador de la serie ESP32-S3. La placa ofrece una variedad de características de hardware y pines que se pueden utilizar para conectar periféricos y sensores. A continuación se ofrece una introducción a la disposición de los pines del ESP32-S3-DevKitC:

Descripción de la disposición de los pines
| Pin | Description |
|---|---|
| ESP32-S3-WROOM-1 Module | Main module with microcontroller, Wi-Fi, and Bluetooth. |
| USB-UART Bridge | Allows USB communication with ESP32-S3 module. |
| USB Port | Power and serial connection through USB. |
| BOOT Button | Puts ESP32-S3 into bootloader mode for firmware upload. |
| EN Button | Resets the ESP32-S3 module. |
| User Buttons | Two buttons for user-defined purposes. |
| User LEDs | LEDs controlled by the ESP32-S3 for visual feedback. |
| GPIO Pins | General Purpose Input/Output pins for various functions. |
| Analog Input Pins | Pins to read analog signals from sensors. |
| I2C Pins | Pins for I2C communication with sensors. |
| SPI Pins | Pins for high-speed communication with devices. |
| UART Pins | Pins for serial communication with other devices. |
| SD Card Slot | Slot for interfacing with SD cards. |
| JTAG Header | Header for advanced debugging and programming. |
| Power Supply Pins | Pins for 3.3V and GND connections. |
Procesador Xtensa LX7 de 32 bits
En cuanto a este chip, es posible que tenga dudas sobre su procesador integrado Xtensa LX7 de doble núcleo y 32 bits, ya que la mayoría de los chips integrados que vemos habitualmente se basan principalmente en ARM. Xtensa es diferente de los núcleos ARM; los procesadores de la serie Xtensa LX ofrecen una gran reconfigurabilidad y escalabilidad, lo que los convierte en la opción ideal para aplicaciones complejas e intensivas de procesamiento de señales digitales. Con la tecnología Xtensa, los ingenieros de diseño de sistemas pueden seleccionar la arquitectura de unidad deseada y crear nuevas instrucciones y unidades de ejecución de hardware para diseñar núcleos de procesador que son significativamente más potentes que los basados en métodos tradicionales. El generador Xtensa puede producir de manera eficiente un conjunto de herramientas de software completas, incluido un sistema operativo, adaptadas a la combinación específica de cada procesador. La naturaleza personalizable de los procesadores Xtensa permite una gran flexibilidad en el diseño y una alta eficiencia, lo que los convierte en la opción óptima para todos los sistemas de un solo chip altamente sintetizados. Al emplear una combinación de reconfigurabilidad de hardware y programación de software, los procesadores Xtensa no solo mejoran el rendimiento computacional, sino que también ofrecen facilidad de implementación para fines de control.

Aplicaciones del ESP32-S3
El chip de bajo consumo ESP32-S3 está diseñado específicamente para dispositivos del Internet de las cosas (IoT) y tiene una amplia gama de aplicaciones. Se puede afirmar con seguridad que casi todos los productos electrónicos de consumo que hay actualmente en el mercado pueden utilizarlo. Por ejemplo, los electrodomésticos como los aires acondicionados o las arroceras pueden equiparse con él para permitir el control remoto y la conectividad. Algunas áreas de aplicación específicas incluyen:
- Electrodomésticos inteligentes
- Concentrador universal de sensores IoT de bajo consumo
- Industria automatizada
- Registrador de datos IoT universal de bajo consumo
- Seguros médicos
- Transmisión de vídeo por cámara
- Electrónica de consumo
- Dispositivo USB
- Agricultura inteligente
- Reconocimiento de voz
- Máquina POS
- Identificación de imágenes
- Robot de servicio
- Tarjeta de red Wi-Fi + Bluetooth
- Equipo de audio
- Sensores táctiles y de proximidad
ESP32-S3 frente a STM32
El ESP32-S3 supone una evolución en el diseño de chips en comparación con la serie STM32. Si bien los chips STM32 gozan de una reputación bien consolidada y se utilizan ampliamente en diversas aplicaciones, la serie ESP32 se ha posicionado estratégicamente a la vanguardia. Al integrar las funcionalidades WiFi y Bluetooth directamente en el sistema en chip (SoC), el ESP32-S3 satisface la creciente demanda de dispositivos inteligentes y conectados en la era del IoT.
Aunque los chips STM32 son microcontroladores potentes y versátiles, pueden requerir componentes o módulos adicionales para habilitar la conectividad WiFi y Bluetooth. Por el contrario, el ESP32-S3 ofrece la comodidad de la comunicación inalámbrica integrada, lo que reduce la necesidad de componentes externos y simplifica el proceso de diseño de las aplicaciones IoT. Una comparación de los diagramas funcionales del ESP32-S3 y el STM32F103XX revelaría este avance.


La decisión de Espressif de equipar el ESP32 con capacidades WiFi y Bluetooth desde el principio les ha permitido aprovechar las tendencias emergentes y responder a las necesidades cambiantes de la industria electrónica. Con la creciente importancia de la conectividad a Internet y la comunicación inalámbrica, las características integradas del ESP32-S3 se ajustan perfectamente a las demandas de los productos electrónicos modernos.
Además, la serie ESP32-S3 no solo ofrece WiFi y Bluetooth, sino que también cuenta con mejoras en rendimiento, eficiencia energética y facilidad de uso. Aunque la serie STM32 puede seguir teniendo ciertas ventajas en términos de rendimiento bruto y estabilidad, el ESP32-S3 le está ganando terreno rápidamente y ya ha ganado popularidad en diversas aplicaciones de IoT y dispositivos conectados.
Fabricación de una placa microcontroladora con ESP32-S3
Para aplicar el chip ESP32-S3 a productos prácticos, es necesario empaquetarlo y complementarlo con circuitos periféricos y puertos IO de comunicación para la comunicación con dispositivos externos. Por ejemplo, para crear un dispositivo de control de acceso con reconocimiento facial, se necesita una interfaz de cámara para conectar una cámara externa para la adquisición y el procesamiento de imágenes, un circuito de antena para la conectividad WiFi o Bluetooth y una memoria flash SPI para almacenar grandes cantidades de datos. La siguiente figura es el diagrama esquemático oficial del circuito, que generalmente incluye alrededor de 20 resistencias, condensadores, inductores, un oscilador de cristal pasivo y una memoria flash SPI.

Si le resulta complicado diseñar estos circuitos, puede optar por módulos ESP32-S3 prediseñados y empaquetados. El uso de módulos puede acortar nuestro ciclo de desarrollo, pero puede suponer un coste más elevado. Como alternativa, podemos desarrollar módulos siguiendo el esquema oficial proporcionado por Espressif. Los módulos lanzados oficialmente por Espressif se muestran en la siguiente imagen.


Los módulos lanzados por Espressif tendrán diferentes modelos. De hecho, el chip central es el mismo que el ESP32-S3. La diferencia entre los distintos modelos radica en el tamaño de la memoria Flash y la PSRAM externas. El modelo con la configuración más alta lanzado oficialmente es el ESP32-S3-WROOM-1-N16R8, que tiene 16 MB de memoria Flash y 8 MB de PSRAM. Creo que esta configuración es suficiente para nuestro desarrollo:
| Model | Flash2 | PSRAM | Ambient temperature (℃) | Module size (mm) |
|---|---|---|---|---|
| ESP32-S3-WROOM-1-N4 | 4 MB (Quad SPI) | - | -40~85 | 18.0 * 25.5 * 3.1 |
| ESP32-S3-WROOM-1-N8 | 8 MB (Quad SPI) | - | -40~85 | 18.0 * 25.5 * 3.1 |
| ESP32-S3-WROOM-1-N16 | 16 MB (Quad SPI) | - | -40~85 | 18.0 * 25.5 * 3.1 |
| ESP32-S3-WROOM-1-H4 | 4 MB (Quad SPI) | - | -40~105 | 18.0 * 25.5 * 3.1 |
| ESP32-S3-WROOM-1-N4R2 | 4 MB (Quad SPI) | 2 MB (Quad SPI) | -40~85 | 18.0 * 25.5 * 3.1 |
| ESP32-S3-WROOM-1-N8R2 | 8 MB (Quad SPI) | 2 MB (Quad SPI) | -40~85 | 18.0 * 25.5 * 3.1 |
| ESP32-S3-WROOM-1-N16R2 | 16 MB (Quad SPI) | 2 MB (Quad SPI) | -40~85 | 18.0 * 25.5 * 3.1 |
| ESP32-S3-WROOM-1-N4R8 | 4 MB (Quad SPI) | 8 MB (Octal SPI) | -40~65 | 18.0 * 25.5 * 3.1 |
| ESP32-S3-WROOM-1-N8R8 | 8 MB (Quad SPI) | 8 MB (Octal SPI) | -40~65 | 18.0 * 25.5 * 3.1 |
| ESP32-S3-WROOM-1-N16R8 | 16 MB (Quad SPI) | 8 MB (Octal SPI) | -40~65 | 18.0 * 25.5 * 3.1 |
Podemos utilizar estos módulos empaquetados para diseñar una placa de microordenador de un solo chip con funciones específicas. Si desea crear una placa de desarrollo con funciones generales, el método habitual consiste en sacar todas las E/S del módulo, de modo que los usuarios puedan utilizarlo según sus necesidades. Usted mismo puede conectar dispositivos externos, por lo que he diseñado una placa de desarrollo mini ESP32-S3 de uso general, como se muestra en la siguiente figura:
Placa de expansión de diseño con ESP32-S3
No todas las placas de desarrollo necesitan diseñar placas de expansión, solo es necesario diseñar las interfaces externas correspondientes directamente al diseñar la placa de desarrollo. Pero esto causará un problema. Si necesitamos fabricar otros productos, será necesario rediseñar toda la placa de desarrollo, lo que supondrá una pérdida de tiempo y costes de hardware. Mi idea es que nuestra placa de desarrollo central permanezca sin cambios y que podamos diseñar algunas placas de expansión con las interfaces correspondientes según las necesidades del producto, de modo que nuestro tiempo de desarrollo sea mucho más rápido, ya que es muy fácil diseñar placas de interfaz externas. Otra razón es que, si algunas funciones de nuestra placa central fallan y no se pueden reparar, solo necesitamos una placa central mejor y no es necesario realizar ningún cambio en las placas de expansión conectadas a dispositivos externos.
Aquí, para facilitar nuestro aprendizaje y desarrollo del ESP32-S3, utilizaremos diferentes funciones. Es imposible incluir todas estas funciones en una sola placa de desarrollo, ya que el coste sería demasiado elevado. Será mucho más conveniente si elegimos placas de expansión con un coste menor y solo funciones específicas según las diferentes necesidades de aprendizaje. Esto nos resultará más cómodo para empezar. Primero diseñé una placa de expansión que conecta varios sensores, como se muestra en la siguiente figura:




