Cargar Firmware Al ESP8266 Con Arduino

35,943

55

17

About: Fundador de The Inventor's House Hackerspace, Movimiento Maker y Hardware Libre, DIY, Workaholic

Hoy les traigo algo que varia gente me a pedido demasiado y es poder cargar el firmware al modulo wifi ESP8266 desde un Arduino, normalmente esto se hace por medio de un convertidor USB-Serial pero no todos tienen acceso a uno de estos dispositivo, ahora les voy a mostrar como hacer esto con un Arduino UNO en este caso

Step 1: Sketch Arduino

Lo primero que haremos es crear nuestro sketch en el IDE de Arduino pueden encontrarlo en github

https://github.com/sabas1080/ESP8266/tree/master/upload_firmware_with_arduino

Como se pueden dar cuenta controlamos los pines GPIO 0 y Enable del ESP por medio de los pines 2 y 3 de nuestro Arduino, ahora solo debemos cargar el sketch al Arduino

Sketch para cargar firmware ESP8266 por medio de Arduino

123456789101112131415161718
//sketch para cargar firmware a ESP8266 por medio de Arduino
//Esquematico en
int ch_pd = 3;
int io0 = 2;
 
voidsetup() {
pinMode(ch_pd, OUTPUT);
pinMode(io0, OUTPUT);
digitalWrite(io0,LOW);
digitalWrite(ch_pd, LOW);
delay(1000);
digitalWrite(ch_pd, HIGH);
}
 
voidloop()
{
}

Step 2: Diagrama

Ahora lo que debemos hacer es conectar el nuestro ESP8266 a nuestro Arduino como se muestra en la imagen y en base a nuestro sketch, recuerden que el ESP8266 se conecta a 3.3v, los pines de RX y TX son tolerables a 5v pero si tienen un convertidor lógico de 5 a 3.3v es mucho mejor.

Step 3: Cargar Firmware

Ahora que podemos usar la aplicación que mas nos guste como por jemplo Flasher o ESPtool.py o cualquier herramienta para cargar firmware perzonalizado, LUA o AT al ESP8266, solo debemos elegir el puerto donde se encuentra el Arduino y flashsear como se muestra en la imagen.

En este caso yo subiré el firmware de http://www.electrodragon.com/w/ESP8266_Firmware donde puedes encontrar la versión mas reciente AT

Espero les sea de utilidad este instructable si tienen problemas dejen sus dudas en los comentarios, nos vemos en la proxima

2 People Made This Project!

Recommendations

  • Big and Small Contest

    Big and Small Contest
  • First Time Author

    First Time Author
  • Make it Glow Contest 2018

    Make it Glow Contest 2018

17 Discussions

0
None
jmigoya

2 months ago

Para poder utilizar el Arduino como pasarela de USB a TTL (y subir programas hechos en Arduino) necesité puentear GND y RESET en Arduino.

0
None
Gustavo Zbinden -I

2 years ago

Hola! de este modo puedo también cargar al esp8266 los programas generados con el ide de arduino?

0
None
julianms

3 years ago

hay una errata en la conexion TX/RX. deberian estar cruzados. el tx al rx y viceversa.

2 replies
0
None
Caoadavejulianms

Reply 2 years ago

la configuración esta bien como se indica en la figura, el tx al tx y el rx al rx. si se cambia el orden el flasher indica una conexión fallida, al momento que cambie el orden de los cables tal y como se muestra la figura funciono. este video ilustra un poco el procedimiento https://www.youtube.com/watch?v=3qycrbXu4Gw

0
None
SebastianA1

2 years ago

hola.

como puedo flashear el esp con un arduino leonardo?

es el mismo codigo o cambia?

0
None
MarioP29

3 years ago

Hola que tal. Si meto el firmware de micropython por ejemplo, luego desde el arduino, si creo un servidor con node por ejemplo y el esp8266 se conecta y le devuelve 13 (por ejemplo para que enchufe el un led arduino en dicho pin), como se haria

1 reply
0
None
sabas1080MarioP29

Reply 2 years ago

Tendrias que ver lo ejemplos de Micropython para poder hacerlo

0
None
fabian_sl

2 years ago

Hola!!

Decidi instalar esptool-py para hacer el flasheo. En el readme lo que veo es que requiere que se instale previo a su ejecucion la extension para pythyon encontrada en el siguiente link:

https://pypi.python.org/pypi/pyserial

ya lo instale y al ejecutar el flasheo me aparece lo siguiente:

A fatal error occurred: Failed to connect to ESP8266

me hara falta configurar algo adicional al ESPtool-py ? O sera problema de la conexion del ESP-Arduino UNO? Aunque en realidad no encuentro diferencia alguna. Espero a alguien mas le haya ocurrido y sepa la solucion. Saludos!

2 replies
0
None
sabas1080fabian_sl

Reply 2 years ago

Al parecer no esta detectando el ESP, o el ESP no esta en modo bootloader, por eso no puede subir el firmware

0
None
JohanpG

3 years ago

Muchas gracias !! funciona 10/10

0
None
sabas1080PedroV3

Reply 3 years ago on Introduction

La version mas reciente del firmware AT la puedes descargar de aqui http://www.electrodragon.com/w/ESP8266_Firmware , saludos