Introduction: Cargar Firmware Al ESP8266 Con Arduino

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

    Comments

    author
    hemanth kumar reddy (author)2017-03-14

    Can you plz look at this

    https://www.instructables.com/community/security-s...

    small help thanks

    author
    Hulkco made it! (author)2016-06-25

    I made and it is work and made a litle change to flash the AT Firmware back i put a Instructable soon.

    Thanks Sabas

    ArduinoAsUploader.jpg
    author
    dhafer.hannaoui (author)Hulkco2016-10-11

    Hi, i tested this tutorial but no result. Can you help me please et and give the link of your Tutorial.

    Thank you :)

    author
    Hulkco (author)dhafer.hannaoui2016-10-11

    Try my Instructable: https://www.instructables.com/id/The-Cheapest-ESP8266-Programmer/

    author
    Gustavo Zbinden -I (author)2016-06-14

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

    author
    julianms (author)2015-10-23

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

    author
    Caoadave (author)julianms2016-05-30

    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

    author
    sabas1080 (author)julianms2016-04-14

    Gracias por el comentario

    author
    LeonardoM15 made it! (author)2016-05-02

    Great!

    temp_85062820.jpg
    author
    SebastianA1 (author)2016-04-24

    hola.

    como puedo flashear el esp con un arduino leonardo?

    es el mismo codigo o cambia?

    author
    MarioP29 (author)2015-11-02

    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

    author
    sabas1080 (author)MarioP292016-04-14

    Tendrias que ver lo ejemplos de Micropython para poder hacerlo

    author
    fabian_sl (author)2016-04-14

    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!

    author
    fabian_sl (author)fabian_sl2016-04-14

    oooh por cierto, olvide mencionar que el firmware que flashear fue el siguiente:

    V1.3.0.2_AT_Firmware.bin.zip descargado de:

    http://www.electrodragon.com/w/ESP8266_AT_Commands

    author
    sabas1080 (author)fabian_sl2016-04-14

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

    author
    JohanpG (author)2015-10-26

    Muchas gracias !! funciona 10/10

    author
    SantiagoS11 (author)2015-10-14

    No me funciona

    author
    Zafar AhmedA (author)2015-06-08

    thanks a lot

    author
    PedroV3 (author)2015-06-02

    Tengo una duda porque no veo claro, de ¿dónde saco el nuevo firmware?

    author
    sabas1080 (author)PedroV32015-06-03

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

    About This Instructable

    28,749views

    54favorites

    License:

    Bio: Fundador de The Inventor's House Hackerspace, Movimiento Maker y Hardware Libre, DIY, Workaholic
    More by sabas1080:LoRaCatKitty Build IoT Applications With LoRaWAN in 3 StepsGetting Started With MagSpoofE-paper Display With Arduino/ESP8266
    Add instructable to: