Critères de choix d'une carte ESP 32

Les cartes ESP 32 sont nombreuses... et il y a de quoi s'y perdre. Voici quelques critères de choix :

Le prix

C'est un critère important pour chacun d'entre nous : on veut bien payer ce qu'il faut... mais il ne faut pas non plus nous prendre pour des "billes"... ! Oui, le tout chinois a sa limite, et un approvisionnement auprès d'un fournisseur direct France ou Europe est préférable à n'importe quel fournisseur "market place".

Mais pour autant on ne va pas payer non plus 2 ou 3 fois le prix !

Pour fixer les idées, en 2021 et auprès d'un fournisseur France voire Europe :

  • une carte "façon nano" (ou Dev-kit) ESP 32 de base s'achète aux alentours de 8 à 10 € TTC
  • une carte ESP 32 avec afficheur OLED intégré (i2c voire SPI) sera disponible de 10 à 15€
  • un module complet à base d'ESP 32 avec écran TFT, carte SD, etc sera vendu entre 35 et 40 euros TTC
  • une montre à ESP 32 sera également vendue à ce prix là, entre 35 et 40€ voire 25€ pour les modèles OLED.

L'analyse du prix est à faire en tenant en compte l'équipement de la carte. Ainsi, si sur une carte à 8€, je n'ai aucun équipement particulier, il faut prendre en compte les éléments intégrés pour une carte un peu plus chère. Et si on en a besoin, çà vaut largement la peine de faire le saut.

Lipo or not Lipo

Un détail important est la présence d'un chargeur lipo intégré. Si le chargeur lipo est intégré, il est facile de connecter un lipo et de charger le lipo par simple connexion via un connecteur USB

Le type de port USB : micro-USB ou USB-C

Point non pas essentiel mais à prendre en compte : le port USB de la carte est-il de type micro-USB ou de type USB-C (ce qui devient de plus en plus fréquent).

Si le port est en USB-C, il faudra un câble USB-C, et/ou un adaptateur USB-C vers micro-USB (çà coûte que 1€ environ). Ceci permettra de pouvoir utiliser un bloc d'alimentation classique micro-USB avec la carte ESP notamment.

Note

Certaines cartes se démarquent de ce point de vue, notamment la Pybstick qui a un connecteur A pour engagement direct dans le port USB comme une clé USB en quelque sorte. Mais ce n'est pas de la carte ESP 32

Le modèle de l'ESP 32 : WROOM ou WROVER

Pour dire les choses simplement, on a 2 types d'ESP 32 :

  • les ESP 32 WROOM sans SPIRAM intégrée
  • les ESP 32 WROVER qui ont de la mémoire SPIRAM intégrée

Les ESP 32 WROOM sont les plus répandus et suffiront pour l'essentiel des projets, à savoir sans capture d'image, etc. Les WROVER seront à utiliser si on a besoin de faire de la capture d'image, etc. Mais c'est un usage probablement "limite" pour du microcontrôleur et dans ce cas la question d'utiliser un nano-pc se posera.

La mémoire FLASH et la RAM

Pour toute carte ESP 32, un point important est la quantité de mémoire FLASH et RAM disponible.

La configuration minimale usuelle, c'est 2Mo de FLASH et 512Ko de RAM. Mais si on a plus, c'est mieux, cependant non essentiel, surtout si le prix explose

L'équipement associé

Elément clé pour une carte ESP 32, c'est de bien analysé l'équipement associé déjà intégré dans la carte ou le module , notamment :

L'écran graphique

Des cartes avec écran OLED ou TFT sont désormais disponible à un coût très bas. Pour 10€ on a la carte avec l'écran OLED !

A savoir : les écrans à communication SPI (en général couleur) ont une réactivité plus grande que les écrans i2C... mais d'un autre côté, les écrans i2C sont monochromes et de ce point de vue nécessitent moins de vitesse pour une réactiivité identique.

On peut gérer avec un bon résultat un écran TFT couleur jusqu'à 320x240 en SPI avec un ESP 32.

Module carte SD

La présence d'un module carte SD est un plus indéniable, pour stocker des images, faire du datalogging. Si c'est présent, c'est très bien. Sinon, çà sera utilisable facilement sous forme d'un module "breakout" séparé, à communication SPI.

Module RTC (horloge temps réel)

La présence d'un module RTC avec sa pile intégré est un plus, notamment dans le cas de la montre (sic !). Mais on pourra suppléer cette absence par la mise à l'heure de la carte par le réseau d'une part ou bien par l'utilisation d'un module "breakout" i2c

La présence de bouton poussoir

Si on dispose de 1 ou plusieurs bouton poussoir usager, c'est un plus indéniable. 3 est l'idéal (+/-/ok)

La présence d'un bouton de reset

De la même façon, la présence d'un bouton de Reset est quasi-indispensable.

LEDs "onboard"

Intéressant pour des signalisations de "vie"... Soit que la LED soit sur la ligne du wifi, soit sur la ligne USB...

