Accueil | Niveau de difficulté | Débutant | Programmer les cartes ESP32 avec l’IDE Arduino sur macOS, Windows 7/8/10, Linux ARM (Raspberry Pi, Orange Pi)

Programmer les cartes ESP32 avec l’IDE Arduino sur macOS, Windows 7/8/10, Linux ARM (Raspberry Pi, Orange Pi)

esp32 geekcreit wroom

Le kit de développement d’Espressif pour les cartes ESP32 est disponible sur GitHub pour macOS, Windows, Linux 32-bit, 64-bit et puces ARM (Raspberry Pi, Orange Pi, etc…). Il est encore en cours de développement mais il est possible de l’installer pour programmer les cartes de développement à base d’ESP32 directement depuis l’IDE Arduino. Dans ce tutoriel, nous allons l’installer sur masOS. Nous verrons dans les prochains tutoriels comment faire sur Windows 10, Linux et les plateformes ARM (Raspberry Pi, Orange Pi…). Ce tutoriel est tiré de la documentation officielle disponible sur le dépôt GitHub du projet ici.

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.

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.

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

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 flashUSB-Serial
SparkFun ESP32 ThingSparkFun ESP32 Thing4MB
Electronic SweetPeas - ESP320Electronic SweetPeas – ESP32016MB ?
Nano32 de MakerAsia4MB
wemos lolin32WEMOS LoLin324MB
espea32 esp32ESPea32 disponible sur Tindie4MBCP2104
Noduino Quantum esp32Noduino Quantum16MBCP2102
node32s esp32 development boardNode32s4MB
Hornbill ESP32 DevHornbill ESP32 Dev4MB
hornbill esp32 minimaHornbill ESP32 Minima4MB
FireBeetle-ESP324MB
IntoRobot Fig4MB

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.

Premier test : faire clignoter une Led

L’ESP32 se programme exactement comme un ESP8266. Pour ce premier article, nous allons 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 fabriquée par Geekcreit.

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

Comme vous pouvez le voir, la programmation reste assez classique. Attention toutefois, toutes les librairies développées pour l’ESP8266 ne sont pas (encore) compatibles. ESP Easy par exemple ne fonctionne pas encore.