L’ESP8266 est-il tolérant à 5 V ? Ce traceur de courbe dit oui !

Certaines personnes affirment que l’ESP8266 tolère des niveaux logiques de 5 V sur ses GPIO, tandis que d’autres sont en désaccord avec véhémence, pointant vers le maximum de 3,6 V indiqué dans la fiche technique. Cependant, les fiches techniques ne sont pas du code source pour compiler la puce et ne sont pas non plus universellement correctes et complètes. [Avian] a décidé d’approfondir les affirmations, de mener une expérience avec une véritable puce ESP8266, puis de partager les résultats pour nous tous.

Pour l’expérience, il a utilisé un traceur de courbe – un appareil capable de produire une large gamme de tensions et de mesurer le courant consommé, puis de tracer la relation tension-courant. Cela aide à caractériser toutes sortes de variables, des tensions de claquage des diodes aux caractéristiques des transistors. Le traceur de courbe qu’il utilise est une construction de bricolage capable et d’apparence professionnelle, et mérite sans doute une rédaction séparée !

Le raisonnement derrière [Avian]L’expérience de est simple – si la broche, réglée sur une entrée, commence à consommer une plus grande quantité de courant à un certain seuil de tension, alors il doit y avoir une structure interne à la puce, voulue ou non, qui serait endommagée à cette tension. Traceur de courbe en main, il a configuré un module ESP-01 pour régler un GPIO sur l’entrée et a commencé à augmenter la tension.

Un graphique de sortie de traceur de courbe, montrant qu'il n'y a pas d'augmentation notable du courant consommé dans la plage de 0 V à 6,6 V - le courant passant de 0,2 mA à 0,4 mA dans cette plage

Les tests ont montré que, bien qu’il y ait une diode ESD polarisée en inverse des broches GPIO à la terre, il ne semble pas y avoir de diodes de la broche GPIO au rail VCC – et ce sont la principale préoccupation pour la tolérance de 5 V. Il semble y avoir quelque chose de fonctionnellement semblable à une diode Zener 6 V en interne, qui devrait bloquer la tension avant qu’elle ne devienne trop élevée pour que la puce puisse la gérer. Rien de tout cela ne devrait poser de problème pour la compatibilité 5 V, et il semble juste d’interpréter cela comme une confirmation de la tolérance 5 V jusqu’à ce que quelqu’un montre le contraire.

[Avian] ne voulait pas détruire un ESP8266, donc l’expérience a été menée avec une résistance série 1 K entre le traceur de courbe et l’entrée – ce qui aurait pu biaiser un peu les résultats. D’un autre côté, ajouter des résistances en série devant vos entrées est une pratique globalement sous-estimée, 5 V ou autre. Il souligne également que, même si les broches ne semblent pas être affectées par la tension d’entrée plus élevée, le chargeur de démarrage peut en définir certaines sur des sorties de 3,3 V au démarrage, court-circuitant votre source de 5 V à votre rail de 3,3 V — à retenir !

[Avian]Les voyages de recherche de sont amusants à suivre, et nous vous recommandons de consulter son blog ; la dernière fois, nous avons couvert ses recherches sur une prise jack 3,5 mm d’apparence innocente cachant un circuit de compensation audio sournois. Depuis que nous avons couvert l’ESP8266 pour la première fois en 2014, nous avons recherché toutes les choses dont il est vraiment capable, et nous avons abordé le sujet de la compatibilité GPIO 5 V en 2016 – c’est rassurant de pouvoir enfin poser cette question !

Nous remercions [Adrian] pour partager ça avec nous !