Programmer les cartes ESP32 avec l’IDE Arduino sur macOS, Windows 10, Linux ARM [MàJ]. Framework ESP-IDF

Les cartes de développement construites autour du module ESP32 sont maintenant très courantes. Les cartes de développement ESP32 ne sont pas supportées officiellement par l’IDE Arduino.  Un lien vers le dépôt du SDK est maintenant disponible ce qui permet d’installer les librairies directement depuis le gestionnaire de cartes supplémentaires de l’IDE Arduino. Si vous avez installé le SDK pour les cartes ESP32 avec l’ancienne méthode, suivez la procédure de désinstallation manuelle. 

 

Le kit de développement (SDK) d’Espressif pour les cartes ESP32 est disponible sur GitHub. Il est compatible avec l’IDE Arduino pour macOS, Windows, Linux 32-bit, 64-bit et puces ARM (Raspberry Pi, Orange Pi, etc…).

Désinstaller l’ancienne librairie ESP32

Si vous avez déjà installé la version précédente du SDK avec l’ancienne procédure d’installation, vous devez déjà supprimer la version précédente. Ouvrez les préfères de l’IDE Arduino pour connaître le répertoire d’installation des librairies. Par défaut, les librairies sont installées dans le dossier library situé dans le dossier Documents/Arduino.

chemin installation librairie esp32

Une fois localisé, il suffit de supprimer le dossier esp32 situé dans le dossier hardware/espressif. Redémarrez l’IDE Arduino pour actualiser la configuration.

supprimer sdk esp32 espressif old

Installer le Framework ESP-IDF pour ESP32 sur l’IDE Arduino. Compatible avec tous les systèmes d’exploitation

Maintenant que le framework ESP-IDF pour les cartes de développement ESP32 est directement disponible depuis le gestionnaire de cartes de l’IDE Arduino, la procédure d’installation est identique quelque soit le système d’exploitation (Windows 10, macOS, Linux, Raspbian, Armbian…)

Ouvrez le panneau des préférences et cliquez sur le bouton situé à droite de l’option URL de gestionnaire de cartes supplémentaires.

sdk espressif esp32 ide arduino preferences

Dans la boîte de dialogue qui s’ouvre, ajoutez le lien suivant puis cliquez sur OK

https://dl.espressif.com/dl/package_esp32_index.json

Attention, une ligne par URL.

link sdk espressif esp32 ide arduino

Il existe également un lien vers la version en cours de développement (release). Cette version est déconseillée pour la production. Elle permet d’évaluer les nouvelles fonctionnalités en cours de développement.

https://dl.espressif.com/dl/package_esp32_dev_index.json

Ouvrez le gestionnaire de carte depuis le menu Outils puis Type de carte

2 install sdk espressif esp32 ide arduino

Cherchez le SDK avec le mot clé ESP32 puis cliquez sur installer.

install sdk espressif esp32 ide arduino

Maintenant que les cartes ESP32 sont gérées depuis le gestionnaire de carte, les librairies pourront être mises à jour dès qu’une nouvelle version est disponible.

Vérifier que les cartes ESP32 sont correctement installées

Une fois l’installation terminée, il n’est pas nécessaire de redémarrer l’IDE Arduino. Ouvrez le menu Outils puis le sous-menu Type de carte. Faites défiler la liste, vous devriez pouvoir sélectionner une carte de développement ESP32 dans la liste si tout s’est correctement déroulé.

liste esp32 cartes ide arduino

Premier test : faire clignoter une Led

L’ESP32 se programme exactement comme un ESP8266. Nous allons ici simplement vérifier que tout est correctement installé. Créez un nouveau projet et collez le code suivant qui fait clignoter une Led branchée entre la broche 15 et le GND. Pour cet article, j’ai utilisé une carte générique de Geekcreit.

/*
 * ESP32 Dev Board Test
 * Led blinking
 * projetsdiy.fr - diyprojects.io
 */
int ledPin = 15;

void setup()
{
    pinMode(ledPin, OUTPUT);
    Serial.begin(115200);
}

void loop()
{
    Serial.println("Hello ESP32!");
    digitalWrite(ledPin, HIGH);
    delay(500);
    digitalWrite(ledPin, LOW);
    delay(500);
}

Dans la liste des cartes, sélectionnez ESP32 Dev Module. Les modules supportent en général une vitesse de téléchargement de 921600 bauds ce qui est très appréciable.

