8 Comentários

Gravando o ESP8266-01 na IDE Arduino

ESP8266-01

Os módulos ESP8266 são muito poderosos e bem conhecidos dos profissionais e hobistas da área de eletrônica. Hoje vamos falar sobre o módulo mais básico dessa família, o ESP8266-01, e como podemos desenvolver firmware para ele fazendo upload direto da IDE do Arduino.

Requisitos

Para utilizarmos o ESP8266 na IDE do Arduino é necessário que o pacote do módulo esteja instalado. Na versão atual da IDE (1.6.12) o pacote já vem instalado, nas versões anteriores (a partir da versão 1.6.4) este pacote pode ser instalado manualmente. Caso precise fazer essa instalação basta seguir esses passos bem simples:

  • Ir em Arquivo/Preferências e no campo “URLs Adicionais de Gerenciamento de Placas” inserir o link do pacote ESP8266, depois clique em OK.
  • Ir em Ferramentas/Placa:/Gerenciador de Placas. Procure pelo pacote do ESP8266 e instale.
  • Em Ferramentas/Placa agora devem aparecer várias versões dos módulos ESP.

Para fazer a comunicação com o módulo precisaremos de um conversor USB-Serial, eu irei utilizar o conversor que usa o chip FT232R da FTDI.

Pode ser necessário fazer a compatibilização de tensão de 5V para 3,3V, mais a frente daremos opções de como fazer isso e os itens necessários.

Para iniciar o ESP8266-01 em modo de programação pela serial iremos precisar de ao menos 2 botões e 3 resistores de 10KR.

Configuração

Com o pacote instalado, devemos ir em Ferramentas/Placa: e selecionar o primeiro item “Generic ESP8266 Module”.

Volte em ferramentas e verifique se a configuração está como na imagem a seguir. Se não estiver, configure os campos que estiverem diferentes. Você deverá escolher a porta correspondente ao conversor USB-Serial que irá usar.

Configuração do módulo ESP8266-01 na IDE Arduino
Figura 1 – Configuração do módulo ESP8266-01 na IDE Arduino

Vamos fazer o upload do exemplo Blink do ESP8266 para fazer a demostração. Para isso vamos em Arquivo/Exemplos/ESP8266/Blink.

Exemplo de Blink led usando ESP8266.
Figura 2 – Exemplo de Blink led usando ESP8266.

Este exemplo deverá piscar o led azul do módulo ESP8266-01 que é ligado ao GPIO1 (compartilhado com o pino TX da serial).

Para fazer o upload do exemplo para o módulo é importante que tenhamos comunicação serial entre a IDE e o módulo e que o módulo esteja em modo de programação pela serial.

Para fazer a comunicação utilizamos um conversor USB-Serial FT232. A grande vantagem de utilizar este conversor é que ele tem um regulador interno de 3,3V, o que possibilita alimentarmos o ESP a partir dele e elimina a necessidade de um conversor de nível para a linha serial (5V – 3,3V). Para fazer com que o conversor funcione com 3,3V existe na placa um jumper para configuração. É muito importante checar esse jumper antes de iniciar as ligações.

Módulo FT232 e detalhe de jumper e saída de 3,3V
Figura 3 – Módulo FT232 e detalhe de jumper e saída de 3,3V.

Neste momento é importante reforçarmos que o módulo ESP funciona com 3,3V, portanto, a ligação de 5V em seus pinos de alimentação, IOs ou serial pode danifica-lo permanentemente.

Além da comunicação, precisamos colocar o módulo em modo de programação serial, fazemos isso reiniciando o módulo com o GPIO0 em nível baixo. Para isso precisamos de dois botões, um para o reset e outro para o GPIO0 (o reset também é acionado em nível baixo), e alguns resistores para usar como pull up.

Abaixo segue o circuito utilizado para fazer a gravação do ESP-01.

Ligação do FT232 com o ESP-01
Figura 4 – Ligação do FT232 com o ESP-01.

É possível utilizar outro conversor USB-Serial para fazer a gravação, para isso será necessário usar um regulador de tensão para 3,3V para alimentar o ESP, podemos utilizar o regulador LM1117-3,3. Para a comunicação serial, devemos fazer a conversão do nível que vem do pino TX do conversor para o RX do ESP, podemos utilizar um conversor de nível lógico ou um simples divisor resistivo.

Abaixo vemos o esquema de montagem para gravação do ESP-01 usando um outro conversor USB-Serial. Utilizamos o LM1117-3,3 como regulador e dois resistores (180R e 330R) ligados à linha TX do conversor fazendo o divisor resistivo.