Fréquence du processeur

En général, c'est 240Mhz, mais on peut avoir des cartes à seulement 84Mhz. Vérifier.

La connectique physique de la carte

Regarder si la carte a déjà un bornier soudé ou pas sur les GPIO. Les cartes sans le bornier soudé peuvent être intéressante pour permettre de souder directement dessus un capteur ou autre.

Les caractéristiques de l'alimentation de la carte

Vérifier la présence du 3.3V et du 5V, les cartes étant des cartes 3.3V sur les GPIO. Le +5V peut être utile pour alimenter certains dispositifs (LCD i2C par exemple)

GPIO disponibles sur bornier

Analyser les GPIO de l'ESP 32 qui sont disponibles sur bornier. En pratique, il faut notamment disposer sur bornier de :

  • l'i2C (broches 21 et 22)
  • SPI
  • UART
  • ADC
  • DAC
  • voire IIS mais c'est moins essentiel.

Sur des cartes / modules qui ont un équipement intégré conséquent, les GPIO disponibles sur bornier seront généralement moindre que les "dev-kits" bruts, mais ce n'est vraiment pas un problème car en pratique, si on a déjà un bon équipement de la carte, il sera moins nécessaire d'utiliser des équipements complémentaires.

Trous de fixations ?

Tout bête, mais encore faut-il y penser : est-ce que la carte dispose de trous de fixation ? C'est toute même assez vite nécessaire.

Les cartes ESP 32 : notre choix

L'ESP 32 Dev-kit avec Lipo : la carte Olimex

Sur un projet où on a besoin d'une carte brute, la carte Olimex avec Lipo est le bon choix. Prendre en version WROOM :

https://shop.mchobby.be/fr/esp8266-esp32-wifi-iot/1626-module-esp32-wroom-esp32-coreboard-avec-chargeur-d-accu-lipo-3232100016262-olimex.html

L'ESP 32 au format carte UNO

Si on aime a envie de retrouver le format Arduino UNO en migrant vers une plateforme ESP 32, la version carte UNO avec ESP 32 est une bonne option. Cela permet potentiellement de réutiliser du matériel Arduino que l'on a, de travailler facilement avec une plaque d'essai (breadboard). L'intérêt ici est de bénéficier du régulateur présent sur la carte :

https://www.otronic.nl/a-60659537/esp32/wemos-d1-r32-esp32-4mb-development-board-wifi-bluetooth-dual-core-arduino-uno-r3-formaat/

L'ESP 32 avec écran TFT couleur

Si on a besoin sur un petit projet d'un affichage, la carte idéale est le TTGO. Pour un prix inférieur à 10€ par l'un des fabricants leader de cartes à ESP 32, on dispose sur la carte notamment de 2 BP et reset, d'un écran TFT couleur de 240x135 pixels (SPI) à driver ST7789, d'un chargeur Lipo, nombreuses GPIO sur bornier à souder.

https://opencircuit.fr/Produit/TTGO-T-Display-V1.1-ESP32-avec-%C3%A9cran-TFT-1.14

Assez comparable, les modules stick de M5Stack mais avec moins de GPIO exposée, mais dans un petit boîtier.

L'ESP 32 sur équipé : M5Stack

Que ce soit pour apprendre sur une unique plateforme tous les concepts de la programmation d'un microcontrôleur ou bien pour des projets nécessitant affichages, stockage de data, communication wifi, etc. la plateforme idéale est le core M5Stack.

Le module core est par ailleurs extensible par des stacks de la même gamme, sorte de shields, ou bien par des breakout classiques. C'est une plateforme très bien pensée et facile à mettre en oeuvre.

https://shop.mchobby.be/fr/m5stack-esp/1896-m5stack-kit-esp32-basic-iot-dev-3232100018969-m5stack.html

Et même... la montre connectée ESP 32 !

Si on souhaite du compact, on peut même disposer d'une vraie montre dans un boîtier très propre et qui contient un ESP 32 équipé d'un écran, d'un module RTC, d'un accéléromètre, vibreur, lipo, etc... Pas de GPIO exposée.

Un côté gadget très clair et assumé mais très intéressante malgré tout car dispose du wifi, permettant d'envisager des alarmes sur message MQTT par exemple. Et tout simplement, quoi de plus sympa que de se programmer sa montre connectée ?

https://opencircuit.fr/Produit/TTGO-Programmable-T-Watch-2020-ESP32-Noir

Au final

On peut vraiment prendre la carte que l'on veut, tout çà se programme en micropython et on pourra passer d'une plateforme à l'autre très facilement en fonction de ses besoins. On peut ainsi imaginer une grappe de TTGO ou de "dev-kit" ESP 32 qui envoient leurs mesures sur un M5Stack central qui rassemble de résultat.

C'est très polyvalent, rapide à mettre en oeuvre, et plaisant à utiliser sans y passer "4 plombes"... !

Suivez le guide !