Introduction

L’ESP32 est un microcontrôleur produit par Espressif Systems, une société chinoise spécialisée dans les solutions de connectivité sans fil. L’ESP32 est le successeur de l’ESP8266, un autre microcontrôleur populaire.

L’ESP32 intègre des fonctionnalités avancées, notamment la connectivité Wi-Fi et Bluetooth, ce qui le rend adapté pour une large gamme d’applications IoT.

plus

Avantages

  1. Polyvalence : Grâce à sa double connectivité Wi-Fi et Bluetooth, l’ESP32 est capable de gérer un large éventail d’applications IoT, allant de la domotique aux dispositifs portables.

  2. Puissance de traitement : Avec ses deux cœurs de processeur et sa fréquence de 240 MHz, l’ESP32 peut gérer des tâches complexes, y compris le traitement de signaux en temps réel.

  3. Faible consommation d’énergie : L’ESP32 dispose de plusieurs modes d’économie d’énergie, ce qui le rend adapté pour des projets sur batterie.

  4. Support et Communauté : L’ESP32 est soutenu par une large communauté de développeurs, ce qui facilite l’accès à des bibliothèques, des tutoriels, et de l’aide en ligne.

  5. Simplicité d’utilisation : Compatible avec l’IDE Arduino et d’autres environnements de développement, l’ESP32 est relativement facile à programmer, même pour les débutants.

moins

Inconvénients

  1. Complexité : Bien que l’ESP32 soit puissant, sa polyvalence peut également le rendre complexe à maîtriser, en particulier pour les débutants.

  2. Sensibilité à l’alimentation : L’ESP32 est sensible aux variations de tension et peut nécessiter une alimentation stable pour fonctionner correctement.

  3. Taille des bibliothèques : Certaines bibliothèques pour l’ESP32 peuvent être volumineuses et occuper une partie significative de la mémoire disponible.

Caractéristiques Techniques

L’ESP32 est doté des caractéristiques techniques suivantes :

  • Processeur : Deux cœurs Tensilica LX6 cadencés jusqu’à 240 MHz.
  • Mémoire RAM : 520 Ko SRAM.
  • Mémoire Flash : Généralement 4 Mo ou 16 Mo selon le modèle.
  • Connectivité :
    • Wi-Fi : 802.11 b/g/n.
    • Bluetooth : Bluetooth 4.2 et BLE (Bluetooth Low Energy).
  • Entrées/Sorties :
    • Jusqu’à 34 GPIO (General Purpose Input/Output).
    • Interfaces UART, SPI, I2C, I2S, CAN, PWM, ADC, DAC.
  • Autres :
    • Capteurs tactiles capacitifs.
    • Capteur de température intégré.
    • Module de cryptographie pour la sécurité des communications.

Premier démarrage de votre carte

Pour utiliser notre carte ESP32, il va falloir installer le pilote permettant de reconnaître celle-ci sur Arduino IDE. En effet,  la puce utilisé sur ESP32 est soit la CH340 ou bien CP210x et les pilotes ne sont pas installés par défaut sur Arduino IDE.

En connectant notre ESP32, on se rend compte qu’elle n’est pas reconnue sur Arduino IDE. Il y en effet écrit NO PORTS DISCOVERED :

 

En tapant Device Manager dans la barre de recherche de Windows 11, on peut voir les différents composants branchés en USB sur notre ordinateur.

Dans la catégorie Other Devices, on voit notre ESP32 détectée mais avec un point d’exclamation. Ceci s’explique car le pilote n’est pas bien installée :

Il faut maintenant télécharger le pilote pour que votre carte ESP32 soit reconnu. Si dans Other Devices il y a écrit CP2102 vous devez télécharger le pilote suivant : CP2102

Si dans Other Devices vous avez écrit CH340, alors c’est ce pilote qu’il faudra télécharger.

Une fois le pilote en .zip téléchargé, il vous faudra faire clique-droit sur notre ESP32 et Update driver.

 

En cliquant sur rechercher sur mon ordinateur, vous devez sélectionner le pilote précédemment téléchargé:

Vous avez un message qui vous dit que le pilote a bien été installé : 

Une fois le pilote installé vous n’avez plus de point d’exclamation sur notre carte ESP32 : 

L’étape suivante est d’installer la carte ESP32 sur Arduino IDE afin que celle-ci puisse être reconnu. Pour cela vous devez aller dans Boards Manager puis installer esp32 by Espressif Systems

 

En cliquant sur le choix des cartes électroniques, vous devez choisir ESP32 DEV Module et le bon port COM : 

 

Vous pouvez maintenant programmer votre carte ESP32 :

Allumer une led sur votre carte ESP32

Pour un premier test de notre carte ESP32, nous avons décider de faire clignoter une LED sur la GPIO 2 de notre carte :

Voici le programme pour faire clignoter notre LED sur la carte ESP32 : 

const int ledPin = 2; // Exemple avec GPIO2 pour la LED intégrée

void setup() {
  pinMode(ledPin, OUTPUT);  // Définir la broche LED comme sortie
}

void loop() {
  digitalWrite(ledPin, HIGH);  // Allumer la LED
  delay(1000);                  // Attendre 1 seconde
  digitalWrite(ledPin, LOW);   // Éteindre la LED
  delay(1000);                  // Attendre 1 seconde
}

Après avoir mis le bon port COM et ESP32 DEV Kit comme carte, vous pouvez cliquer sur upload. Arduino IDE va vérifier et compiler votre programme. Vous allez peut-être avoir l’erreur suivante : 

Cette erreur provient du fait que la carte ESP32 n’est pas en mode download. Pour passer dans ce mode vous devez débrancher votre carte ESP32, appuyez sur le boot puis rebrancher votre carte ESP32. Tout en gardant le bouton BOOT appuyé, vous uploader le programme. On peut voir que le téléversement s’effectue correctement : 

Une fois le téléversement terminé, vous pouvez relâcher le bouton BOOT de la carte ESP32.

Vous devez normalement voir votre LED clignoter.