Utilizando o Arduino para programar o ESP

Nada mais frustrante do que esperar aqueles 3 meses para o ESP chegar e ai descobrir que é necessário um conversor serial-USB para programá-lo. Essa frustração pode ser contornada se você tiver um Arduino em mãos.

Neste artigo, vou mostrar como usar um Arduino Nano para programar o ESP de forma muito fácil. Lembrando que pode ser utilizado qualquer modelo Arduino, não somente o Nano, inclusive genéricos.

Para esta utilização do Arduino como conversor serial-USB, não é preciso de nenhuma programação especial no Arduino, já que ele não será utilizado diretamente como um Arduino comum.

Esquema de ligação

Basicamente o esquema segue a imagem abaixo:

ESP com Arduino

Esquema de ligação


* Como o ESP opera com 3.3v e o Arduino com 5v, é necessário que o nível de tensão seja adequado para não danificar o ESP. Para isso use um simples divisor de tensão, conforme a figura anterior.

O pino de reset (RST) do Arduino deve ser conectado ao terra (GND) para que o Arduino não inicie, assim deixando o mesmo em situação de reset o tempo todo.

Demonstração

12 Comments

  1. Raphael

    Opa! Isso que me refiro.
    Excelente.

    Reply
  2. Jonni

    Tenho um ESP8266-01, Arduino nano, fiz todas as ligações que você fez, idênticas, mas, estou tendo o erro de

    “warning: espcomm_sync failed
    error: espcomm_open failed
    error: espcomm_upload_mem failed”

    Saberia dizer o que posso fazer para corrigir, tenho fonte externa, fiz toda a ligação, mas o erro persiste.

    Eu baixei do site do Arduino a IDE, lá fala 1.6.8, mas quando termino de instalar, 1.6.9. Instalei a biblioteca para a ESP da forma de sempre, tudo blz, mas, esse erro não sai por nada.

    Pode dar alguma luz sobre o que estou fazendo de errado.

    Ps.: Já baixei até a IDE 1.6.7, instalei a biblioteca e nada.

    Reply
    1. Jonni

      Eu que muita gente acaba tendo esse erro nos fóruns gringos, mas, nem sempre acham solução, somente revisar a protoboard, fiação e etc. Eu já verifiquei várias vezes, tá tudo certinho. A placa liga normal. Se eu não coloco o GPIO00 no GND, ela inicia, aparece até a rede que ela cria, enfim, ela está normal.

      Reply
    2. Pedro Minatel (Post author)

      Jonni, bom dia!

      Você usa no Linux ou Windows?
      Se for Linux, o programa em Python para fazer o upload não funciona muito bem no Linux, o ideal é trocar pelo esptool.py.

      Tem um tutorial que explica como fazer isso, só não tenho o Link agora para te passar.

      Obrigado!

      Reply
    3. joão Silva

      velocidade de baud rate errada geralmente o nano utiliza 9600 e o esp 115000 não fiz o teste mais configura a velocidade na ide do arduino para 115000.

      Reply
  3. Prof Telles

    Pedro, boa tarde.
    Tentei gravar o WEBSERVER (http://pedrominatel.com.br/arduino/web-server-com-esp8266-e-ide-arduino/), no ESP-01, através desse seu método via ARDUINO NANO e os seguintes erros aparece:
    (warning: espcomm_sync failed
    error: espcomm_open failed
    error: espcomm_upload_mem failed
    error: espcomm_upload_mem failed)

    Já verifiquei todas as conexões, troquei o ESP-01 por um igual, (tenho dois) e os erros persistem.
    Nesse vídeo acima, você utilizou qual método para gravar o ESP ?

    Desde já agradeço a atenção !

    Reply
  4. Leonardo

    Estou com o mesmo problema para enviar o código para o esp:
    (warning: espcomm_sync failed
    error: espcomm_open failed
    error: espcomm_upload_mem failed
    error: espcomm_upload_mem failed)

    Conexões estão normais, tentei realizar um reset no esp mas sem sucesso..
    Testei mudar a velocidade da porta mas nada deu certo até agora, a rede criada pelo esp aparece mas não consigo colocar ele em modo de programação…

    Reply
    1. Petter Lopes

      Olá Leonardo, pra não ocorrer esse erro eu costumo remover o GND e inserir novamente, antes de cada upload de código. Obs utilizo o Arduino Uno. Espero ter ajudado.

      Reply
  5. luiz cancela

    boa noite preciso muito da ajuda de alguém pois estou perdendo um grande projeto por não conseguir mais colocar o programa no meu nodemcu já fiz de tudo , tem alguém que pode me ajudar troquei cabo

    error: espcomm_upload_mem failed alguém consegui resolver este problema e porque ele aparece pois funcionava muito bem antes….

    agradeço a todos pela ajuda

    Reply
    1. Pedro Minatel (Post author)

      Luiz, boa parte dos erros com essa mensagem é devido a forma que o circuito está ligado e não é possível entrar em modo boot ou o CH_PD não está em VCC.
      Me descreva como está o circuito, por favor.

      Reply
  6. Wilson

    Estou usando o serial da placa arduino sem o controlador. Toda gravação conecto gpio0 no gnd, tiro o gnd do esp-01 e reconecto, depois reseto e mando gravar. Comigo funcionou.

    Reply
  7. luiz salgueiro

    nota 10 parabens

    Reply

Deixe seu comentário