Gravando firmware NodeMCU no ESP8266 ESP-01
Que tal programar o módulo Wifi ESP8266 ESP-01 utilizando Lua ? Isso é possível com o upgrade de firmware do módulo, já que a versão que vem de fábrica aceita apenas comandos AT. Neste tutorial, mostraremos como gravar o firmware NodeMCU no ESP8266 ESP-01.
Para realizar a gravação do firmware NodeMCU no ESP-01, vamos utilizar um módulo USB-TTL com chip FTDI, mas você pode usar outros conversores USB-Serial, e até mesmo um Arduino para fazer a ponte entre o computador e o ESP-01.
Conexão do módulo FTDI ao ESP-01
Conecte o conversor FTDI FT232 ao ESP-01 conforme o circuito abaixo. Não esqueça de mudar o jumper do módulo FTDI para a posição 3.3V, já que é essa a tensão de trabalho dos pinos do módulo ESP8266:
Para permitir a gravação do firmware, o pino GPIO0 do ESP-01 deve estar ligado ao GND, e deve ser desconectado quanto quisermos entrar em modo de programação.
Gravação do firmware NodeMCU no ESP-01
Primeiramente faça o download do firmware do NodeMCU neste link. Escolhemos o firmware nodemcu_integer, que consome menos memória:
Faça agora o download do programa de gravação do firmware, o NodeMCU Flasher. Não é necessária a instalação do programa, apenas descompacte o arquivo e execute o ESP8266Flasher.exe que está na pasta Win32Release (se o seu Windows for 32 bits), ou Win64Release (se o Windows for 64 bits) para que a tela principal do programa seja exibida, já com a porta serial (COM21, no nosso caso) do conversor FTDI:
Na aba Advanced acesse as configurações do programa e altere o Baudrate para 115200. Não é necessário mexer nos outros parâmetros.
Agora, vá até a aba Config e na primeira linha coloque o caminho (path) do arquivo do firmware que baixamos anteriormente. No campo relativo ao endereço, ao lado do nome do arquivo, selecione o endereço 0x00000:
Retorne à tela principal e clique no botão Flash(F). Aguarde o processo de upgrade. Se os endereços “MAC” do ESP-01 não forem detectados, desligue a alimentação do módulo por alguns segundos e ligue novamente
Finalizado o processo de upgrade, desconecte o pino GPIO0 para colocar o módulo em modo de programação.
Teste do firmware NodeMCU
Vamos testar o firmware gravado usando o ESPlorer, disponível neste link. Já vimos como usar esse programa no post Web Server com o módulo ESP8266 NodeMCU e DHT22. Depois de entrar no programa, selecione a porta serial do módulo FTDI e clique em Open.
Vamos ver se realmente funciona com a programação em Lua? Adicione um led ao circuito:
Na janela do lado esquerdo do ESPlorer, copie ou digite o programa abaixo, que vai piscar o led ligado à GPIO2 do ESP-01 em intervalos de 1 segundo:
-- Programa: Led com ESP8266 ESP-01 -- Autor: Arduino e Cia -- Configuracao pinos e variaveis pin = 4 --> GPIO2 value = gpio.LOW duration = 1000 --> 1 second -- Funcao que altera o estado do led function toggleLED () if value == gpio.LOW then value = gpio.HIGH else value = gpio.LOW end gpio.write(pin, value) end -- Inicializa a GPIO gpio.mode(pin, gpio.OUTPUT) gpio.write(pin, value) -- Executa a função toggleLED() tmr.alarm(0, duration, 1, toggleLED)
Clique no botão SEND to ESP para que o programa seja transferido para o módulo e automaticamente executado.
Gostou? Confira outros posts usando ESP8266 aqui mesmo no Arduino e Cia!
Olá!
Muito bom seu tutorial. Parabéns!
Eu acho que fiz algo errado.
A gravação do firmware ocorreu sem nenhuma mensagem de erro.
Em seguida, mudei a pinagem de alimentação, reconectei e abri o ESPlorer e ao abrir a porta, vi essa mensagem no console:
"Communication with MCU…
Got answer! AutoDetect firmware…
Communication with MCU established.
Can't autodetect firmware, because proper answer not received (may be unknown firmware).
Please, reset module or continue.
ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ¿ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ¿ÿÿÿÿ"
Verifiquei a porta no Gerenciador de dispositivos do Windows e alterei velocidade para 115200. Fechei tudo e continua apresentando erro.
Você pode me ajudar com esse erro?
Obrigado,
Oi Edwaldo,
Tentou outras velocidades ? Comece com 9600 e vá subindo.
Abraço!
conseguiu concertar este erro comprei um node e nao consigo de maneira nenhuma nem atualizar a firmware
Excelente tutorial! Parabéns, deu tudo certo!
Obrigado!
Opa! Bom poder ajudar… 🙂
Abraço!
Amigos, Bom Dia.
No tutorial "Conecte o Arduino na rede wireless 802.11 com o módulo ESP8266", vocês programaram somente o UNO ? Como ficam as configurações na ESP?
Oi Carlos,
Sim, nesse caso programamos somente o UNO, pois o ESP serve apenas para conexão à rede, não vai nenhuma programação nele.
Abraço!
E caso eu já tenha programado algo ? Consigo "resetar" as informações para default ?
Muito obrigado pelas informações !
Oi Carlos,
Consegue sim. No caso do ESP, você pode apagar arquivos, "formatar" o dispositivo ou gravar o firmware para voltar o módulo à configuração original.
Abraço!
Blza. Muito obrigado galera !!
Funciona direitinho
Bom dia.Parabéns, vcs sempre tirando as minhas dúvidas.
Poderia explicar como resetar, formatar e apagar arquivos do ESP8266-E12, com LUA ESPlorer.
Obrigado.
Oi Roberto,
Obrigado, no lado direito do ESPlorer tem um botão "formatar", ele apaga tudo que tem no ESP… 🙂
Abraço!
Olá, tenho muitas duvidas, rs. Gostaria de saber se apos conectar o arduino ao wireless consigo controlar ele atraves de um celular android, para movimentar servo motores e uma camera. Obrigada pela atenção
Oi Yara,
Consegue sim, você só tem que escolher um software de controle para Android.
Abraço!
Olá, tenho um nodemcu v3, o procedimento para atualização do firmware é o mesmo? No link disponibilizado do firmware não tem o arquivo bin..
Boa noite Eduardo,
O bin está na página sim. Não está no começo, está mais ou menos no meio da página.
Abraço!
Obrigado pela resposta;; Legal, consegui gravar o novo firmware.. Só me parece que não está respondendo os comandos AT.. Esse firmware disponibiliza o uso dos comandos AT?
Abraços
Olá! Excelente post! Tenho uma dúvida…fiz toda a programação do Firmware conforme você falou, e ao iniciar meu ESP01, ele fica enviando comando para o TX o tempo todo, sem parar. No Esplorer então, não consigo ver nada…Só comandos malucos. Alguem sabe o que pode ser? Estou utilizando Windows 10 para programar o firmeware. Abraços!
com faco no node?
Realizei todos os passos e funcionou perfeitamente até a conclusão da atualização do firmware. Já na hora de utilizar o ESPlorer aparecia "Communication with MCU…" e não aparecia mais nada. Esperei bastante tempo, testei todas as velocidades de baudrate(apesar de ter selecionado a 11520).
Otimo texto, tirou varias duvidas com a ligacao do ftdi com o esp-01, mas estou tendo problemas com a minha placa, quando comeca a fazer a transferencia da essa msg no log:
Note:Serial port connected.
Note:Begin find ESP8266.
Note:ESP8266 ACK success.
Note:Program flash success.
Note:ESP8266 ACK success.
Note:Set base address success.
Error:Write flash timeout.
Alguem sabe oq pode ser esse erro?
Oi Flavio,
Tentou mexer na velocidade da serial? Tente um valor menor, por favor.
Abraço!
Adilson
Boa Noite
Obrigado por responder e desculpe na demora pra voltar no site.
Usei todas as velocidades e com uma placa sempre da esse erro.
Error:Write flash timeout.
na outra placa, nao tive muita sorte, ja veio baleada. nunca funcionou.
bom dia. o programa chegou até esse ponto:
Note:Serial port connected.
Note:Begin find ESP8266.
mas não passa disso, nem reconhece o AP MAC e STA MAC.
Alguém sabe oq pode ser?
Olá. Dúvida. É possível reprogramar os pinos TX e RX de um ESP01 para junto com os outros GPIOs ter um ESP01 standalone com 4 GPIO? Grato.
Oi Lissandro,
É possível sim. Você pode simplesmente usar esse pinos como uma porta/GPIO "comum". Isso não vai afetar a programação do módulo, já que nesse modo os pinos continuarão com a função RX e TX, ok?
Abraço!
Adilson
ola, nao fiz a instalacao do nodemcu, nao deu nenhum erro, porem quando entro no explorer e clico em open, fica parado na mensagem "comunication with MCU…". o que pode estar errado?
Oi Tiago,
Tentou com outras velocidades de comunicação? (9600,19200, etc?)
Abraço!
Adilson
[…] gravação do ESP-01, recomendo que você siga os passos do post Gravando firmware NodeMCU no ESP8266 ESP-01, principalmente no que se refere a conexão do módulo e programação via […]
[…] programar o ESP-01 via serial usei o mesmo esquema mostrado no post Gravando firmware NodeMCU no ESP8266 ESP-01, com um conversor FTDI FT232. Você também pode usar um Arduino para programar o ESP-01, por […]
[…] Maiores informações sobre o uso e conexão do módulo FTDI com ESP8266, inclusive para programação, você encontra no post do nosso parceiro Arduino e Cia. […]