Bueno, la respuesta a la pregunta "¿Puede reemplazar a Arduino"? Sí, en muchos casos puede.
Si sería "el asesino de Arduino", lo dudo.
Hay varios arduinos y ESP en mi hogar y 1 ESP en mi oficina que funciona las 24 horas del día, los 7 días de la semana, como parte de mi solución para el hogar inteligente de fabricación propia (y en constante desarrollo), junto con 1-2 PC. Además de eso, tengo varios experimentos / proyectos inacabados que involucran al ESP.
Entonces, desde mi experiencia no tan limitada, aquí están los pros y los contras de ESP en comparación con Arduino: ¡
conectividad a Internet ++++ incorporada!
++ Reloj más rápido y más memoria.
+ Se ejecuta en 3V3 (la mayoría, pero no todos los Arduinos son de 5V), por lo que puede interconectar dispositivos 3v3 (como la mayoría de los módulos de visualización) directamente, sin cambios de nivel.
+ El ESP-12E "básico" cuesta casi tanto como un Arduino nano o pro micro.
- El ESP-12E "básico" tiene un paso de 2.0 mm, no 2.54 mm, por lo que es un fastidio trabajar con él.
- Hay desgloses que facilitan la creación de prototipos, pero aumentan el costo y ocupan demasiado espacio en una placa de pruebas / protoboard.
- La ruptura más común - NodeMCU - es más costosa y tiene pasadores reasignados, una gran molestia, a menos que lo programes en Lua, lo cual solo está bien para proyectos muy simples. En mi opinión, debe usarse solo para la creación de prototipos.
- Se ejecutan en 3v3, lo que dificulta la interfaz de los módulos de 5V, enciende por completo la mayoría de los MOSFET, etc.
- Son extremadamente exigentes con su fuente de alimentación.
- Consumen mucha más potencia que el Arduino cuando no transmiten y mucho más cuando transmiten.
- Casi siempre son peores para proyectos que funcionan con baterías: necesita un regulador 3v3 (que tiene corriente de reposo), necesita dormir mucho (y necesita GPIO16 roto para eso) y al final del día un arduino + un nivel bajo La radio de alta potencia hará el mismo trabajo y durará mucho más con la batería.
- Tienen menos pines GPIO y algunos de ellos deben haber establecido voltajes al inicio (GPIO0 - alto, GPIO2 - alto o flotante, GPIO15 - bajo), también "mueven" algunos de sus pines IO en el inicio, a menudo haciéndolos inutilizables para muchos dispositivos
- Solo tienen un ADC, y que yo sepa, es más lento que los ADC Arduino ya lentos, además, solo puede usarlo con 0-1.1V (referencia interna).
- Muchas de las bibliotecas Arduino funcionan de fábrica o ya están portadas, pero muchas no lo hacen. Tienes que portarlos tú mismo o esperar a que alguien lo haga. En general, la comunidad Arduino es mucho más grande y madura, por lo que la mayoría de los tutoriales, bibliotecas, etc. amigables para los novatos se proporcionan para Arduino.
Dicho esto, el ESP8266 sigue siendo excelente y extremadamente útil. Incluso Lua es útil para pequeños proyectos rápidos. En la mayoría de los casos donde se requiere conectividad a Internet, parecen ser la mejor solución. En muchos otros casos, si usarás ESP o Arduino en realidad no importa. Y a veces el Arduino (o el pequeño ATTiny85) es la mejor opción.
Como siempre, "la herramienta adecuada para el trabajo" es el camino a seguir.
O combinación de herramientas.