Upgrade de Firmware no Shield WiFi ESP8266 para Arduino

Upgrade de Firmware no Shield WiFi ESP8266 para Arduino

A partir dos passos abaixo você vai aprender fazer a atualização / modificação de firmware do Shield WiFi ESP8266 no sistema operacional Windows. Para fazer upgrade de firmware da placa você poderá utilizar o Arduino Uno R3 ou um Conversor USB Serial.

Se ainda não conhece o Shield WiFi ESP8266 e quer saber mais detalhes sobre a placa, acesse nossa postagem Conhecendo o Shield WiFi ESP8266 para Arduino. É altamente recomendado que leia a postagem, pois nela há explicação bem detalhada sobre a placa e que será importante você saber para executar os passos abaixo.

Para conectar o Shield WiFi ESP8266 ao computador é necessário utilizar um conversor USB serial. Caso você não possua um conversor USB serial convencional, poderá utilizar o conversor do Arduino Uno R3 como intermédio. Há vários modelos de conversores USB serial no mercado, mas para esta prática utilizei o Adaptador Conversor USB Serial TTL PL2303HX.

Para fazer atualização do Shield WiFi ESP8266, iremos utilizar o ESP8266 Flash Download Tools:

Download ESP8266 Flash Download Tools v2.4

O firmware que vamos utilizar é o Ai-Thinker_ESP8266_DOUT_32Mbit_v1.5.4.1-a AT Firmware:

Download Ai-Thinker_ESP8266_DOUT_32Mbit_v1.5.4.1-a AT Firmware

Feito o download do programa e do firmware, copie ambos para a raiz (unidade C) do seu Windows.

Faça a descompactação do flash_download_tools_v2.4_150924.rar e a pasta FLASH_DOWNLOAD_TOOLS_v2.4_150924 será gerada.

– Utilizando o conversor USB serial do Arduino Uno R3 como intermédio:

O próximo passo é conectar o Shield WiFi ESP8266 ao computador. Caso não possua um conversor usb serial convencional, poderá utilizar o Arduino Uno R3 para fazer a ponte entre em shield e o computador. Além do Arduino Uno R3 com Cabo USB você irá precisar de:

01 – Shield WiFi ESP8266 ESP-12E para Arduino
04 – Cabos Jumper macho-fêmea

OBS: antes de montar o esquema de ligação com o Arduino, você deverá carregar um código em branco na placa para garantir que o conversor USB serial não esteja sendo utilizado. Carregue o código abaixo em seu Arduino e prossiga:

img01_upgrade_de_firmware_no_shield_wifi_esp8266_esp-12e_para_arduino_comandos_at_blynk_nodemcu_flash

OBS: fique atento na hora de conectar o pino de alimentação 3.3V do shield ao Arduino.

– Utilizando o Adaptador Conversor USB Serial TTL PL2303HX:

Irá precisar do seguintes itens além do Adaptador Conversor USB Serial TTL PL2303HX:

01 – Shield WiFi ESP8266 ESP-12E para Arduino
04 – Cabos Jumper fêmea-fêmea

img02_upgrade_de_firmware_no_shield_wifi_esp8266_esp-12e_para_arduino_comandos_at_blynk_nodemcu_flash

OBS: O PL2303 possui alimentação 5V e 3V3. Utilize a alimentação 3V3 e ignore o pino 5V.

Após efetuar um dos esquemas de ligação acima, basta conectar o cabo USB (ao Arduino e ao computador) ou o conversor USB serial ao computador.

Em seguida acesse o ‘Painel de Controle’ do Windows, ‘Gerenciador de Dispositivos’, e na janela que abrir vá até ‘Portas (COM e LPT)’. Você poderá ver o dispositivo conectado e o número da porta COM em que ele foi alocado. A título de demonstração, conectei tanto o Arduino quanto o conversor USB serial no computador e na imagem abaixo você pode ver como os dispositivos aparecem no gerenciador:

img03_upgrade_de_firmware_no_shield_wifi_esp8266_esp-12e_para_arduino_comandos_at_blynk_nodemcu_flash

Se estiver utilizando o PL2303HX e o mesmo não estiver sendo reconhecido pelo o Windows, acesse a postagem Conversor USB Serial TTL PL2303HX – Instalação no Windows 10, veja como resolver e em seguida retorne para continuar.

