uPesy EDU ESP32
(Mis à jour le 15/12/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 EDU ESP32, je vous conseille d’abord de regarder le guide de prise en main rapide , si ce n’est pas déjà fait.
Bienvenue dans la documentation de la carte uPesy EDU ESP32 , une carte compatible Arduino UNO basé sur un ESP32, Made In France, fabriquée par uPesy Electronics. Vous trouverez dans cette documentation technique toutes les informations nécessaires pour utiliser cette carte.
La carte uPesy EDU ESP32 en quelques zones clés
De l’extérieur, la carte est quasi identique à une carte Arduino UNO classique.
Broches numériques : Ce sont des broches entrées/sorties logiques que l’on utilise avec les fonctions
digitalRead()
,digitalWrite()
etanalogWrite()
. Les broches avec le symbole~
peuvent générer un signal à tension variable (PWM) via la fonctionanalogWrite()
.
-
LED : Une LED orange est reliée à la broche physique
IO2
de l’ESP32. On peut aussi utiliser le mot-cléLED_BUILTIN
pour l’utiliser. Elle s’allume lorsque la broche est activée (5V) et s’éteint quand la broche est désactivée (0V). Elle est pratique pour faire ses premiers sketchs Arduino sans utiliser de composants électroniques externes.Note
Contrairement à l’UNO, la LED n’est pas reliée à la broche
D13
présente sur le connecteur. Elle est indépendante.
LED d’alimentation : Cette LED verte s’allume lorsque la carte uPesy EDU ESP32 est alimentée. C’est un bon moyen de savoir si votre carte est sous tension.
Microcontrôleur ESP32: C’est le cerveau de la carte uPesy EDU ESP32 qui exécute votre programme.
Entrées analogiques : Ces broches sont utilisées pour lire une tension analogique d’un circuit ou d’un capteur. Elles s’utilisent avec la fonction
analogRead()
.
Broches GND, 3V3 et 5V : Utilisez ces broches pour fournir une alimentation
+3.3V
,+5V
et une masse (GND
) à vos circuits sur breadboards et pour alimenter vos capteurs.
Connecteur d’alimentation externe : Cette prise d’alimentation Jack permet d’alimenter votre carte uPesy EDU ESP32 lorsque celui-ci n’est pas branché sur un port USB. Accepte des tensions entre 6.5V et 12V.
Bouton BOOT: Bouton spécifique à l’EDU ESP32 qui permet de contrôler l’état du boot de l’ESP32. Il ne devrait pas être utilisé sauf si vous rencontrez des difficultés pour télécharger un programme.
Connecteur USB : Ce connecteur USB-C permet d’alimenter la carte uPesy EDU ESP32, de télécharger des programmes, et de recevoir des messages via la fonction
Serial.println()
.
Bouton RESET : Permet de redémarrer de force le microcontrôleur, pour relancer le programme présent sur la carte uPesy EDU ESP32.
Le schéma des broches | uPesy EDU ESP32 Pinout
La carte EDU-ESP32 possède 3 types de broches :
Les broches d’entrées/sorties logiques (D0 → D13)
Les broches d’entrée analogique (A0 → A5)
Les broches d’alimentation
Les Broches Entrées/Sorties logiques
Note
Contrairement à l’Arduino UNO classique, la tension pour les niveaux logiques est de 3.3V au lieu de 5V.
Ces broches peuvent soit imposer une tension de 0V ou de 3.3V en sortie avec la fonction digitalWrite()
, soit lire un niveau logique (0 ou 3.3V) via digitalRead()
. On utilise la fonction pinMode()
pour configurer la broche en sortie ou en entrée. Elles peuvent délivrer un courant de 40mA.
En plus de ces fonctions de base, la plupart des broches ont des fonctionnalités supplémentaires :
PWM : Cela permet d’avoir en sortie une tension variable comprise entre 0 et 3.3V. Avec l’ESP32 toutes les broches digitales (D0 → D13) peuvent être utilisée pour le PWM. L’indication
~
n’est présente uniquement pour imiter la sérigraphie de l’UNO.-
Des bus de communications :
Port Série (UART) : D0 (
RX
) and D1 (TX
). Ces broches sont utilisées pour recevoir (RX
) et transmettre (TX
) des données via un port série. Elles sont utilisées par la carte uPesy EDU ESP32 en interne lorsqu’elle est branchée par USB avec l’ordinateur pour échanger des données.SPI : D10 (
CS
), D11 (MOSI
), D12 (MISO
), D13 (SCK
). Ces broches prennent en charge la communication SPI, qui permet de communiquer avec certains capteurs et modules (carte SD, Ecran LCD).I2C :
SDA
&SCL
. Ces broches prennent en charge le bus I2C, très utilisé pour communiquer avec des capteurs.
Note
Sur l’ESP32, on peut choisir n’importe quelle broches digitales pour l’UART, le SPI et l’I2C. Les numéros énumérées sont ceux utilisés par défaut.
Interruptions externes : Toutes les broches numériques (y compris
A0
→A5
) peuvent être utilisé pour déclencher une interruption suite à un changement de niveau logique. Les interruptions permettent d’interrompre le programme principal suite à un événement externe (appui sur un bouton par exemple) et exécuter du code particulier pour gérer l’événement. S’utilise avec la fonctionattachInterrupt()
.
Les Broches d’entrée analogique
Les broches A0
→ A5
se comportent comme un voltmètre simplifié : elles permettent de lire une tension analogique et de la convertir grâce à un convertisseur en nombre. Le convertisseur analogique à numérique (ADC) est sur 12 bits : une tension comprise entre 0 et 3.3V sera convertie en un nombre compris entre 0 et 4095.
Note
Ces entrées analogiques peuvent également être utilisées comme entrées numériques.
Avertissement
Les broches A4
et A5
sont partagées avec les broches SDA
et SCL
. Si vous utilisez le protocole I2C
dans votre programme, ces 2 entrées analogiques ne seront pas utilisables.
Correspondance des broches avec la numérotation de l’Arduino UNO
La carte utilise deux sytèmes de numérotation :
La numérotation Arduino UNO, qui est inscrite sur les broches de la carte : Ce sont les numéros du type
D_
etA_
qui sont en oranges sur le schéma.La numérotation des broches physiques de l’ESP32 : Ce sont les numéros du type
IO__
qui sont en gris sur le pinout.
Vous pouvez utilisez celui que vous voulez. Il faut juste utiliser les bonnes conventions pour utiliser le bon système que ce soit en code Arduino ou avec Micropython. Par défaut, si on renseigne juste un chiffre, par exemple pinMode(13, OUTPUT)
ce sera la numérotation de l’ESP32 qui sera utilisée (broche IO13
). La broche IO13
correspond au numéro Arduino D9
. Pour utiliser la broche D13
, il suffit de rajouter un D : pinMode(D13, OUTPUT)
.
Note
Pour une broche analogique, on ajoute un A devant : pinMode(A0, INPUT)
Voici un tableau qui résumé cette correspondance entre les 2 sytèmes de numérotations :
pinMode( |
Format Arduino UNO |
ESP32 (IO__) |
---|---|---|
|
|
2 |
|
0 |
3 |
|
1 |
1 |
|
2 |
26 |
|
3 |
25 |
|
4 |
17 |
|
5 |
16 |
|
6 |
27 |
|
7 |
14 |
|
8 |
12 |
|
9 |
13 |
|
10 |
5 |
|
11 |
23 |
|
12 |
19 |
|
13 |
18 |
|
|
21 |
|
|
22 |
|
|
33 |
|
|
32 |
|
|
35 |
|
|
34 |
|
|
36 |
|
|
39 |
|
|
0 |
La correspondance vient du fichier de configuration de la carte uPesy EDU ESP32 disponible sur le projet Open Source : https://github.com/espressif/arduino-esp32/blob/master/variants/uPesy_edu_esp32/pins_arduino.h
Les Broches d’alimentation
La broche
5V
est une alimentation régulée de 5V qui peut être utilisée pour alimenter un circuit sur breadboard, des capteurs, des moteurs fonctionnant sous 5V.La broche
3.3V
est une alimentation régulée de 3.3V qui peut être utilisée pour alimenter un circuit sur breadboard, des capteurs, des moteurs fonctionnant sous 3.3V.Les broches
GND
sont des broches qui sont reliées à la masse des alimentations, aux pôles négatifs-
.La broche
VIN
permet d’alimenter la carte uPesy EDU ESP32 par une source d’alimentation externe, différente de celle du port USB et de la prise jack. En pratique, on s’en sert peu souvent. Son interaction avec les autres modes d’alimentations est détaillée dans la section suivante.
Note
Les alimentations 5V et 3.3V sont protégées contre les courts-circuits qui pourraient survenir lors de vos manipulations.
Avertissement
Il faut éviter de tirer trop de courants sur les broches 5V
et 3.3V
, notamment si vous utilisez de gros moteurs. Le cas échéant, les régulateurs de tension risquent de trop chauffer.
Les autres broches
Ces dernières broches sont peu utilisées en pratique. Elles peuvent être utiles dans certains cas.
RESET
: Cette broche permet de redémarrer le microcontrôleur quand elle est reliée à la masse. Elle est reliée également au bouton RESET. Elle peut être utilisée pour avoir un bouton externe de RESET ou pour contrôler la carte depuis un autre circuit.AREF
: Broche non utilisée par la carte. Sur l’UNO d’origine, c’est une option pour fournir une tension de référence externe pour le convertisseur analogique.IOREF
: Tension de référence pour les entrées numériques. Sur l’EDU ESP32, c’est 3.3V. Cette broche peut être utilisée par les shields pour connaitre la tension des niveaux de la carte principale. (3.3V ou 5V)IO0
: Cette broche de l’ESP32 est relié au boutonBOOT
.
Tolérance en tension des broches
Contrairement à la carte Arduino UNO, la carte uPesy EDU ESP32 fonctionne en 3.3V. Les niveaux logiques sont donc soit de 0V, soit 3.3V.
En théorie, la tension sur les broches d’entrée logiques et analogiques ne doit pas excéder 3.3V sous peine d’endommager le microcontrôleur de la carte. En pratique, pour des montages temporaires, le fait d’utiliser des capteurs qui communique en 5V n’entraine pas de domages particuliers.
Les différents modes d’alimentation
La carte uPesy EDU ESP32 peut être alimentée via le port USB-C ou avec une source d’alimentation externe.
Alimentation par USB
Le plus simple est d’alimenter la carte par USB en 5V, en la connectant à un ordinateur. On peut ensuite utiliser le pin 5V
et 3.3V
pour alimenter un montage électronique. En plus de l’alimentation, on pourra téléverser un programme sur la carte et recevoir des messages dans le moniteur série de l’Arduino IDE.
Note
C’est le mode d’alimentation qui est utilisé la plupart du temps.
Alimentation externe : 2 possibilités
L’alimentation externe peut provenir soit d’un chargeur, d’une alimentation de laboratoire, d’une pile ou d’une batterie. L’alimentation externe peut être branchée à 2 endroits sur la carte : la prise Jack ou la broche VIN
. La tension doit être comprise entre 6V et 12V maximum .
Note
Plus la tension de l’alimentation est proche de 6V, mieux c’est, pour limiter l’échauffement du régulateur de tension 5V.
En général, on utilise la prise jack avec un connecteur 2.1mm.
Avertissement
Avant de brancher un chargeur lambda, vérifier que la polarité correspond : Positif au centre et négatif sur l’extérieur. Méfiez-vous également des chargeurs low-cost, dont la tension indiquée (en charge) ne correspond pas à celle à vide. Il est fréquent que des chargeurs indiqués pour 12V@300mA se retrouvent avec des tensions d’au moins 16V@50mA.
Cumuler plusieurs alimentations à la fois
La carte uPesy EDU ESP32 a été prévue pour fonctionner correctement avec plusieurs alimentations branchées en même temps. C’est très pratique pour pouvoir communiquer avec la carte en USB même si elle est alimentée dans le projet par piles par exemple.
Note
La sélection se fait automatiquement : l’alimentation externe est prioritaire sur l’USB.
Les protections présentes
La carte uPesy EDU ESP32 est équipée des mêmes protections que l’UNO d’origine : Un fusible auto-réarmable qui protège votre carte et le port USB de votre ordinateur contre les courts-circuits et les surintensités. Même si la plupart des ordinateurs offrent leur propre protection interne, le fusible offre une couche supplémentaire de protection. Si une intensité supérieure à 500mA est appliquée au port USB, le fusible coupera le circuit automatiquement jusqu’à ce que le court-circuit ou la surcharge soit éliminé.
Les entrées des alimentations externes (VIN et la prise Jack) ont également des protections contre les inversions de polarités, si vous branchez par mégarde, l’alimentation dans le mauvais sens.
Informations avancées
Note
Toutes les tutoriels à propos de l’ESP32 reste également valable pour l’EDU ESP32 :
Le microcontrôleur ESP32
La carte uPesy EDU ESP32 se base sur un ESP32 : Un microcontroleur 32-bit puissant qui propose une connectivité Bluetooth et Wi-Fi. Assemblé sous forme d’un module, il est le candidat parfait pour des projets de domotiques et d’IOT.
Caractéristiques techniques
Microcontrôleur ESP32-WROOM-E : https://www.espressif.com/sites/default/files/documentation/esp32-wroom-32e_esp32-wroom-32ue_datasheet_en.pdf
Fréquence CPU : 240 MHz (15x plus rapide que l’Arduino UNO)
Mémoire Flash : 4Mo (125x plus d’espace que l’Arduino UNO)
Mémoire RAM : 520 ko (260x plus d’espace que l’Arduino UNO)
Connecteur USB-C
Dimensions : 74 x 53 x 15 mm
Fichiers Open-Source mis à disposition
Voici quelques fichiers de conception de l’uPesy EDU ESP32 :
Firmware custom de MicroPython : https://cdn.shopify.com/s/files/1/0609/6011/2892/files/firmware-edu-esp32.bin
Changelog | Historique des modifications
v1 (Octobre 2023)
Première version