Bem, a resposta da pergunta "Ele pode substituir o Arduino" - sim, em muitos casos, pode.
Se seria "o assassino do Arduino" - duvido.
Existem vários arduinos e ESPs em minha casa e 1 ESP em meu escritório, funcionando 24 horas por dia, 7 dias por semana, como parte da minha solução doméstica inteligente criada por você (e constantemente em desenvolvimento), juntamente com 1-2 PCs. Além disso, tenho vários experimentos / projetos inacabados envolvendo o ESP.
Portanto, da minha experiência não tão limitada, eis os prós e os contras do ESP em comparação com o Arduino:
++++ conectividade com a Internet incorporada!
++ Relógio mais rápido e mais memória.
+ É executado em 3V3 (a maioria, mas nem todos os Arduinos são 5V), para que possa interagir com dispositivos 3v3 (como a maioria dos módulos de exibição) diretamente, sem deslocadores de nível.
+ O "básico" ESP-12E custa tanto quanto um Arduino nano ou pro micro.
- O ESP-12E "básico" é um passo de 2,0 mm, e não 2,54 mm, tornando difícil trabalhar com isso.
- Existem falhas que facilitam a criação de protótipos, mas aumentam o custo e ocupam muito espaço em uma placa de ensaio / placa de proteção.
- A fuga mais comum - NodeMCU - é mais cara e tem pinos remapeados, grande aborrecimento, a menos que você a programa em Lua, o que é aceitável apenas para projetos muito simples. IMO, ele deve ser usado apenas para prototipagem.
- Eles funcionam com 3v3, dificultando a interface dos módulos de 5V, ativando totalmente a maioria dos MOSFETs etc.
- Eles são extremamente exigentes em sua fonte de alimentação.
- Eles consomem significativamente mais energia que o Arduino quando não estão transmitindo e muito mais quando estão transmitindo.
- Eles são quase sempre piores para projetos com bateria - você precisa de um regulador 3v3 (que possui corrente quieta), precisa dormir muito (e precisa do GPIO16 dividido por isso) e no final do dia um arduino + um baixo rádio de potência fará o mesmo trabalho enquanto durar significativamente mais tempo na bateria.
- Eles têm menos pinos GPIO e alguns deles devem ter voltagens definidas na inicialização (GPIO0 - alto, GPIO2 - alto ou flutuante, GPIO15 - baixo); também "agitam" alguns de seus pinos de E / S na inicialização, geralmente tornando-os inutilizáveis muitos dispositivos.
- Eles têm apenas um ADC e, pelo que sei, é mais lento que os ADCs do Arduino, já lentos, e você só pode usá-lo com 0-1.1V (referência interna).
- Muitas das bibliotecas do Arduino funcionam imediatamente ou já estão portadas, mas muitas não. Você precisa portá-los sozinho ou esperar alguém fazer isso. Em geral, a comunidade do Arduino é muito maior e mais madura, portanto, a maioria dos tutoriais, bibliotecas, etc. "amigáveis para noob" são fornecidos para o Arduino.
Dito isto, o ESP8266 ainda é ótimo e extremamente útil. Até Lua é útil para pequenos projetos rápidos. Na maioria dos casos em que a conectividade com a Internet é necessária, elas parecem ser a melhor solução. Em muitos outros casos, se você usará ESP ou Arduino, na verdade, não importa. E às vezes o Arduino (ou o pequeno ATTiny85) é a melhor escolha.
Como sempre, "a ferramenta certa para o trabalho" é o caminho a percorrer.
Ou combinação de ferramentas.