Agora vá até a pasta FLASH_DOWNLOAD_TOOLS_v2.4_150924 e execute o ESP_DOWNLOAD_TOOL_V2.4.exe:

img04_upgrade_de_firmware_no_shield_wifi_esp8266_esp-12e_para_arduino_comandos_at_nodemcu_flash_blynk

No shield, coloque as vias P3 e P4 na posição ON e em seguida pressione o botão ESP-RST da placa para que o shield entre em modo de upgrade de firmware:

img05_upgrade_de_firmware_no_shield_wifi_esp8266_esp-12e_para_arduino_comandos_at_blynk_nodemcu_flash

Com o programa aberto, desmarque a opção ‘SpiAutoSet’, selecione a porta COM, selecione o ‘BAUDRATE’ 115200, desmarque qualquer checkbox marcado em ‘Download Path Config’, configure as demais opções conforme a imagem abaixo e clique em ‘START’:

img06_upgrade_de_firmware_no_shield_wifi_esp8266_esp-12e_para_arduino_comandos_at_nodemcu_flash_blynk

Se a comunicação com o Shield WiFi ESP8266 estiver OK, você verá informações em ‘DETECTED INFO’, ‘MAC Address’ e a escrita ‘SYNC’:

img07_upgrade_de_firmware_no_shield_wifi_esp8266_esp-12e_para_arduino_comandos_at_nodemcu_flash_blynk

OBS: caso o programa retorne ‘FAIL’, confira se selecionou a porta COM correta, confira se as vias P3 e P4 da chave DIP estão na posição ON, clique no botão ESP-RST, clique em STOP e novamente clique em START.

Em ‘Download Path Config’ você deverá selecionar o arquivo ‘Ai-Thinker_ESP8266_DOUT_32Mbit_v1.5.4.1-a AT Firmware.bin’ baixado. Clique nas ‘…’ do primeiro campo e na janela que abrir navegue até a pasta em que colocou o firmware e selecione o arquivo ‘Ai-Thinker_ESP8266_DOUT_32Mbit_v1.5.4.1-a AT Firmware.bin’. No campo ‘ADDR’ preencha com o offset 0x00000 e marque o checkbox para concluir. Ao terminar, você terá as configurações conforme a imagem abaixo:

img08_upgrade_de_firmware_no_shield_wifi_esp8266_esp-12e_para_arduino_comandos_at_nodemcu_flash_blynk

Agora clique em ‘START’ para o processo iniciar:

OBS: se estiver utilizando o conversor USB serial do Arduino como intermédio entre o shield e o computador, clique no botão ESP-RST do shield antes de clicar no START. Caso esteja utilizando um conversor USB serial convencional este procedimento não é necessário.

img09_upgrade_de_firmware_no_shield_wifi_esp8266_esp-12e_para_arduino_comandos_at_nodemcu_flash_blynk

Aguarde o processo de upgrade de firmware ser concluído (vai levar aproximadamente 7 minutos para o processo ser concluído):

img10_upgrade_de_firmware_no_shield_wifi_esp8266_esp-12e_para_arduino_comandos_at_nodemcu_flash_blynk

Terminado o processo de upgrade de firmware, feche as janelas do ESP_DOWNLOAD_TOOL_V2.4, retorne as vias P3 e P4 para a posição OFF e pressione o botão ESP-RST do shield para que ele possa sair do modo de upgrade de firmware.

OBS: se o shield permanecer com o LED aceso de forma contínua e o computador travar após o reset da placa, é um sinal de que você não fez a configuração correta do ESP_DOWNLOAD_TOOL_V2.4 no momento da atualização de firmware. Desconecte a placa do computador, coloque as vias P3 e P4 na posição ON, conecte o shield ao computador novamente e refaça os procedimentos a partir da imagem 6 deste tutorial. Fique atento e verifique se a opção SpiAutoSet está desmarcada e se o SPI MODE está configurado em DOUT.

Agora abra a IDE do Arduino para que você possa enviar comandos AT a placa para verificar se o firmware foi atualizado corretamente e se a placa está respondendo aos comandos.

Com a IDE aberta acesse o menu ‘Ferramentas’ e em seguida na opção ‘Porta’ selecione a porta COM. Note na imagem abaixo que selecionei a porta COM7:

