Introdução ao ESP32-S3
O ESP32-S3 é um MCU System-on-Chip (SoC) lançado pela Espressif, que integra recursos Wi-Fi de 2,4 GHz e Bluetooth 5 (LE), incluindo suporte para Long Range. Ele é equipado com um poderoso processador dual-core Xtensa® de 32 bits LX7, com clock de até 240 MHz, e possui 512 KB de SRAM (TCM) integrada. Além disso, o chip oferece 45 pinos GPIO programáveis e uma ampla gama de interfaces de comunicação. O ESP32-S3 também suporta flash Octal SPI de alta velocidade e RAM externa maiores, permitindo que os usuários configurem o cache de dados e instruções para melhorar o desempenho.

Pinagem do ESP32-S3-DevKitC-1
O ESP32-S3-DevKitC é uma placa de desenvolvimento baseada no módulo ESP32-S3-WROOM-1. Ele foi projetado para ajudar os desenvolvedores a criar protótipos e testar seus projetos com o microcontrolador da série ESP32-S3. A placa oferece uma variedade de recursos de hardware e pinos que podem ser usados para conectar periféricos e sensores. Abaixo está uma introdução à pinagem do ESP32-S3-DevKitC:

Descrição da pinagem
| 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. |
Processador Xtensa LX7 de 32 bits
Em relação a este chip, você pode ter dúvidas sobre seu processador integrado Xtensa 32-bit LX7 dual-core, já que a maioria dos chips embarcados que vemos comumente são baseados em ARM. O Xtensa é diferente dos núcleos ARM; os processadores da série Xtensa LX oferecem forte reconfigurabilidade e escalabilidade, tornando-os a escolha ideal para aplicações complexas e intensivas de processamento de sinais digitais. Com a tecnologia Xtensa, os engenheiros de design de sistemas podem selecionar a arquitetura de unidade desejada e criar novas instruções e unidades de execução de hardware para projetar núcleos de processador significativamente mais poderosos do que aqueles baseados em métodos tradicionais. O gerador Xtensa pode produzir com eficiência um conjunto de ferramentas de software abrangentes, incluindo um sistema operacional, adaptado à combinação específica de cada processador. A natureza personalizável dos processadores Xtensa permite grande flexibilidade no design e alta eficiência, tornando-os a escolha ideal para todos os sistemas de chip único altamente sintetizados. Ao empregar uma combinação de reconfigurabilidade de hardware e programação de software, os processadores Xtensa não apenas melhoram o desempenho computacional, mas também oferecem facilidade de implementação para fins de controle.

Aplicações do ESP32-S3
O chip de baixo consumo ESP32-S3 foi projetado especificamente para dispositivos da Internet das Coisas (IoT) e tem uma ampla gama de aplicações. É seguro dizer que quase todos os produtos eletrônicos de consumo no mercado hoje podem usá-lo. Por exemplo, eletrodomésticos como aparelhos de ar condicionado ou panelas elétricas de arroz podem ser equipados com ele para permitir controle remoto e conectividade. Algumas áreas de aplicação específicas incluem:
- Eletrodomésticos inteligentes
- Hub universal de sensores IoT de baixo consumo
- Indústria automatizada
- Registrador de dados IoT universal de baixo consumo de energia
- Seguro médico
- Transmissão de vídeo por câmera
- Eletrônicos de consumo
- Dispositivo USB
- Agricultura inteligente
- Reconhecimento de voz
- Máquina POS
- Identificação de imagens
- Robô de serviço
- Placa de rede Wi-Fi + Bluetooth
- Equipamento de áudio
- Sensores de toque e proximidade
ESP32-S3 vs STM32
O ESP32-S3 representa uma evolução no design de chips em comparação com a série STM32. Embora os chips STM32 tenham uma reputação bem estabelecida e sejam amplamente utilizados em várias aplicações, a série ESP32 posicionou-se estrategicamente à frente da concorrência. Ao integrar funcionalidades WiFi e Bluetooth diretamente no System-on-Chip (SoC), o ESP32-S3 atende à crescente demanda por dispositivos inteligentes e conectados na era da IoT.
Embora os chips STM32 sejam microcontroladores poderosos e versáteis, eles podem exigir componentes ou módulos adicionais para habilitar a conectividade WiFi e Bluetooth. Em contrapartida, o ESP32-S3 oferece a conveniência da comunicação sem fio integrada, reduzindo a necessidade de componentes externos e simplificando o processo de design para aplicações de IoT. Uma comparação dos diagramas funcionais do ESP32-S3 e do STM32F103XX revelaria esse avanço.


