Bene, la risposta alla domanda "Può sostituire Arduino" - sì, in molti casi può.
Se sarebbe "il killer di Arduino" - ne dubito.
Ci sono più Arduinos ed ESP nella mia casa e 1 ESP nel mio ufficio in esecuzione 24/7 come parte della mia soluzione di casa intelligente fatta da me (e costantemente in fase di sviluppo), insieme a 1-2 PC. Inoltre ho diversi esperimenti / progetti incompiuti che coinvolgono l'ESP.
Quindi, dalla mia esperienza non così limitata, ecco i pro e i contro di ESP rispetto ad Arduino:
++++ Connettività Internet integrata!
++ Orologio più veloce e più memoria.
+ Funziona su 3V3 (la maggior parte, ma non tutti gli Arduinos sono 5V), quindi può interfacciare direttamente i dispositivi 3v3 (come la maggior parte dei moduli di visualizzazione), senza cambi di livello.
+ L'ESP-12E "base" costa circa quanto un Arduino nano o un pro micro.
- L'ESP-12E "base" ha un passo di 2,0 mm, non di 2,54 mm, il che rende doloroso lavorare con il culo.
- Esistono sblocchi che semplificano la prototipazione, ma aumentano i costi e occupano troppo spazio su una breadboard / protoboard.
- Il breakout più comune - NodeMCU - è più costoso e ha i pin rimappati, un grande fastidio, a meno che non lo programmiate in Lua, il che è ok solo per progetti molto semplici. IMO, dovrebbe essere usato solo per la prototipazione.
- Funzionano con 3v3, il che rende difficile interfacciare i moduli 5V, accendere completamente la maggior parte dei MOSFET, ecc.
- Sono estremamente esigenti per l'alimentazione.
- Assumono significativamente più potenza dell'Arduino quando non trasmettono e molto di più quando trasmettono.
- Sono quasi sempre peggiori per i progetti a batteria - hai bisogno del regolatore 3v3 (che ha corrente di riposo), devi dormire molto (e hai bisogno di GPIO16 scoppiato per quello) e alla fine della giornata un arduino + un basso - la radio di potenza farà lo stesso lavoro e durerà molto più a lungo della batteria.
- Hanno meno pin GPIO e alcuni di essi devono aver impostato tensioni all'avvio (GPIO0 - alto, GPIO2 - alto o mobile, GPIO15 - basso), inoltre "muovono" alcuni dei loro pin IO all'avvio, rendendoli spesso inutilizzabili per molti dispositivi.
- Hanno solo un ADC e, per quanto ne sappia, è più lento dei già lenti ADC Arduino, inoltre puoi usarlo solo con 0-1.1V (riferimento interno).
- Molte delle librerie di Arduino funzionano immediatamente o sono già state trasferite, ma molte non lo fanno. Devi portarli tu stesso o aspettare che qualcuno lo faccia. In generale, la community di Arduino è molto più grande e più matura, quindi la maggior parte dei tutorial, librerie, ecc. "Noob-friendly" sono forniti per Arduino.
Detto questo, l'ESP8266 è ancora eccezionale ed estremamente utile. Anche Lua è utile per piccoli progetti rapidi. Nella maggior parte dei casi in cui è richiesta la connettività Internet, sembrano essere la soluzione migliore. In molti altri casi, se utilizzerai ESP o Arduino in realtà non importa. E a volte l'Arduino (o il piccolo ATTiny85) è la scelta migliore.
Come sempre, "lo strumento giusto per il lavoro" è la strada da percorrere.
O combinazione di strumenti.