img11_upgrade_de_firmware_no_shield_wifi_esp8266_esp-12e_para_arduino_comandos_at_nodemcu_flash_blynk

Você NÃO precisa selecionar a placa na IDE, pois isto é irrelevante para o envio de comandos AT.

Abra o ‘Monitor Serial’ da IDE e no rodapé confira se a velocidade está definida em 115200 e se ‘Ambos, NL e CR’ está selecionado:

img12_upgrade_de_firmware_no_shield_wifi_esp8266_esp-12e_para_arduino_comandos_at_nodemcu_flash_blynk

Agora digite o comando ‘AT’ (sem aspas) e dê ‘ENTER’ ou clique em ‘Enviar’. Se a conexão estiver funcionando você terá como retorno a mensagem de ‘OK’:

img13_upgrade_de_firmware_no_shield_wifi_esp8266_esp-12e_para_arduino_comandos_at_nodemcu_flash_blynk

OBS: se ao enviar o comando NÃO receber nenhum retorno ou receber uma série de caracteres aleatórios, altere a velocidade de 115200 do monitor serial para 9600 e envie o comando novamente.

No ‘Monitor Serial’ digite o comando ‘AT+GMR’ (sem aspas) e dê ‘ENTER’ ou clique em ‘Enviar’. Se receber como retorno as informações conforme a imagem abaixo, então seu Shield WiFi ESP8266 foi atualizado com sucesso:

img14_upgrade_de_firmware_no_shield_wifi_esp8266_esp-12e_para_arduino_comandos_at_nodemcu_flash_blynk

Caso queira alterar o baudrate de comunicação com o Shield WiFi ESP8266 para 9600, digite na IDE o comando ‘AT+UART_DEF=9600,8,1,0,0’ (sem aspas) e dê ‘ENTER’ ou clique em ‘Enviar’. Se receber como retorno as informações conforme a imagem abaixo, então a velocidade de comunicação foi alterada:

img15_upgrade_de_firmware_no_shield_wifi_esp8266_esp-12e_para_arduino_comandos_at_nodemcu_flash_blynk

OBS: ao mudar o baudrate do Shield WiFi ESP8266, você deverá mudar também a velocidade de 115200 para 9600 no rodapé do ‘Monitor Serial’. Em seguida envie novamente o comando ‘AT’ (sem aspas) e dê ‘ENTER’ ou clique em ‘Enviar’. Se receber o ‘OK’ como retorno, então a comunicação está funcionando.

Vale ressaltar que, caso pretenda utilizar o Shield WiFi ESP8266 para atribuir WiFi ao Arduino, a velocidade de comunicação ideal é de 9600 bauds.

Gostou deste tutorial? Então deixa seu comentário, dúvida ou sugestão aí embaixo!

Loja online: https://www.masterwalkershop.com.br
Fan page no Facebook: https://www.facebook.com/masterwalkershop

Nos ajude a espalhar conhecimento clicando no botão de compartilhar (f Like) que está mais abaixo.

Obrigado e até a próxima!

Seu feedback é muito importante! Que tal dar uma nota para esta postagem?! Faça sua avaliação aqui embaixo.



Postagem anterior:
Próxima postagem:
Postagem feita por

Formado em Engenharia da Computação, Técnico em Eletroeletrônica, Fundador e Diretor da MasterWalker Electronic Shop. Se preocupa com o aprendizado dos seus clientes e daqueles interessados em aprender sobre Arduino e plataformas embarcadas em geral.

