Eh bien, la réponse à la question "Peut-il remplacer Arduino" - oui, dans de nombreux cas, c'est possible.
Que ce soit "le tueur Arduino" - j'en doute.
Il y a plusieurs Arduinos et ESP dans ma maison et 1 ESP dans mon bureau fonctionnant 24h / 24 et 7j / 7 dans le cadre de ma solution de maison intelligente maison (et constamment en développement), ainsi que 1 à 2 PC. En plus de cela, j'ai plusieurs expériences / projets inachevés impliquant l'ESP.
Donc, d'après mon expérience pas si limitée, voici les avantages et les inconvénients d'ESP par rapport à Arduino:
++++ connectivité Internet intégrée!
++ Horloge plus rapide et plus de mémoire.
+ Fonctionne sur 3V3 (la plupart, mais pas tous les Arduinos sont 5V) afin qu'il puisse interfacer les appareils 3v3 (comme la plupart des modules d'affichage) directement, sans décalage de niveau.
+ L'ESP-12E "de base" coûte à peu près autant qu'un Arduino nano ou pro micro.
- L'ESP-12E "de base" a un pas de 2,0 mm et non de 2,54 mm, ce qui rend la tâche difficile à utiliser.
- Il existe des cassures qui facilitent le prototypage, mais elles augmentent le coût et prennent trop de place sur une planche à pain / protoboard.
- L'évasion la plus courante - NodeMCU - est plus chère et a des broches remappées, une gêne majeure, sauf si vous la programmez en Lua, ce qui n'est acceptable que pour des projets très simples. OMI, il doit être utilisé uniquement pour le prototypage.
- Ils fonctionnent sur 3v3, ce qui rend difficile l'interface des modules 5V, allume complètement la plupart des MOSFET, etc.
- Ils sont extrêmement pointilleux sur leur alimentation.
- Ils consomment beaucoup plus d'énergie que l'Arduino lorsqu'ils ne transmettent pas et beaucoup plus lorsqu'ils transmettent.
- Ils sont presque toujours pires pour les projets alimentés par batterie - vous avez besoin d'un régulateur 3v3 (qui a un courant de repos), vous devez beaucoup dormir (et vous avez besoin de GPIO16 pour cela) et à la fin de la journée un arduino + un faible -la radio de puissance fera le même travail tout en restant beaucoup plus longtemps sur batterie.
- Ils ont moins de broches GPIO et certains d'entre eux doivent avoir défini des tensions au démarrage (GPIO0 - élevé, GPIO2 - élevé ou flottant, GPIO15 - faible), ils "agitent" également certaines de leurs broches IO au démarrage, ce qui les rend souvent inutilisables pour de nombreux appareils.
- Ils n'ont qu'un seul ADC, et à ma connaissance, il est plus lent que les ADC Arduino déjà lents, en plus vous ne pouvez l'utiliser qu'avec 0-1.1V (référence interne).
- De nombreuses bibliothèques Arduino fonctionnent immédiatement ou sont déjà portées, mais beaucoup ne le font pas. Vous devez soit les porter vous-même, soit attendre que quelqu'un le fasse. En général, la communauté Arduino est beaucoup plus grande et plus mature, donc la plupart des didacticiels, bibliothèques, etc., "noob-friendly" sont fournis pour l'Arduino.
Cela dit, l'ESP8266 est toujours génial et extrêmement utile. Même Lua est utile pour les petits projets rapides. Dans la plupart des cas où une connexion Internet est requise, ils semblent être la meilleure solution. Dans de nombreux autres cas, que vous utilisiez ESP ou Arduino n'a pas d'importance. Et parfois, l'Arduino (ou le petit ATTiny85) est le meilleur choix.
Comme toujours, «le bon outil pour le travail» est la voie à suivre.
Ou une combinaison d'outils.