uPesy ESP32S3 DevKit v1.0
(Mis à jour le 12/10/2023)
Sélectionnez la version de votre carte mentionnée au verso: Rev x.y
Bienvenue dans la documentation de la carte uPesy ESP32S3 DevKit , la carte de développement la plus puissante fabriquée par uPesy basée sur le tout nouveau module ESP32S3 . Avec 8Mo de RAM et 16Mo de flash, cette carte est le choix parfait pour tous vos projets ambitieux de développement IoT et électronique.
Vous trouverez dans cette documentation technique toutes les informations nécessaires pour commencer à travailler avec cette carte.
Note
Ce nouveau modèle remplacera à terme la carte uPesy ESP32 Wrover Devkit
Précisions sur la numérotation des broches
Vous remarquerez que les broches sont numérotées dans le désordre contrairement aux cartes Arduinos. Il faudra donc bien se référer au pinout pour connaître le numéro de la broche et non pas le déduire en fonction de la position de la broche.
Caractéristiques
La carte uPesy ESP32S3 DevKit peut être découpée en 4 principaux blocs :
Le module ESP32
Le convertisseur USB vers UART
La gestion de l’alimentation
La connectique
Module ESP32S3
Le cerveau de la carte est le module ESP32S3. C’est un microcontrôleur puissant fabriqué par Espressif. La carte uPesy contient la version du module avec le plus de mémoire Flash et de RAM
Voici des liens vers la datasheet du fabricant : Module ESP32S3-WROOM-1 (version N16R8)
Convertisseur USB/UART
Ce convertisseur à le même rôle que sur l’ESP32 classique : traduire l’USB vers l’UART pour flasher l’ESP32S3. Même si on peut flasher le S3 via l’USB, la méthode UART fonctionnera dans tous les cas. C’est le moyen le plus bas niveau, qui sera toujours prioritaire devant l’USB.
Pour limiter la place et le coût de la carte, c’est le circuit intégré CH340X qui est utilisé (au lieu du CP2102) pour cette tâche. Les drivers sont censés s’installer automatiquement sur Windows.
Gestion de l’alimentation
Cette section de la carte est responsable de la gestion de l’alimentation. Elle contient entre autres un régulateur de tension 3.3V ainsi que des protections. Son fonctionnement sera détaillé dans la section Utilisation.
Connectique
La carte possède 2 connecteurs USB-C : un relié au port série (UART) de l’ESP32S3 l’autre aux broches pour l’USB. Ils permettent notamment de téléverser un programme, d’envoyer des messages …
Note
Il faut s’assurer d’utiliser un câble USB qui laisse transiter les données, et non pas un qui sert juste à charger un appareil.
Il y a donc 2 moyens de communiquer avec l’ordinateur. Il faut brancher uniquement un des 2 pour communiquer via l’ordinateur. Le mode UART est la méthode conseillée pour tester la carte, car il est plus simple à mettre en oeuvre.
Comme sur l’ESP32 Wroom classique, les 2 boutons EN
et BOOT
de la carte permettent de contrôler l’état de l’ESP32:
EN
: Ce bouton, appelé égalementRESET
permet de redémarrer de force l’ESP32.BOOT
: L’utilisation seule de ce bouton n’a pas grand intérêt. Il agit sur le comportement de l’ESP32 lors du démarrage (lors du boot).
On peut utiliser ces boutons pour mettre manuellement l’ESP32 en mode DOWNLOAD
, mode qui permet de charger un nouveau programme sur l’ESP32. Normalement, l’ESP32 se met automatiquement dans ce mode lorsque le téléversement se fait via USB grâce au convertisseur CH340X.
Astuce
C’est la solution de secours, lorsqu’on n’arrive pas à enlever l’erreur : A fatal error occurred: Failed to connect to ESP32: Timed out waiting for packet header
Lorsque que :
Connecting........_____....._____....._____....._____....._____....._____....._____....._____....._____....._____
Voici la combinaison à réaliser :
Maintenir appuyé en même temps les boutons
EN
etBOOT
pendant 2 secondesRelâcher le bouton
EN
tout en maintenant appuyéBOOT
pendant 2 secondesRelâcher le bouton
BOOT
Utilisation
Tolérance en tension des pins
L’ESP32 est un microcontrôleur qui fonctionne en 3.3V. Les niveaux logiques sont donc de 0 et 3.3V et non pas de 0 et 5V. C’est-à-dire que la tension en sortie des pins GPIO est de 3.3V et la tension en entrée ne doit pas excéder 3.3V. Les pins GPIO ne sont pas prévus pour avoir des niveaux logiques de 5V .
La tension mesurée par le convertisseur analogique numérique ne doit pas non plus excéder 3.3V (et pas non plus négative bien sûr).
Note
La plupart des modules/capteurs peuvent fonctionner avec des niveaux logiques de 3.3V, mais si ce n’est pas le cas, des level shifters (ou a minima des ponts diviseurs de tension) seront nécessaires pour passer d’une tension de 3.3V à 5V et vice versa.
Avertissement
Puisque l’ESP32 n’a pas été prévu pour recevoir du 5V sur ces pins GPIO, les pins de l’ESP32 peuvent être endommagés s’ils sont exposés trop longtemps à cette tension.
Alimentation de la carte uPesy
Lorsque la carte est alimentée, une LED rouge s’allume. Il y a plusieurs moyens pour alimenter la carte uPesy ESP32S3 DevKit :
-
Le plus simple est par USB en 5V, en connectant la carte à un ordinateur ou à une batterie externe (powerbank). On peut techniquement alimenter la carte par les 2 ports USB en même temps, même si cela n’est pas recommandé. On peut ensuite utiliser le pin 5V et 3.3V pour alimenter un montage électronique.
Note
La tension de la broche 5V provient uniquement de l’USB.
-
On peut aussi alimenter la carte directement sur le pin \(V_{IN}\) avec une alimentation externe. Il faut bien penser à relier la masse de l’alimentation au pin GND de la carte. Dans cette configuration, Il n’y aura pas de tension de 5V disponible sur la broche 5V, seule une tension de 3.3V est disponible sur le pin 3V3. En effet, la broche 5V correspond uniquement au 5V provenant de l’USB.
Avertissement
La tension en entrée sur le pin \(V_{IN}\) doit être comprise entre 3.6 et 7V maximum . Une tension aux alentours de 5V est optimale.
-
On peut également utiliser les 2 premières méthodes en même temps , c’est à dire avoir une alimentation externe reliée branchée au pin \(V_{IN}\) tout en ayant la carte connectée à l’ordinateur (les 2 masses doivent être reliées) . C’est très pratique pour dialoguer avec le moniteur série de l’Arduino IDE tout en ayant l’ESP32 alimenté par un autre circuit électronique externe. Le fonctionnement est le suivant :
Si \(V_{IN}\) < \(V_{USB}\) , avec \(V_{USB}=5V\) alors c’est l’USB qui sera principalement utilisé pour alimenter l’ESP32.
Si \(V_{IN}\) > \(V_{USB}\) , alors c’est l’alimentation externe qui sera principalement utilisée pour alimenter l’ESP32.
Protections intégrées
La carte uPesy ESP32S3 DevKit possède une batterie de protection pour éviter de l’endommager facilement. Notez que ces protections ne sont en aucun cas suffisantes pour prévenir de toutes les erreurs de manipulations possibles : la carte n’est donc pas indestructible.
La carte intègre les protections suivantes :
Protection contre les décharges électrostatiques sur les 2 ports USB
Protection contre les injections de courant sur les ports USB
Protections court-circuit sur le rail \(V_{IN}\) , 5V et 3.3V : Des fusibles thermiques auto-réarmables de 750 mA sont utilisés sur les rails \(V_{IN}\) et 5V. Il faut donc éviter de tirer trop de courant sur la carte, sinon ils risquent de se déclencher. Ils s’activent et se désactivent automatiquement (polyfuse).
Protection contre les inversions de polarités entre \(V_{IN}\) et GND.
Astuce
De manière générale, si lors de la mise sous tension de la carte, vous remarquez que la LED rouge intégrée ne s’allume pas, c’est qu’il y a un problème d’alimentation : il faut rapidement déconnecter la carte pour éviter d’endommager la carte et/ou l’alimentation elle-même.
Changelog | Historique des modifications
v1.0 (Octobre 2023)
Première version