ESP32-C3 Super Mini : ESP-NOW instable à pleine puissance TX

ESP32-C3 Super Mini ↔ ESP32-S3 N16R8 : problème ESP-NOW résolu en réduisant la puissance TX

Bonjour à tous,

Je partage un problème qui m'a fait perdre pas mal de temps, ainsi qu'une solution qui fonctionne chez moi, car elle pourra peut-être servir à quelqu'un d'autre.

Le contexte

Je développe une petite station météo basée sur :

  • un ESP32-S3 N16R8 qui fait tourner le hub météo ;
  • un ESP32-C3 Super Mini qui sert de sonde extérieure ;
  • communication entre les deux par ESP-NOW.

Le S3 fait également tourner une interface Web, un OLED, l'historique sur carte SD, etc.

Le C3 mesure température / humidité / pression et transmet périodiquement les données au S3.

Le problème

Avec le C3 Super Mini, ESP-NOW fonctionnait parfaitement dans un programme de test minimal :

ESP32-C3 Super Mini
        ↓ ESP-NOW
ESP32-S3

Le S3 recevait correctement les paquets.

Mais avec le firmware réel de ma station météo :

ESP32-C3 Super Mini
        ↓ ESP-NOW
ESP32-S3 N16R8
        ↓
MeteoHub

le S3 ne recevait plus les données du C3.

J'ai donc testé pas mal de choses :

  • changement de GPIO I2C ;
  • différents tests ESP-NOW minimaux ;
  • vérification des MAC ;
  • vérification du canal ;
  • désactivation du sleep ;
  • tests RF indépendants ;
  • comparaison avec une autre carte ESP32-S3.

Le C3 était pourtant capable d'émettre et la communication C3 → S3 fonctionnait dans les tests minimaux.

Le test qui a finalement fait la différence

J'ai simplement réduit la puissance d'émission du C3.

À pleine puissance :

WiFi.setTxPower(WIFI_POWER_19_5dBm);

→ communication instable / inexistante avec le MeteoHub.

Puis :

WiFi.setTxPower(WIFI_POWER_8_5dBm);

→ ESP-NOW fonctionne parfaitement.

Depuis, la liaison est stable.

Par exemple, côté MeteoHub :

[INFO] ESP-NOW: ch=6 rx=102 ok=102 bad=0 last_len=51 src=F0:F5:BD:FB:5E:88

[INFO] History: Outdoor data saved to SD

[INFO] History: Outdoor data added (T=26.135063°C, H=59.283066%)

[INFO] ESP-NOW: packet node=1 seq=66 T=26.135063 H=59.283066 P=1023.920654

[INFO] ESP-NOW: ch=6 rx=103 ok=103 bad=0 last_len=51 src=F0:F5:BD:FB:5E:88

[INFO] History: Outdoor data saved to SD

[INFO] History: Outdoor data added (T=26.087570°C, H=58.064079%)

[INFO] ESP-NOW: packet node=1 seq=67 T=26.087570 H=58.064079 P=1023.914856

Donc actuellement :

103 paquets reçus
103 paquets valides
0 paquet invalide

Ce qui me laisse perplexe

Je ne sais pas exactement ce qui se passe physiquement.

Le comportement est contre-intuitif :

réduire la puissance TX du C3 améliore radicalement la fiabilité de la liaison ESP-NOW.

Je ne peux donc pas affirmer que « le C3 est trop puissant ».

Je soupçonne plutôt un problème particulier à certaines cartes C3 Super Mini :

  • adaptation d'antenne ;
  • layout RF ;
  • alimentation ;
  • perturbations ;
  • proximité de certains composants ;
  • ou comportement radio particulier à forte puissance.

La même chose peut-elle arriver avec certaines versions/clones de C3 Super Mini ?

En résumé

Matériel :

ESP32-C3 Super Mini
        ↕
     ESP-NOW
        ↕
ESP32-S3 N16R8

Canal :

6

MAC C3 :

F0:F5:BD:FB:5E:88

Réglage qui fonctionne :

WiFi.setTxPower(WIFI_POWER_8_5dBm);

À puissance TX élevée : problème.

À 8,5 dBm : liaison stable.

Je partage donc surtout ce retour pour savoir si d'autres personnes ont déjà rencontré ce comportement avec un C3 Super Mini face à un ESP32-S3.

Si quelqu'un a une explication RF plus précise ou un moyen de caractériser le problème, je suis preneur.