Ligação de conversor USB-Serial com ESP-01 e regulador LM1117
Figura 5 – Ligação de conversor USB-Serial com ESP-01 e regulador LM1117.

Upload do firmware

Com o circuito montado e devidamente testado, voltamos a IDE do Arduino. Com o Blink aberto, mantemos pressionado o botão correspondente ao GPIO0 e damos um pulso no botão correspondente ao reset do ESP-01.

Devemos perceber que o led azul do ESP-01 pisca, neste momento ele está em modo programação via serial, podemos soltar o botão do GPIO0.

Na IDE, mandamos fazer o upload de firmware e aguardamos o termino da gravação.

IDE Arduino fazendo o upload de firmware do ESP-01
Figura 6 – IDE Arduino fazendo o upload de firmware do ESP-01.

Se tudo correu bem, devemos ver o módulo ESP8266-01 piscando o led azul.

Blink no ESP8266-01 pelo Arduino IDE.
Figura 7 – Blink no ESP8266-01 pelo Arduino IDE.

Conclusão

Neste artigo vimos como utilizar a IDE do Arduino para programar o ESP8266-01 e como gravar o módulo pela própria IDE. Agora você já tem a ferramenta para criar seus códigos direto no ESP. Oque pretende fazer com ela? Deixe seu comentário falando sobre seus projetos e ideias com o ESP-01. Grande abraço e até a próxima.

Licença Creative Commons Esta obra está licenciada com uma Licença Creative Commons Atribuição-CompartilhaIgual 4.0 Internacional.

Receba os melhores conteúdos sobre sistemas eletrônicos embarcados, dicas, tutoriais e promoções.

Arduino » Gravando o ESP8266-01 na IDE Arduino
Comentários:
8 Comentários
recentes
antigos mais votados
Inline Feedbacks
View all comments
Gilson
Gilson
09/03/2018 23:31

Não consigo de forma alguma instalar esp8266 na ide do arduino. O que pode ser?

Jorge Liberato Delfino
Jorge Liberato Delfino
22/11/2017 23:09

Olá Josemar, tudo certo?

Estou em um trabalho de conclusão de curso e tendo problemas pra implementar essa biblioteca. Tenho somente o ESP-01 8266 e o adaptador com 4 saídas (link abaixo). Achas possível eu conseguir gravar o programa no módulo somente com esse adaptador do link e o adaptador usb-serial?
Link: https://www.filipeflop.com/produto/adaptador-para-modulo-wifi-esp8266-esp-01/
Abraços.

Wellington Passos
Wellington Passos
07/06/2017 20:55

Seguidos estes passos e realizada a programação com sucesso, como retornar o ESP-01 ao modo de operação por comandos AT? Estou levando em conta que não foi necessário gravar nenhum tipo de bootloader antes de seguir este passo-a-passo.

Josemar Alves de Carvalho
Josemar
Reply to  Wellington Passos
12/06/2017 14:01

Ola Wellington.
Atualize o firmware do seu ESP. Tente seguir este tutorial:

https://www.jonis.com.br/2016/01/30/atualizar-firmware-do-modulo-esp8266/

Wellington Passos
Wellington Passos
Reply to  Josemar
12/06/2017 14:09

Valeu pela dica!!!

Igor Albuquerque
Igor
12/11/2016 20:18

Segui um passo-a-passo semelhante ao descrito no seu tutorial e o código funcionou corretamente. No entanto, quando eu tento incluir a biblioteca ESP8266WiFi.h para fazer algo mais sofisticado, começo a ter problemas. Mantive o mesmo código que você apresentou e só acrescentei um #include no início. A IDE compilou e fez o upload normalmente. Porém o ESP8266 para de executar o código para piscar o LED, e fica resetando a cada 8 segundos mais ou menos. Pela serial, recebo a seguinte mensagem: ets Jan 8 2013,rst cause:4, boot mode:(3,7) wdt reset load 0x4010f000, len 1384, room 16 tail 8 chksum… Leia mais »

Josemar Alves de Carvalho
Josemar
Reply to  Igor
13/11/2016 15:12

Ola Igor.

A versão atual do pacote para usar o ESP na IDE do arduino é a 2.3.0, eu tive alguns problemas de conexão com essa versão mas não esse que você está mencionando.

A versão 2.2.0 do pacote não apresentou nenhum problema, faça o downgrade do pacote no gerenciador de placas do arduino e veja se resolve seu problema.

Talvez você goste:

Séries

Menu

WEBINAR
 

BlueNRG-LP – Bluetooth 5.2 de longo alcance para aplicações industriais

Data: 05/11 às 15:00h - Apoio: STMicroelectronics
 
INSCREVA-SE AGORA »



 
close-link