Ignorer et passer au contenu

Livraison offerte à partir de 50€ d'achats, livrée sous 48h !

Livraison à partir de seulement 2.50€ !

Contents Menu Expand Light mode Dark mode Auto light/dark mode

uPesy ESP32 Wroom DevKit v2

(Mis à jour le 31/10/2023)

Sélectionnez la version de votre carte mentionnée au verso: Rev x.y

Voir aussi

Si vous venez de recevoir une carte uPesy ESP32, je vous conseille d’abord de regarder le guide de prise en main rapide , si ce n’est pas déjà fait.

Voici la documentation technique de la carte uPesy ESP32 WROOM DevKit . La carte est basée sur un module ESP32 et peut être mise facilement sur une breadboard. En étant moins large que la plupart des autres cartes ESP32, on peut accéder aux broches des 2 côtés de la carte pour y brancher des fils.

carte upesy esp32 compatible breadboard

uPesy ESP32 Wroom Devkit

Pinout

Chaque broche de la carte uPesy est identifiable par un numéro GPIOxx . Ce numéro permet de connaître les fonctionnalités d’une broche particulière. En anglais, on parle de pin pour désigner une broche. Le pinout d’une carte correspond a un schéma qui résume les fonctionnalités de l’ensemble des pins. Voici ci-dessous, 2 version du pinouts de la carte uPesy Wroom DevKit :

  • une version simplifiée, que vous avez également sous forme papier avec la carte, qui vous aidera lors de vos premiers montages électroniques, pour vous familiarisez avec les broches.

  • une version contenant la majorité des fonctionnalités de chaque broches.

Version simplifiée

Cette version, adaptée aux débutants présente les fonctionnalités principales des broches.

schéma des broches de l’esp32

Schéma simplifié des broches de la carte

Note

Vous pouvez mettre l’ESP32 sur la feuille en papier pour mieux repérer les broches 😉

astuce connaitre broche esp32 pinout

Version complète

schéma des broches de l’ESP32 complet

Pinout complet de la carte uPesy ESP32 Wroom Devkit

Note

Les pins 36, 39, 34, 35 , à savoir les pins GPIO36, GPIO39, GPIO34, GPIO35 ne peuvent être utilisés qu’uniquement en entrée . Ils n’ont pas non plus de résistances pullup internes (On ne peut pas utiliser pinMode(36, INPUT_PULLUP) ).

Je vous invite fortement à consulter la page sur le fonctionnement détaillé des broches de l’ESP32 pour plus d’informations.

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.

Il existe un lien entre les mots-clés d’Arduino et les pins de l’ESP32. Le lien est bien entre les mots-clés et les pins de l’ESP32 et non pas entre les pins de l’Arduino et les pins de l’ESP32. Cependant, cette association n’est pas complète et est souvent source d’erreurs. Il n’est donc pas recommandé de l’utiliser, mais il peut être pratique de le connaître pour adapter plus facilement un code écrit initialement pour une Arduino à une ESP32.

Voici le lien en ayant choisi comme type de carte : ESP32 Dev Module ou DOIT ESP32 DEVKIT V1

Mots-clés

Pin Arduino Uno

Pin ESP32

LED_BUILTIN

13

2

RX

0

3

TX

1

1

SDA

A4

21

SCL

A5

22

SS

10

5

MOSI

11

23

MISO

12

19

SCK

13

18

A0

A0

36

A3

A3

39

A4

A4

32

A5

A5

33

DAC1

25

DAC2

26

Astuce

Contrairement à l’Arduino, le numéro des pins des périphériques SPI, I2C, I2S, SD indiqué dans le pinout est celui attribué par défaut et il peut être changé . Par exemple, au lieu d’avoir le SPI sur les pins 23, 19, 18, 5 on peut le mettre sur les pins 32, 33, 25, 26.

Caractéristiques

La carte uPesy ESP32 Wroom 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 ESP32

Le cerveau de la carte est le module ESP32. C’est un microcontrôleur puissant fabriqué par Espressif. Sur la carte uPesy, un module WROOM est utilisé : il contient un chip ESP32 et un circuit élémentaire pour le faire fonctionner.

Voici des liens vers la datasheet du fabricant:

Convertisseur USB/UART

Ce convertisseur joue le rôle “d’interprète” entre l’ordinateur et le module ESP32 pour qu’ils puissent communiquer ensemble. Un chip CP2102 de Silicon Labs est utilisé pour cette tâche. Il est nativement supporté par Windows, MacOS et Linux. Il n’y a donc pas besoin d’installer de driver particulier.

Note

Si vous rencontrez l’erreur “A fatal error occurred: Failed to connect to ESP32: Timed out waiting for packet header”, vous pouvez essayer de rajouter un condensateur de 10 µF entre la broche EN et GND . Sinon il faudra utiliser la solution manuelle, décrite un peu plus bas.

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

Le connecteur USB-C de la carte permet de communiquer avec l’ordinateur. Il permet 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.

Les 2 boutons EN et BOOT de la carte permettent de contrôler l’état de l’ESP32:

  • EN : Ce bouton, appelé également RESET 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 FLASH, 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 CP2102.

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 et BOOT pendant 2 secondes

  • Relâcher le bouton EN tout en maintenant appuyé BOOT pendant 2 secondes

  • Relâcher le bouton BOOT

manipulation Failed to connect to ESP32: Timed out waiting for packet header

Manipulation pour activer le mode FLASH de l’ESP32 manuellement

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

Note

Les informations données ci-dessous ne sont valables que pour cette carte uPesy

Lorsque la carte est alimentée, une LED rouge s’allume. Il y a plusieurs moyens pour alimenter la carte uPesy ESP32 Wroom DevKit :

  • Le plus simple est par USB en 5V, en connectant la carte à un ordinateur ou à une batterie externe (powerbank). 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.

    Avertissement

    Il faut également rester vigilant dans ce mode d’alimentation pour éviter en cas d’erreur d’endommager de manière irréversible la carte ESP32 et/ou le port USB de l’ordinateur et/ou l’alimentation externe. Ce fonctionnement est normalement sans danger sur la carte uPesy grâce à un circuit de protection qui empêchent des retours de courant dans les alimentations, ce n’est malheureusement pas le cas de toutes les cartes ESP32 .

Protections intégrées

La carte uPesy ESP32 Wroom 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 le port USB

  • Protections court-circuit sur le rail \(V_{IN}\) , 5V et 3.3V : Des fusibles thermiques auto-réarmables de 350 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).

    Avertissement

    Il faudra donc éviter de brancher beaucoup de moteurs sur les broches d’alimentation.

  • Protections contre les injections de courant sur les broches 5V et 3V3, pour éviter d’injecter par mégarde un courant sur ces pins d’alimentations.

    Avertissement

    On ne peut donc pas alimenter la carte ESP32 directement en 3.3V sur la broche 3V3.

  • Protection de surtension sur la broche \(V_{IN}\) : un circuit passif permet de limiter la tension \(V_{IN}\) cependant l’excédant sera dissipé sous forme de chaleur et finira par déclencher le fusible thermique auto-réarmable.

  • 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.

Ressources mises à disposition