ESP32 NodeMCU

L'ESP32 NodeMCU a été conçu par Espressif pour fournir une introduction facile à la programmation du nouveau processeur dual-core ESP32. Avec de nouveaux capteurs et de nouvelles fonctions, cette carte contribue au développement de l'IdO (*).

(*) L'IdO (Internet des objets) est un réseau en constante évolution d'appareils dotés d'une connectivité Internet intégrée, tels que les montres intelligentes, les caméras de vidéosurveillance connectées au web, les thermostats numériques et même les voitures autonomes.

Caractéristiques

  • tension d'alimentation 5V ;
  • tension d'entrée/sortie 3,3V ;
  • RAM 512KB ;
  • mémoire flash externe 4MB ;
  • capable d'atteindre une consommation d'énergie ultra-faible ;
  • puce ESP-WROOM-32 intégrée ;
  • module compatible avec les cartes breadboard ;
  • capteurs de température et à effet Hall intégrés ;
  • utilise le protocole sans fil 802.11b/g/n ;
  • capacités de connectivité sans fil intégrées ;
  • antenne PCB intégrée sur l'ESP32-WROOM-32 ;
  • compatible avec PWM, I2C, SPI, UART, 1-fil, 1 broche analogique ;
  • programmable avec l'IDE Arduino (langage C++) ;
  • poids léger et petite taille (56x28x13mm).

Particularités :

  • comme pour le modèle précédent, l'ESP8266, la fonctionnalité WLAN est mise en œuvre directement dans le SoC(*), mais avec une fonctionnalité Bluetooth supplémentaire (y compris BLE) ;
  • le processeur ESP32 utilisé combine dans une seule puce de microcontrôleur une unité centrale avec 2 cœurs Tensilica LX6, cadencés jusqu'à 240 MHz, et 512 KB de SRAM ;
  • à cet effet, il intègre une unité radio pour WLAN (selon les normes 802.11bgn) et Bluetooth (Classic et LE).

(*) Un "system on a chip" (SoC) ou système sur une puce est un circuit intégré qui rassemble les principaux composants d'un ordinateur sur une seule puce.

Brochage de l'ESP32 NodeMCU (AZ-Delivery)

Contrairement aux clones en provenance d'Asie, le brochage de l'ESP32 NodeMCU fabriqué par la société AZ-Delivery, respecte le brochage initial du produit tel qu'il a été développé à l'origine par la société Espressif.

Le brochage de l'ESP32 NodeMCU fabriqué par AZ-Delivery n'est pas compatible avec un ESP32 NodeMCU fabriqué en Chine.

Avant d'utiliser une carte ESP32 NodeMCU avec un montage du site, vérifiez toujours la correspondance du brochage avec le schéma ci-dessus, notamment les pin d'alimentations (5V, 3,3V et GND) sans quoi, vous signeriez la perte de votre microcontrôleur à la première mise sous tension.

Attention également à la sérigraphie de la broche au-dessus du 5V. Il s'agit de la broche nommée CMD sur laquelle circule un signal 3,3V lié à un accès à la mémoire interne du microcontrôleur. Sur certaines cartes AZ, la sérigraphie est notée GND ! Il ne s'agit en aucun cas d'une masse.
Sur ce modèle, il faut éviter d'utiliser les broches de couleur jaune sur le schéma ci-dessus, ainsi que CMD, qui sont réservées aux accès à la mémoire flash.

Programmation

La procédure de téléversement d'un programme dans un ESP32 NodeMCU est légèrement différente d'un téléversement sur une carte Arduino traditionnelle comme par exemple les Nano, Uno ou Mega....

En effet, une intervention manuelle est nécessaire à la fin de la compilation du programme (juste avant le téléchargement) pour que le microprocesseur sache quand stocker le code compilé.

Au moment ou apparaît le message ci-dessous (Connecting...) vous avez quelques secondes pour appuyer sur le bouton "Boot" de la carte du microcontrôleur :

Message demandant l'appui sur le bouton Boot du microcontrôleur pour flasher la mémoire

Restez appuyé sur le bouton (entre 4 à 6 secondes environ) jusqu'à ce que le texte se remette à défiler. Vous pouvez alors relâcher le bouton car le processus de flashage est enclenché.

A la fin du processus (Hard resetting via RTS pin), vous pouvez déconnecter la carte de l'ordinateur et l'insérer dans son montage final.

Paramétrage de l'IDE Arduino :

Afin de pouvoir programmer les ESP32 NodeMCU depuis l'IDE Arduino, il est nécessaire de réaliser ces différentes étapes :

  • URL à ajouter dans la rubrique des gestionnaires de carte supplémentaires de l'IDE Arduino (Fichiers/Préférences) : https://dl.espressif.com/dl/package_esp32_index.json
  • Installation du gestionnaire de carte "ESP32" (Outils / Type de carte / Gestionnaire de carte).
  • Sélection de la carte ("MH ET LIVE ESP32DevKIT") et du port à réaliser avant le téléversement du programme :

Le numéro de port dépend de votre configuration d'ordinateur :

Utilisations possibles dans le cadre du modélisme ferroviaire

Pour aller plus loin...

  • Random Nerd Tutorials : des tutoriels de très bonne qualité pour comprendre la programmation des ESP32 avec différents périphériques.