Et si quelqu'un rencontre un C3 Super Mini qui refuse mystérieusement de communiquer correctement en ESP-NOW, ça vaut peut-être le coup d'essayer de réduire temporairement la puissance TX avant de passer trois jours à suspecter tout le reste. :grinning_face_with_smiling_eyes:

Bonjour

Le phénomène est connu , le 'remède' aussi.
On pourrait retrouver sur ce forum (ou d'autres ) plusieurs fils de discussion à ce sujet
En faire un tuto est une bonne idée !

Le problème n'impacte pas seulement ESP-NOW, les liaisons WIFI (modes Station et SoftAP) le sont également,

En raison d'un défaut d'adaptation d'impédance de l'antenne donc d'un TOS excessif, le signal réfléchi par l'antenne vers l'émetteur perturbe gravement celui-c a forte puissance Tx. En réduisant la puissance émise on réduit la réflexion à un niveau tolérable pour la liaison radio ......tout en réduisant la portée par raport à ce qu'elle serait sans défaut d'adaptation d'impédance. (C'est intuitif pour un radio amateur ou un Cibiste !)
En quelque sorte la radio 2.4GHz est 'éblouie' par ce que l'antenne lui renvoit.....

On rencontre ça sur diverses ses cartes , y compris des Lolin C3 Mini V1 , certaines Lolin S2-Mini V1..... toutes cartes où la liaison avec l'antenne a été mal réalisée.

Bonjour,

Un, ce message n'a rien à faire dans tutoriel et cours tant qu'un tuto ne sera pas écrit.
Les questions se posent dans la partie générale du forum francophone.
Si quelqu'un peut déplacer merci.

Deux,
Alain avec tous tes nombreux tests, peut-tu nous dire si le problème est sérieusement amoindri avec les cartes ESP32 sur lesquelles il y a un connecteur pour une «vraie antenne» adaptée aux fréquences du WiFi ?
Merci.

Bonsoir Bernard

Non pas de différence constatée sur ce point , du moment que l'adaptation d'antenne est correcte
Des cartes avec des antennes céramique peuvent bien se comporter
Ceci dit je n'ai pas franchi le pas du NanoVNA,
donc pas fait de véritables mesures.

Ces appareils je les ai utilisé pendant des dizaines d'années. Concernant le prix il y a juste une grosse différence dans le nombre de zéro entre la marque HP (maintenant Keysight) et Aliexpress.

Malgrè ce prix attirant, j'estime qu'ils sont inutiles dans le domaine d'activité du forum, sauf à vouloir concevoir des étages amplificateurs d'entrée à large bande ou des antennes.
Il ne faut pas se laisser abuser par le nom «réseaux», ce qui est appelé un «analyseur de réseau» ne fait que des mesures analogiques a très faible niveau. Sans compter que même pour des habitués leur prise en main n'est pas évidente.

S'il y a quand même des forumeurs qui sont tentés, je joins un lien vers une antiquité : la note d'application 154 d'HP.

On peut toujours la trouver, elle est indémodable, sous les deux nom qui ont succéder à «HP appareil de mesure» :

  • Agilent
  • Keysight.

Bonsoir.
Ah dessolé j'ai chercher a solutionner mon problème seul sans recherche préalable sur les forum.
Désolé pour le doublon alors.

Bonsoir.
Merci pour cette mise au point un peu violente, ca donne envie de continuer a participer au forum.

Bonne soitrée

En tout cas merci pour votre accueil chaleureux, je prends acte.

Bonne soirée

Je ne vois pas où il y a de la violence, c’est un simple rappel des règles qui sont annoncées dans le message d’accueil que tout nouvel arrivant se doit de lire.
C’est surtout une demande aux modérateurs pour simplement deplacer le sujet.
Tu te méprends sur le sens de mes écrits.

L’esp32 c3 super mini a une antenne ceramique, la place au hasard des antennes sur circuit imprimé est plus réduite.
Neanmoins il existe deux modèles : le premier l’antenne ceramique est proche de l’oscillateur, le second les deux composants ont été éloigné de quelques mm, ce qui ameliore.

C’est ”une intime conviction” : je pense que vraie antenne est preferable a ces petites antennes proches des composants : le deplacement n’a ete que de quelques mm !

Et bienvenue sur le forum où certains ne connaissent que des discours francs et directs.

Et tout cas, merci quand même pour le partage.

Avec plaisir