Existem 16 comentários para esta postagem
  1. Alexandre às 13:01

    Deu certo, parece que era o GND. Todos os testes retornaram OK. Obrigado pelo tutorial.

  2. Lucas às 22:05

    Euler, boa noite. Já reli o tutorial diversas vezes, tentei de todas as formas, porém não consigo SYNC, apenas FAIL ao clicar START, não gerando DETECTED INFO alguma. Para conhecimento, minha placa tem gravado “shiald” e “more”. Favor me ajudar, já não sei mais o que tentar. Obrigado.

    • Lucas às 22:21

      Esqueci de mencionar: estou utilizando o conversor USB serial do Arduino Mega como intermédio. Já troquei as portas USB, substitui todos os cabos utilizados, conferi as vias da chave DIP, realizei o reset através do botão ESP-RST. Mais uma vez agradeço desde já.

  3. Agustin às 20:02

    Excelente tutorial, me ayudo bastante. Muchas gracias !

  4. Jose Luis Tapia Ramirez às 17:23

    He intentado muchas veces y solo una vez logro pasar a 8%

  5. Jose Luis Tapia Ramirez às 17:22

    Tengo un problema al momento de cargar el firmware se queda en 0%, tienen idea a que se pueda deber?

  6. Leandro às 19:56

    Boa noite, comprei uma placa dessa, porem ao atualizar com esse firmware que foi passado, o led do wifi do shield fica piscando super rapido depois de atualizado, e nao consigo acessar, nem comunicar com arduino, encontrei outros firmwares que funcionaram, porem noto que depois de algum tempo, ele para de responder a rede wifi para executar comandos junto ao arduino, tem ideia doque pode ser isso?

    • Euler Oliveira Autor às 20:04

      Olá Leandro.

      Este firmware disponibilizado é totalmente funcional, porém, se não for seguido a risca o tutorial, o resultado final será justamente este que relatou.

      Com certeza você esqueceu de fazer alguma configuração no ESP8266 Flash Download Tools v2.4, pois este problema costuma acontecer quando o flash não é feito da forma correta.

      Recomendo que veja a imagem 6 do tutorial e faça as configurações conforme é mostrado. Provavelmente você deixou o SpiAutoSet marcado e não configurou o SPI MODE em DOUT.

  7. wesley Silva às 14:46

    Boa tarde Euler Oliveira,

    eu consigo utilizar a plataforma BLYNK com esse shield + arduino?
    se sim teria algum tutorial com esse assunto?

    pretendo entrar com sinal de um sensor nas analog IN do arduino e enviá-las para o aplicativo blynk

    https://www.blynk.cc/

    • Euler Oliveira Autor às 14:59

      Olá Wesley Silva.

      Consegue sim.

      Já está na minha lista de artigos a serem feitos, contudo, tenho alguns artigos a respeito do Shield WiFi ESP8266 para serem feitos primeiro e que são de suma importância, principalmente para integração com o Blynk.

  8. Andrey às 15:11

    Good afternoon I bought the same shield ESP8266. To ARDUINO UNO connected the sensor SHT10, which displays the temperature and humidity values ​​in the serial port. When installing the shield on top of Arduino, and connecting the sensor to the shield connectors, the DIP switches are in the OFF position, the data output to the serial port is lost. Bent the shield contacts, then the information in the serial port is transmitted. The jumper setting determined that the data ceases to flow into the serial port after connecting the D1 shield contacts to the Arduino TX contact. It is unclear why DIP switches 1 and 2 on the switchboard are needed, if they do not disconnect the exchange with Arduino. Also I wanted to ask, I wanted to make a bunch of Arduino and ESP8266 for data transfer through MQTT-requests. On the shield installed firmware esp-link. You did not understand how to restore the functionality of the shield to connect to Arduino. That with the contacts off, you could flash Arduino and exchange data on the serial port. And when DIP switches 1 and 2 are turned on, they transmit data to the switchboard, and send them via ESP8266.

  9. Eliso Cavalli às 08:52

    O ESP-12E que tenho parte com velocidade serial de 74880 e o ESP FLASK DOWNLOAD aparentemente não tem esta opção.
    Tem alguma solução?

    Muito obrigado

    • Euler Oliveira Autor às 11:46

      Olá Eliso Cavalli.

      Você precisa alterar a taxa de transmissão do seu ESP8266.

      Basta utilizar o comando:

      AT+UART_DEF=9600,8,1,0,0

      O 9600 é a nova velocidade de transmissão da serial.

      • vitor às 17:25

        Olá Euler eu tenho um ESP8266 ESP 12e e na parte do ‘software esp flash’ eu aperto em start e ele fica conectando e não sai disso tem haver com essa frequência?

        Como eu altero ela? aonde eu ponho esse comando. conseguiria me explicar melhor ficaria muito grato.

  10. Marcin às 16:09

    Hi, great tutorial!!!
    Can you add tutorial how to use this shield? Witch library i have to use with this shield?
    Thanks for any replay.
    I stiil waitng for you next tutorial 😉

    Best regards,
    Marcin