jueves, 22 de diciembre de 2016

Actualizar el Firmware del ESP8266 con Arduino Nano

Y Felices Fiestas a todos!!!

Ayer tuve un pequeño problema cuando estaba programando un menú configurador para hacer más sencilla la manera de configurar el ESP8266.

Estaba con el menú del Baudrate cuando me equivoque al meter un baudrate que no era valido con los comandos AT y el ESP8266 dejo de funcionar.

Tengo varios módulos más, pero ya que estaba en faena me decidí a solucionarlo en el momento...

Eso pensé en un principio, pero no fue tan sencillo unir las piezas, me explico:

Ante la imposibilidad de comunicarme con él, la solución era evidente, tenia que volver a cargar el firmware del ESP8266.

Buscando información sobre como actualizar el firmware, casi todo lo que encontré era referido al adaptador de FTDI a USB. Hasta que, investigando, en alguna parte leí que uno de esos adaptadores utiliza el chip CH340 y esto me hizo recordar que este es el mismo driver que utiliza en la comunicación serial el Arduino Nano.

Una vez recopilada toda la información este es el circuito no podía ser más sencillo:

Una vez montado solo hay que subir el siguiente Sketch:


int ch_pd = 3;
int io0 = 2;

void setup() 
{
  pinMode(ch_pd, OUTPUT);
  pinMode(io0, OUTPUT);
  digitalWrite(io0,LOW);
  digitalWrite(ch_pd, LOW);
  delay(1000);
  digitalWrite(ch_pd, HIGH);
}

void loop(){}

Y ahora si, con este pequeño programa podemos actualizar el firmware del ESP8266 sin adaptador y con nuestro Arduino Nano.

Para esto he utilizado el ESP8266_flasher desde Windows. Es un programa muy sencillo pero que cumple a la perfección con su cometido:

Para programar el módulo desde Linux el rey es Esptool. No es tan sencillo, pero te acostumbras rápido a la sintaxis y de manera particular utilizo scripts diseñados para estas funciones. Esptool esta disponible para su descarga en GitHub.

En este punto hay que decir que si al probar el nuevo firmware no funcionara bien o no fuéramos capaces de conectar con el ESP8266 seria conveniente cambiar la dirección 0x00000 por la 0x40000080. Ahora si ya podemos conectar con el módulo con los comandos AT para configurar el microcontrolador.

El firmware que he utilizado para la actualización es la v0.9.2.2 AT Firmware.bin

Os dejo el archivo con todo lo necesario para instalar el firmware:

  • Esquema de conexión
  • ESP8266_flasher.exe
  • Firmware v2.2.0 AT Firmware.bin

Descargar ESP8266/Vx.x.x_AT_Firmware desde GitHub.

Recordad poner el ESP8266 en modo AP o BOTH con AT+CWMODE=3 antes de buscar una red WiFi, si no seguramente no detecte nada.

Pues esto es todo, espero que os sirva de ayuda si tienes que actualizar el firmware y no dispones de un adaptador de FTDI a USB

Saludos a todos!!!

5 comentarios :

  1. Respuestas
    1. De nada, espero que te haya sido de utilidad la información, saludos!!

      Eliminar
  2. Buenas, ante todo agradecer por el tutorial, he actualizado el software correctamente, y al enchufarlo para ejecutar comandos AT, me sale ready, hasta aquí bien, pero a la hora de poner algún comando no me sale nada, he mirado un poco la velocidad...pero no se si te ha llegado a pasar, un saludo gracias.

    ResponderEliminar
  3. Excelente horas batallando con este problema, casi lo tenia, solo que mi esquema de conexión no era el correcto

    ResponderEliminar