ide arduino esp32 demo led blink geekcreit

Voilà, ça fonctionne.

ide arduino esp32 demo led blink geekcreit

Tutoriels et projets à base d’ESP32

Près à vous lancer, voici d’autres tutoriels et projets à base d’ESP32

Ancienne procédure d’installation obsolète (ne plus utiliser)

Installer le kit de développement ESP32 sur Windows 7,8,10 (32-bit ou 64-bit)

Avant de commencer l’installation, quittez l’IDE Arduino s’il est lancé. Si vous ne disposez pas encore l’IDE pour macOS, allez le récupérer ici. Lancez l’IDE Arduino une première fois pour que le dossier Arduino soit créé dans le dossier Mes Documents. Fermez l’IDE.

Si vous avez un utilitaire Git sur votre machine, vous pouvez vous en servir pour cloner le dépôt du projet. Sinon, allez sur GitHub ici. Cliquez sur Clone or download puis Download ZIP.

github download esp32 dev kit for windows

Ouvrez l’Explorateur de fichiers et allez dans vos Documents. Créez les dossiers suivants pour obtenir l’arborescence suivante Mes Documents\Arduino\hardware\esp32. Il est important de respecter la casse et cette arborescence. Le chemin est codé “en dur” dans le kit. Décompressez et déplacez le contenu du Zip téléchargé dans le dossier esp32.

decompression git kit developpement esp32

Allez dans le répertoire tools et lancez le programme get.exe

esp32 tools launch get_exe

Ce programme termine de récupérer et d’installer les ressources nécessaires.

get_exe progression

Lancez l’IDE Arduino. Un nouveau menu contenant les cartes ESP32 est disponible dans les outils.

esp32 board cartes ide arduino windows 10 64-bits

Installer le kit de développement ESP32 sur macOS

Avant de commencer l’installation, quittez l’IDE Arduino s’il est lancé. Si vous ne disposez pas encore l’IDE pour macOS, allez le récupérer ici.

Ouvrez le Terminal, copiez puis collez le commande suivantes dans le Terminal. Validez pour lancer l’installation.

Attention, certaines commandes (git clone, pyton get.py) peuvent prendre du temps car les sources sont téléchargées depuis internet.
mkdir -p ~/Documents/Arduino/hardware/espressif && \
cd ~/Documents/Arduino/hardware/espressif && \
git clone https://github.com/espressif/arduino-esp32.git esp32 && \
cd esp32/tools/ && \
python get.py

Démarrez l’IDE Arduino. L’installation est terminée. Si tout st correct, vous devez avoir un menu supplémentaire dans les cartes

ide arduino esp32 board cartes liste

Installer le kit sur Linux ARM (Raspberry Pi, Orange Pi…)

Quittez l’IDE Arduino. Si vous n’avez pas encore installé l’IDE Arduino sur votre Raspberry Pi, suivez ce tutoriel.

Ouvrez le Terminal, collez l’ensemble des commandes suivantes et appuyer sur la touche Enter du clavier pour lancer l’installation du kit de développement. L’opération risque de durer quelques minutes en fonction des ressources déjà installées sur votre distribution.

sudo usermod -a -G dialout $USER && \
sudo apt-get install git && \
wget https://bootstrap.pypa.io/get-pip.py && \
sudo python get-pip.py && \
sudo pip install pyserial && \
mkdir -p ~/Arduino/hardware/espressif && \
cd ~/Arduino/hardware/espressif && \
git clone https://github.com/espressif/arduino-esp32.git esp32 && \
cd esp32/tools/ && \
python get.py

L’IDE est prêt

ide arduino esp32 arm linux raspberry raspbian pixel

Installer le SDK ESP32 sur Linux 32-bits ou 64-bits

Suivez exactement la même procédure d’installation que sur Linux pour processeurs ARM.

Les cartes de développement ESP32 supportées (avant la version 1.0 du nouveau SDK)

Dans la version actuelle, outre les cartes génériques (ESP32 Dev Module jusqu’à 4MB), le kit prend en charge les cartes de développement ESP32 suivantes :

Mémoire flash USB-Serial
SparkFun ESP32 Thing SparkFun ESP32 Thing 4MB
Electronic SweetPeas - ESP320 Electronic SweetPeas – ESP320 16MB ?
Nano32 de MakerAsia 4MB
wemos lolin32 WEMOS LoLin32 4MB
espea32 esp32 ESPea32 disponible sur Tindie 4MB CP2104
Noduino Quantum esp32 Noduino Quantum 16MB CP2102
node32s esp32 development board Node32s 4MB
Hornbill ESP32 Dev Hornbill ESP32 Dev 4MB
hornbill esp32 minima Hornbill ESP32 Minima 4MB
FireBeetle-ESP32 4MB
IntoRobot Fig 4MB

L’ESP32 proposant 26 E/S au lieu de 11 sur l’ESP8266, les dimensions des cartes de développement sont plus imposantes. Certains fabricants proposent un nombre restreint d’E/S. L’ESP320 du suédois Electronic SweetPeas ne dispose que de 11E/S et 1 entrée analogique pour une dimension de seulement 27.5 x 17.8 mm.

Les deux cartes Hornbill font l’objet d’une campagne de financement participative sur Crowd Supply. L’ESP32 Dev est une carte de développement standard mais plus étroite. La Minima est destinée à la réalisation d’applications vestimentaires. Le support du bluetooth est un avantage indéniable pour ce type d’application. Elle pourrait remplacer avantageusement les cartes LilyPad et LilyTiny qui commencent à prendre de l’age.

La grande majorité de ces cartes sont (encore) assez difficile à se procurer (à un prix raisonnable). Les prix ont passés la barre des 7euros ces derniers mois. C’est heureux car il était difficile de justifier un prix supérieur à 10€ face au Raspberry Pi Zero ou l’Orange Pi Zero. On trouve par exemple la Wemos LoLin32 pour environ 6,45€ (hors frais de port). On trouve également des modèles génériques (Geekworm, Doit.am souvent dénommées Geekcreit) pour un prix similaire.

Exemples disponibles

Quelques exemples sont livrée avec le kit de développement :

  • AnalogOut
    • LEDCSoftwareFade : allume progressivement une Led
    • SigmaDelta
  • Timer
    • RepeatTimer
  • Touch
    • TouchInterrupt
    • TouchRead

Si vous êtes passé à coté, l’ESP32 est capable de gérer les écrans LCD tactiles. Voici un exemple (impressionnant) de ce qu’il est possible de faire. Le projet est disponible sur GitHub ou le blog de Marc Merlin.

Mises à jour

[3/06/2019] Nouvelle procédure d’installation du SDK compatible avec tous les systèmes d’exploitation depuis le gestionnaire de cartes de l’IDE Arduino

Inscrivez-vous à la newsletter hebdomadaire

Aucun spam et aucun autre usage ne sera fait de votre email. Vous pouvez vous désinscrire à tout moment.

Promos à ne pas louper

4
Poster un Commentaire

Laisser un commentaire

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.

  S’abonner  
Notifier de
bizulk

Utiliser l’IDE Arduino et ses libs peut faciliter les développements, mais comme vous dites l’ESP32 n’est pas encore supporté. Présenter le noyau dure du SDK ESP-IDF qui contient tout le nécessaire pour développer est essentiel à mon avis. Le site ESP32 détaille toute la procédure d’installation ainsi que la configuration sous Ecplise., l’API, et les exemples de codes. On présente même la possilbilté de debogger, ce qui est un vrai plus.

neo888

Bonjour, Je parcours votre site avec intérêt. Je suis amateur et j’avais fait un programme (thermostat avec 3 DS18B20) et une DFrobot romeo BLE. Pour avoir une connexion wifi je viens d’acheter une wemos ttgo (D1 R32) au format uno aussi que je compte utiliser avec une appli créée avec App inventor. J’utilise l’IDE arduino comme interface de programmation., j’ai bien récupéré le sdk permettant l’exploitation des carte esp32, installer les drivers (ch341) seulement je ne vois pas quelle carte sélectionner. il y a bien la lolin32 mais quand je vérifie le code, il me dit que la carte n’est… Lire la suite »

Madara Ahamed Uchiwa

Slt
Quand je compile un programme sous arduino1.8.5 pour l’uploder dans l’esp32 ça prend un temps fou inconcevable pour du développement. Quelqu’un sait comment optimiser la compilation il y’a plein de fichier qui s’ajoute à la précompilation. je précise que je développe sous linux ubuntu.

math

bonjour,
je pense que j’ai eu un problème en collant le code dans le terminal
est-ce qu’il est possible de le supprimer et de le remettre ?
merci beaucoup

Domotique et objets connectés à faire soi-même