Como atualizar o firmware do ESP8266

Desde que eu recebi os módulos, já testei alguns custom firmwares baseados no firmware de fabrica com alterações, desde pequenas até firmware totalmente customizado com Lua.

De todos os métodos de atualização de firmware, o mais interessante e fácil foi em Python, onde irei descrever todo o processo de atualização do firmware.

Antes de atualizar o firmware, lembre-se que o pino GPIO_0 deverá ser conectado em LOW, ou seja, deverá ser aterrado antes de ligar o modulo, desta forma o modulo entra em modo de atualização. O restante da ligação pode ser de acordo com o post.

Primeiramente, iremos clonar o repositório do script diretamente do Github deste endereço:

Esptool – Github

Comando no terminal para clonar.

git clone https://github.com/themadinventor/esptool.git

Em seguida, iremos fazer o download do firmware customizado, que usaremos também no próximo artigo. O link para o download é:

GPIO Firmware

Neste link, os dois arquivos binários flash.bin e rom.bin serão utilizados para a atualização do módulo utilizando o script em python da seguinte forma.

Para ser mais fácil, copie os arquivos .bin para a mesma pasta do arquivo esptool.py.

Onde na posição 0x00000 o arquivo flash.bin será gravado e na 0x40000 o arquivo rom.bin

O processo de atualização não deverá ser longo, algo em torno de 30 segundos. Caso ocorra erro, verifique todas as conexões ou se o python está instalado corretamente em seu ambiente.

Seguindo todos esses passos, você poderá atualizar o firmware do seu modulo sem problemas e testar as diferentes versões que estão saindo a cada dia.

13 Comments

  1. Pingback: Teste de alcance do ESP8266 em ambiente aberto | Pedro Minatel – Sistemas Embarcados

  2. Igor Carvalho

    Neste caso como fica o esquema de ligacao dos pinos? Tem como colocar uma imagem de como deve ser feita a ligacao dos pinos?

    Reply
    1. Pedro Minatel (Post author)

      Pode usar esse como referência.

      http://www.whatimade.today/content/images/2015/01/ESP8266_arduino_bb.jpg

      O regulador tem que ser de 3.3v!

      Reply
  3. Igor Carvalho

    eu tenho um tip122, serve pra colocar no lugar do 78xxl? Tudo bem que eh um regulador de tensao, mas porque nao ligar direto no 3.3v do arduino e sim no 5v da placa?

    Obrigado pela atencao

    Reply
    1. Pedro Minatel (Post author)

      Igor, o TIP122 e um transistor Darlington, ou seja, não pode ser o substituto do regulador. Recomendo o AMS1117-3.3 ou equivalente, como o LD1117.
      Usar o 3.3 do Arduíno não e uma boa solução, já que o regulador do Arduíno não aguenta fornecer corrente para ele próprio e o ESP.
      Use um regulador externo!

      Reply
  4. maikonayres

    Melhor regulador facil de fazer e suporta até 3 amperes, LM3050T um resistor de 120 Ohm e um de 220.

    Reply
    1. maikonayres

      LM350T

      Reply
  5. maikonayres

    Andei testando os último firmware… não funcionam bem …. o melhor que se adaptae é bem estável uma das primeiras atualizações 0.9.2, tenho 10 modulos e nenhum se comportou bem com as novas atualizações.

    Reply
  6. Thiago

    Oĺá, preciso de ajuda, recebi o seguinte erro:

    File “”, line 1
    ./esptool.py write_flash 0x00000 flash.bin 0x40000 rom.bin
    ^
    SyntaxError: invalid syntax

    Reply
    1. visitante

      Desenterrando… coloque $ python ./esptool.py write_flash 0x00000 flash.bin 0x40000 rom.bin

      Reply
  7. Elltton David

    Pedro, como eu faço pra usar a esp como um adaptador de comunicação serial do arduino via wifi?

    Reply
  8. Edson Sidnei

    Olá, Parabéns pelo site.
    Ainda há necessidade de troca do firmware quando se utiliza a IDE do Arduino para programar?

    Você saberia dizer como baixar o firmware mais atualizado? Estou utilizando a placa nodemcuESP8266.
    No github aparece 2 repositórios (espressif (aparece vários arquivos bin) e o da equipe do nodemcu (na versão mais atualizada a pasta bin está vazia)).
    Qual seria sua recomendação.
    Obrigado!

    Reply
  9. Kleyton

    Ola Parabens pelo site!!!
    Gostaria de saber as pinagens e configuracoes das conexoes, visto que acompanhei os posts porem ocorre o seguinte erro:
    esptool.py v2.2-dev
    Connecting…….._____….._____….._____….._____….._____….._____….._____….._____….._____….._____

    A fatal error occurred: Failed to connect to Espressif device: Timed out waiting for packet header
    Desde ja agradeco pela atenção!!!

    Reply

Deixe seu comentário