Description
ESP32 S3 WROOM N16R8, Wi-Fi, Bluetooth 5 LE
L’ESP32-S3 N16R8 (Type C) est une carte de développement puissante basée sur le module ESP32-S3-WROOM-1-N16R8 d’Espressif. Elle intègre un microprocesseur Xtensa LX7 double cœur 32 bits, une connectivité Wi-Fi 2,4 GHz, le Bluetooth 5 Low Energy ainsi qu’une importante capacité mémoire de 16 Mo Flash et 8 Mo PSRAM.
Grâce à ses instructions vectorielles et à ses capacités de traitement du signal, l’ESP32-S3 convient particulièrement aux applications IoT avancées, à la reconnaissance vocale, au traitement d’images, aux interfaces graphiques, aux caméras et aux projets d’intelligence artificielle embarquée.
Principaux avantages
- Microcontrôleur puissant à double cœur.
- Grande mémoire Flash de 16 Mo.
- PSRAM externe intégrée de 8 Mo.
- Wi-Fi et Bluetooth Low Energy intégrés.
- Interfaces USB natives.
- Nombreuses interfaces pour capteurs, écrans, caméras et modules externes.
- Accélération matérielle pour le traitement du signal et certains calculs de réseaux neuronaux.
- Compatible avec Arduino IDE, ESP-IDF et MicroPython.
CPU et mémoire
- Microprocesseur Xtensa LX7 double cœur 32 bits avec unité de calcul en virgule flottante.
- Fréquence maximale : 240 MHz.
- Mémoire ROM interne : 384 Ko.
- Mémoire SRAM interne : 512 Ko.
- Mémoire SRAM RTC : 16 Ko.
- Mémoire Flash intégrée : 16 Mo Quad SPI.
- Mémoire PSRAM intégrée : 8 Mo Octal SPI.
La PSRAM de 8 Mo permet d’utiliser des buffers plus importants pour les écrans graphiques, les caméras, le traitement audio, les serveurs Web et les applications nécessitant davantage de mémoire vive.
Wi-Fi
- Wi-Fi 2,4 GHz IEEE 802.11 b/g/n.
- Débit théorique 802.11n pouvant atteindre 150 Mbit/s.
- Modes Station, point d’accès SoftAP et fonctionnement combiné.
- Agrégation A-MPDU et A-MSDU.
- Partage de l’antenne entre le Wi-Fi et le Bluetooth.
- Antenne PCB intégrée au module ESP32-S3-WROOM-1.
Bluetooth
- Bluetooth 5 Low Energy – BLE.
- Compatible Bluetooth Mesh.
- Débits BLE de 125 kbit/s, 500 kbit/s, 1 Mbit/s et 2 Mbit/s.
- Prise en charge des extensions publicitaires et de plusieurs ensembles d’annonces.
- Support des modes longue portée grâce au Coded PHY.
Attention : l’ESP32-S3 prend en charge le Bluetooth Low Energy, mais la documentation Espressif ne spécifie pas le Bluetooth Classic BR/EDR présent sur certaines versions de l’ESP32 original.
Entrées, sorties et interfaces
La puce ESP32-S3 dispose de 45 GPIO programmables, tandis que le module ESP32-S3-WROOM-1 peut exposer jusqu’à 36 GPIO, selon la mémoire intégrée et la conception de la carte de développement.
Interfaces disponibles :
- 3 interfaces UART.
- 2 interfaces I2C, configurables en maître ou en esclave.
- 2 interfaces I2S pour les applications audio numériques.
- 2 interfaces SPI générales.
- Interface LCD.
- Interface caméra DVP de 8 à 16 bits.
- Contrôleur LED PWM jusqu’à 8 canaux.
- 2 contrôleurs PWM pour moteurs MCPWM.
- Interface RMT pour émission et réception de signaux.
- Contrôleur de comptage d’impulsions.
- Contrôleur TWAI compatible avec la spécification CAN 2.0.
- Contrôleur hôte SD/MMC.
- USB OTG Full-Speed.
- Interface USB Serial/JTAG.
Fonctions analogiques et tactiles
- 2 convertisseurs analogique-numérique SAR avec une résolution de 12 bits.
- Jusqu’à 20 canaux ADC au niveau de la puce.
- 14 GPIO compatibles avec la détection tactile capacitive.
- Capteur de température interne.
- Temporisateurs matériels et watchdogs intégrés.
L’ESP32-S3 ne doit pas être présenté comme possédant les deux sorties DAC analogiques de l’ESP32 classique, car celles-ci ne figurent pas dans la liste officielle des périphériques de l’ESP32-S3.
USB natif
L’ESP32-S3 intègre un contrôleur USB 2.0 OTG Full-Speed ainsi qu’un contrôleur USB Serial/JTAG. Selon le câblage de la carte, ces fonctions permettent la programmation, la communication USB et le débogage sans nécessiter obligatoirement un programmateur externe.
Alimentation
- Tension de fonctionnement du module : 3,0 à 3,6 V.
- Tension nominale des circuits logiques : 3,3 V.
- Les GPIO ne doivent pas recevoir directement un signal logique de 5 V.
- Plage de température ambiante recommandée pour la version N16R8 : −40 à +65 °C.
Une carte de développement peut être alimentée par son connecteur USB ou sa broche 5 V lorsqu’elle comporte un régulateur 5 V vers 3,3 V. Cette caractéristique dépend toutefois du circuit exact de la carte et non uniquement du module ESP32-S3.
Sécurité et faible consommation
L’ESP32-S3 prend en charge le démarrage sécurisé, le chiffrement de la mémoire Flash, les signatures numériques, le générateur matériel de nombres aléatoires ainsi que l’accélération cryptographique AES, SHA, RSA et HMAC.
Plusieurs modes d’économie d’énergie sont disponibles, notamment Active, Modem-sleep, Light-sleep et Deep-sleep. La puce intègre également des coprocesseurs basse consommation capables de surveiller certains événements pendant que les cœurs principaux sont arrêtés.
Applications
- Objets connectés et systèmes IoT.
- Domotique et maison intelligente.
- Automatisation industrielle.
- Stations de mesure et enregistreurs de données.
- Commande de robots et de moteurs.
- Écrans LCD et interfaces graphiques.
- Caméras et transmission d’images.
- Traitement audio et reconnaissance vocale.
- Reconnaissance d’images.
- Détection tactile et interfaces homme-machine.
- Appareils USB.
- Réseaux de capteurs Wi-Fi et BLE.
- Projets AIoT et intelligence artificielle embarquée.
Programmation avec Arduino IDE
L’ESP32-S3 peut être programmé avec Arduino IDE après l’installation du paquet de cartes officiel esp32 by Espressif Systems. Espressif recommande l’installation par le gestionnaire de cartes Arduino.
Ajout du support ESP32
- Téléchargez et installez Arduino IDE.
- Ouvrez Fichier > Préférences.
- Dans URL de gestionnaire de cartes supplémentaires, ajoutez l’adresse officielle suivante :
https://espressif.github.io/arduino-esp32/package_esp32_index.json
- Ouvrez Outils > Type de carte > Gestionnaire de cartes.
- Recherchez
esp32. - Installez le paquet esp32 by Espressif Systems.
- Redémarrez Arduino IDE.
- Sélectionnez Outils > Type de carte > esp32 > ESP32S3 Dev Module.
- Sélectionnez le port COM correspondant à la carte.
Pour exploiter toute la mémoire de la version N16R8, sélectionnez une taille de Flash de 16 MB et activez la PSRAM lorsque ces réglages sont proposés par le profil de la carte. Le type de PSRAM correspondant au module N16R8 est Octal SPI.
Exemple : clignotement d’une LED externe
Cet exemple utilise une LED externe afin d’éviter les différences de câblage de la LED intégrée entre les différentes cartes ESP32-S3.
Connexion
- Anode de la LED vers GPIO 2 à travers une résistance de 220 à 330 Ω.
- Cathode de la LED vers GND.
Code Arduino
constexpr uint8_t LED_PIN = 2;
void setup() {
pinMode(LED_PIN, OUTPUT);
digitalWrite(LED_PIN, LOW);
}
void loop() {
digitalWrite(LED_PIN, HIGH);
delay(1000);
digitalWrite(LED_PIN, LOW);
delay(1000);
}
Téléversement
- Connectez la carte à l’ordinateur avec un câble USB permettant le transfert de données.
- Sélectionnez ESP32S3 Dev Module.
- Sélectionnez le port COM.
- Cliquez sur Téléverser.
- Lorsque la connexion automatique échoue, maintenez le bouton BOOT, lancez le téléversement puis relâchez le bouton lorsque l’écriture commence. Espressif précise que certaines cartes peuvent nécessiter l’utilisation du bouton BOOT pendant le téléversement.
Composants nécessaires
- Carte ESP32-S3 N16R8.
- Câble USB de données compatible avec le connecteur de la carte.
- LED.
- Résistance de 220 à 330 Ω.
- Breadboard.
- Fils de connexion.