A decisão da Espressif de equipar o ESP32 com recursos WiFi e Bluetooth desde o início permitiu que eles explorassem as tendências emergentes e atendessem às necessidades em constante mudança da indústria eletrônica. Com a crescente importância da conectividade com a Internet e da comunicação sem fio, os recursos integrados do ESP32-S3 se alinham perfeitamente com as demandas dos produtos eletrônicos modernos.
Além disso, a série ESP32-S3 não só oferece WiFi e Bluetooth, mas também apresenta melhorias em desempenho, eficiência energética e facilidade de uso. Embora a série STM32 ainda possa ter certas vantagens em termos de desempenho bruto e estabilidade, o ESP32-S3 está rapidamente ganhando terreno e já ganhou popularidade em várias aplicações de IoT e dispositivos conectados.
Criação de placa microcontroladora com ESP32-S3
Para aplicar o chip ESP32-S3 a produtos práticos, ele precisa ser embalado e complementado com circuitos periféricos e portas IO de comunicação para comunicação com dispositivos externos. Por exemplo, para criar um dispositivo de controle de acesso por reconhecimento facial, é necessária uma interface de câmera para conectar uma câmera externa para aquisição e processamento de imagens, um circuito de antena para conectividade WiFi ou Bluetooth e um flash SPI para armazenar grandes quantidades de dados. A figura a seguir é o diagrama esquemático oficial do circuito, que geralmente inclui cerca de 20 resistores, capacitores, indutores, um oscilador de cristal passivo e um flash SPI.

Se você achar difícil projetar esses circuitos, pode optar por módulos ESP32-S3 pré-projetados e embalados. O uso de módulos pode encurtar nosso ciclo de desenvolvimento, mas pode ter um custo mais alto. Como alternativa, podemos desenvolver módulos seguindo o esquema oficial fornecido pela Espressif. Os módulos lançados oficialmente pela Espressif são mostrados na imagem a seguir.


Os módulos lançados pela Espressif terão modelos diferentes. Na verdade, o chip principal é o mesmo do ESP32-S3. A diferença entre os diferentes modelos reside no tamanho da memória Flash e PSRAM fora do chip. O modelo com a configuração mais alta lançado oficialmente é o ESP32-S3-WROOM-1-N16R8, que tem 16 MB de Flash e 8 MB de PSRAM. Acho que essa configuração é suficiente para o nosso desenvolvimento:
| 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 usar esses módulos empacotados para projetar uma placa de microcomputador de chip único com funções específicas. Se você deseja criar uma placa de desenvolvimento com funções gerais, o método comum é conduzir todas as E/S do módulo, para que os usuários possam usá-la de acordo com suas necessidades. Você mesmo pode conectar dispositivos externos. Então, projetei uma placa de desenvolvimento mini ESP32-S3 de uso geral, conforme mostrado na figura abaixo:
Placa de expansão de design com ESP32-S3
Nem todas as placas de desenvolvimento precisam projetar placas de expansão, você só precisa projetar as interfaces externas correspondentes diretamente ao projetar a placa de desenvolvimento. Mas isso causará um problema. Se precisarmos fazer outros produtos, toda a placa de desenvolvimento precisará ser reprojetada, o que causará algum desperdício de tempo e custos de hardware. Minha ideia é que nossa placa de desenvolvimento principal permaneça inalterada e possamos projetar algumas placas de expansão com interfaces correspondentes de acordo com as necessidades do produto, para que nosso tempo de desenvolvimento seja muito mais rápido, pois é muito fácil projetar placas de interface externa. Outra razão é que, se algumas funções em nossa placa principal falharem e não puderem ser reparadas, precisaremos apenas de uma placa principal melhor e não precisaremos fazer nenhuma alteração nas placas de expansão conectadas a dispositivos externos.
Aqui, para facilitar nosso aprendizado e desenvolvimento do ESP32-S3, usaremos diferentes funções. É impossível colocar todas essas funções em uma placa de desenvolvimento, o que causaria um custo muito alto. Será muito mais conveniente se escolhermos placas de expansão com custo mais baixo e apenas funções específicas de acordo com as diferentes necessidades de aprendizado. Isso é conveniente para começarmos. Primeiro, projetei uma placa de expansão que conecta vários sensores, conforme mostrado na figura abaixo:




