uPesy ESP32 Wroom DevKit

La carte uPesy ESP32 WROOM DevKit est basée sur un ESP32. Cette carte peut être mise sur une breadboard facilement car les 2 côtés de la carte sont accessibles pour mettre des fils sur la breadboard.

../_images/espWroomDevkit2.jpg

uPesy ESP32 Wroom Devkit

../_images/amz0.fr.png

Pinout

Version simplifiée

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

../_images/simplified_pinout_Wroom_rev2.png

Version complète

../_images/full_pinout_Wroom_rev2.png

Pinout complet de la carte uPesy ESP32 Wroom Devkit

Note

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

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, ce lien est source d’erreurs car il est spécifique à chaque carte (même si globalement c’est presque le même pour toutes les cartes) et il n’est pas complet : seuls quelques pins sont pris en charge. Il n’est donc pas recommandé de l’utiliser d’autant plus que cela porte à confusion, mais il peut être pratique de le savoir pour adapter 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

Lien entre les mots clés Arduino et les pins de l’ESP32

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

Important

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 de chosir le SPI VSPI sur les pins 23, 19, 18, 5 on peut le mettre sur les pins 32, 33, 25, 26. Une explication détaillée des pins et des périphériques est disponible ici : Utiliser les pins GPIO de l’ESP32

Caractéristiques

Les caractéristiques techniques de la carte sont les suivantes :
  • Processeur : Xtensa Dual-Core 32-bit LX6 cadencé jusqu’à 240 MHz

  • Wi-Fi (802.11b/g/n) et Bluetooth 4.2 / BLE

  • RAM : 520 Ko de SRAM interne

  • 4 Mo de Flash (externe)

  • Différents états pour limiter la consommation d’énergie (Modem Sleep, Light Sleep, Deep Sleep, Hibernation)

  • Accélération matérielle cryptographique pour AES, RSA, SHA2

Recommandations d’usage

Tolérance en tension des pins

  • L’ESP32 est un microcontrôleur qui fontionne 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 levels shifters (ou éventuellement 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 peut être endommagés s’ils sont exposés trop longtemps à cette tension.

Alimentation de la carte uPesy

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.

  • On peut aussi alimenter la carte directement, en imposant une tension de 5V sur le pin VIN par une alimentation externe et en reliant la masse de l’alimentation au pin GND. La tension sur le pin 5V est celle de l’alimentation externe, la tension sur le pin 3.3V est de 3.3V.

    Avertissement

    La tension en entrée sur le pin VIN doit être comprise entre 4.5 et 9V pour éviter de faire surchaufer (et potentiellement détruire) le régulateur 3.3V de la carte.

  • On peut utiliser les 2 premières méthodes en même temps : Avoir une alimentation externe reliée sur le pin VIN tout en ayant la carte connectée à l’ordinateur (les 2 masses doivent être reliées). Cela 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 VIN < V_USB , avec V_USB=5V alors c’est l’USB qui sera principalement utilisé pour alimenter l’ESP32.

    • Si VIN > V_USB , alors c’est l’alimentation externe qui sera principalement utilisée pour alimenter l’ESP32.

    Indication

    Ce fonctionnement est normalement sans danger sur la carte uPesy gràce aux 2 diodes de protections qui empèchent des retours de courant dans les alimentations. La grande majorité des autres cartes ESP32 n’ont pas ses protections ! 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.

  • On peut aussi directement alimenter l’ESP32 en 3.3V sur le pin 3.3V avec une alimentation externe même si ce n’est pas recommandé. Par contre, on ne pourra pas utiliser le pin 5V.

Avertissement

La tension doit être autour de 3.3 V (3V-3.6V) sinon l’ESP32 pourra être endommagé, voir détruit.