Ho cominciato a fare alcune prove.
Dai miei esperimenti ho scoperto che se si accende ESP-01 per primo è probabile che entra in una situazione di errore del boot. Comunque non si esclude possa succedere.
Bisogna tenere un pulsante di reset per ogni evenienza in modo da riportare ad una condizione ci calma.
Conviene alimentare con almeno 500 mA, durante l’accensione, per il tentativo di connessione, richiede molta corrente più del normale, dipende dal fatto che applica maggior potenza per stabilire la connessione. L’alimentazione di Arduino non può sopperire alla richiesta. Potrebbero avvenire troppi riavvii a causa della caduta di tensione.
Questa connessione si abilità automaticamente una volta che sono stati definiti i dati di accesso. Vengono memorizzati.
Ho sviluppato questo circuito, prendendo spunto dallo schema elettrico di arduino UNO.
Cliccare di destro e visualizzare l’immagine per vedere le dimensioni originali.
Si possono mettere delle resistenze di pullup su quasi tutti gli ingressi, CH_PD, GPIO0, GPIO2 e RESET, sebbene penso non siano completamente necessarie. Forse il sistema è programmato con i pullup interni. Valori da 3k3 a 10k possono andar bene.
Mettere un condensatore da almeno un milliFarad, per compensare i picchi di corrente.
Se si usasse un adattatore USB-UART, penso che la sua uscita di alimentazione a 3,3 V sia sufficiente allo scopo, Solo conviene che la porta USB sia di almeno 1 A.
Devo dire che mi serve di prendere confidenza e capire come si fa per programmare. In special modo se la programmazione non è buona e/o venisse interrotta. Supporrei che il firmware ha un boot loader che controlla lo stato dei GPIO all’avvio. Così se non si ha modificato il boot loader sarebbe possibile comunque di poter ripetere la programmazione della flash,