Como programar o NodeMCU com IDE Arduino 63

O NodeMCU pode ser programado usando Lua, como vimos no post Como Programar o Módulo ESP8266 NodeMCU. Apesar da facilidade de uso do Lua, você também tem a opção de programar na linguagem padrão do Arduino, utilizando inclusive a mesma IDE. Então aperte os cintos e veja como é fácil programar o NodeMCU com IDE Arduino.

Isso pode ser feito por meio do gerenciador de placas da IDE, onde vamos incluir não só o NodeMCU, mas também outras placas da família ESP8266.

Configuração da IDE do Arduino para o NodeMCU

Entre na IDE do Arduino e clicar em Arquivo -> Preferências:

IDE-Arquivo

Na tela seguinte, digite o link abaixo no campo URLs adicionais de Gerenciadores de Placas:

http://arduino.esp8266.com/stable/package_esp8266com_index.json

A sua tela ficará assim:

IDE-Preferencias

Clique em OK para retornar à tela principal da IDE

Agora clique em Ferramentas -> Placa -> Gerenciador de Placas:

IDE-Menu-Ferramentas-Placa

Utilize a barra de rolagem para encontrar o esp8266 by ESP8266 Community e clique em INSTALAR

IDE-Gerenciador-de-placas

Após alguns minutos as placas da linha ESP8266 já estarão disponíveis na lista de placas da IDE do Arduino.

Programar NodeMCU com IDE Arduino

O último passo é programar o NodeMCU com IDE Arduino, e vamos fazer isso montando o circuito abaixo, com um led ligado nos pinos GND e D7, que é o pino correspondente à porta 13 na programação do Arduino:

Circuito Básico NodeMCU

Carregue na IDE o exemplo blink, ou use o programa abaixo:

void setup() {
// Define o pino 13 como saida
pinMode(13, OUTPUT);
}
void loop() {
digitalWrite(13, HIGH); // Acende o Led
delay(1000); // Aguarda 1 segundo
digitalWrite(13, LOW); // Apaga o Led
delay(1000); // Aguarda 1 segundo
}

No menu Ferramentas -> Placas, selecione a placa NodeMCU 1.0 (ESP 12-E module)

IDE-Selecao-Placa

Transfira o programa normalmente para o NodeMCU, do mesmo jeito que você faz com as outras placas Arduino.

No menu da IDE, em Arquivo -> Exemplos, serão adicionados vários exemplos de uso das placas ESP8266, como webserver, httpclient e DNS, entre outros.

 Gostou? Deixe seu comentário logo abaixo. Em caso de dúvidas, caso queira trocar uma ideia, ou até mesmo dividir seu projeto, acesse nosso Fórum!

Deixe uma resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

63 Comentários

  1. Está usando o Fritzing para desenhar a protoboard e o ESP? Se sim, onde posso baixar o ESP para o fritzing?

    1. Boa tarde Miguel,

      Você pode encontrar os componentes ESP8266 neste link: https://github.com/ydonnelly/ESP8266_fritzing

      Abraço!

      Adilson – Equipe FILIPEFLOP

      1. Sabe onde posso encontrar o NodeMCU ao invés do ESP8266 para Fritzing?

  2. Como ficaria o programa do exemplo feito no Lua (ligar o led pela web) na IDE do Arduino? O que muda?
    Grato
    Josué

  3. É possível usar algumas bibliotecas do arduino (por exemplo: servo.h) no ESP8266?

    1. Boa tarde Thiago,

      Funciona, se a biblioteca não depender de “timers”, senão nada feito. Mais informações sobre timers você encontra neste link: http://playground.arduino.cc/Code/Timer1

      Abraço!

      Adilson – Equipe FILIPEFLOP

  4. Boa noite,

    Seria possível conectar um teclado matrix com a ESP8266, fazer com que ela interpretasse as teclas e mandasse para um webserver?

  5. Olá! É possível usar a Biblioteca IRRemote no ESP8266?
    Você teria um exemplo de programação usando WiFi?

  6. Fiz um projeto de automação do ar-condicionado reserva da empresa com o nodemcu, modulo relé, dht22 e um mq-2. Usando programação via Lua não funcionou de forma alguma, o nodemcu travava a todo momento. Utilizando C via arduino IDE, funcionou perfeitamente, agora já em produção.

    1. Pode compartilhar mais informações sobre o projeto? Tô começando algo parecido aqui, pra ativar o ar condicionado reserva de um CPD e monitorar temperatura e umidade.

  7. Qual a correspondência entre os pinos do arduino e do nodemcu? Vi que no código usaste o pino 13, mas na conexão com a placa foi usado o pino d07 da placa.
    Ps: Parabéns pelas postagens. Muito esclarecedores e bons para quem está engatinhando na área como eu como. eu

    1. Boa tarde José,

      Eu achei uma tabela que você pode usar como referência:

      NodeMCU – Arduino
      D0 = 16;
      D1 = 5;
      D2 = 4;
      D3 = 0;
      D4 = 2;
      D5 = 14;
      D6 = 12;
      D7 = 13;
      D8 = 15;
      D9 = 3;
      D10 = 1;

      Abraço!

      Adilson – Equipe FILIPEFLOP

      1. Adilson, muitíssimo obrigado, salvou cara!!

  8. Show !! Inaugurei a minha placa hoje… Funcionou perfeitamente !!!

  9. como fazer para passar pelo proxy alguem sabe ?

    1. Também gostaria de saber

  10. Alguém já utilizou esse módulo no mac os?

    Não aparece nenhuma porta para enviar o programa.

  11. Tenho um código pronto se eu instalar tudo certinho como pede no inicio desta pagina, e conectar meus sensores como conecto no Arduíno nano ou uno, funciona?

  12. Comprei um nodeMCU no site da FilipeFlop, segui o passo a passo mas na hora do upload do código acontece o seguinte erro:
    warning: espcomm_sync failed
    error: espcomm_open failed
    error: espcomm_upload_mem failed

    A única porta disponível é a /dev/cu.Bluetooth-Incoming-Port.
    Alguém sabe como resolver?
    Thanks!
    Tulius

    1. Estou rodando o Arduino IDE 1.6.11 em um Mac (El Captain 10.11.6).

      1. Tulius,

        Também passei pelo mesmo problema, é que o mac os vem instalada a interface mini usb que NODEMCU possui, resolvi instalando o driver: CH341SER_MAC, procura por isso no google que você deverá encontrar o driver, e ai basta instalar que você verá na seleção das portas o NODEMCU.

        1. *mac os não vem instalada…

          1. It’s alive!!!!

            Thanks pela ajuda!

    2. Cara, acabei de passar por isso e estou usando MacOS High Sierra.
      Consegui resolver este tutorial: http://rossbates.com/2016/01/30/getting-started-esp8266-osx/

  13. Qual a fonte (tensão/amperagem) externa eu devo usar para alimentar a minha placa esp8266 12e NodeMCU?

    1. Não sei se ajuda, mas em meus trabalhos da faculdade uso uma fonte de 5V, e no máximo 2,2A.

  14. Boa tarde!

    Fiz todo o procedimento, mas quando vou descarregar o “blink” para o NodeMCU o mesmo da erro de compilação. essa é a mensagem do erro.
    exec: “C:\Users\hp\AppData\Local\Arduino15\packages\esp8266\tools\xtensa-lx106-elf-gcc\1.20.0-26-gb404fb9-2/bin/xtensa-lx106-elf-g++”: file does not exist
    Erro compilando para a placa NodeMCU 1.0 (ESP-12E Module)

    alguém pode me ajudar, porque no meu computador não tem esse arquivo?
    xtensa-lx106-elf-g++

    Alysson ferreira da Silva
    1. Alysson ferreira da Silva
      VOCE CONSEGUIU RESOLVER ESSE ERRO ???

  15. Boa tarde, também fiz o mesmo procedimento, mas no meu compila (a compilação em si se dá sem erros) e depois aparece os seguintes erros, sendo que a porta está correta, e tudo mais, porém o SO não reconhece o dispositivo por algum motivo, já troquei de cabo, de computador, de versão do IDE, Sistema Operacional, e nada adiantou. Aparentemente o dispositivo é “estranho” ao Sistema Operacional. Alguém poderia me dar uma ideia do que acontece?

    warning: espcomm_send_command: wrong direction/command: 0x00 0x08, expected 0x01 0x08
    warning: espcomm_send_command: wrong direction/command: 0x00 0x08, expected 0x01 0x08
    warning: espcomm_send_command: wrong direction/command: 0x00 0x08, expected 0x01 0x08
    warning: espcomm_send_command: wrong direction/command: 0x00 0x08, expected 0x01 0x08
    warning: espcomm_send_command: wrong direction/command: 0x00 0x08, expected 0x01 0x08
    warning: espcomm_send_command: wrong direction/command: 0x00 0x08, expected 0x01 0x08
    warning: espcomm_send_command: wrong direction/command: 0x00 0x08, expected 0x01 0x08
    warning: espcomm_send_command: wrong direction/command: 0x00 0x08, expected 0x01 0x08
    warning: espcomm_send_command: wrong direction/command: 0x00 0x08, expected 0x01 0x08
    warning: espcomm_sync failed
    error: espcomm_open failed
    error: espcomm_upload_mem failed

    Att, Paulo

    1. Estou com o mesmo problema.

      O dispositivo está funcionando; Ele carrega uma SID de rede wifi logo que o conecto ao PC, e está distribuindo IP via DHCP. Mas no gerenciador de dispositivos, a porta COM (USB-SERIAL) não foi instalada. Tentei instalar o CH340 na mão, mas não resolveu; ainda não é reconhecido pelo SO.

      Alguma sugestão?

      1. Bom dia!

        Chegasse a testar o CH341SER disponível em http://www.doit.am/ ? No meu caso foi o único que funcionou para este dispositivo específico descrito no tutorial.

        Att, Paulo Luis

  16. O ESP 8266 nodeMCU consegue repetir o sinal wifi?

  17. Olá Equipe Filipe Flop!
    Comprei uma placa ESP8266 aqui na LOJA VIRTUAL mas não consigo fazer funcionar.
    Arduino IDE 1.6.9, tenho um MAC….
    Aparece o seguinte erro:

    warning: espcomm_sync failed
    error: espcomm_open failed
    error: espcomm_upload_mem failed

    Como resolvo isso?

    Agradeço.

    1. tambem estou com o mesmo problema! adquiri recentemente e ta apresentando essa mensagem@

    2. É necessário colocar o ESP12 em modo de gravação, para isso apertee segure o botão flash e, em seguida, restart depois solte o restart e, em seguida, o flash

      1. Luiz, efetuei este procedimento e não obtive suesso

      2. Deu certo! Comprei recentemente o modulo, https://www.filipeflop.com/produto/modulo-wifi-esp8266-nodemcu-esp-12/ DEVKIT V3 na tdc floripa, fiz esse procedimento e deu certo, obg!

    3. Boa tarde Wagner,
      Conseguiu resolver seu problema. Estou com o mesmo. Obrigado

  18. Oi, recentemente comprei um modulo NodeMCU e recebi corretamente um Doit ESP-12F, acontece que ele não é “enxergado” pelo Arduino IDE 1.8.1. Em outras palavras a placa mais atualizada que aparece no IDE é: NodeMCU 1.0 (ESP-12 E Module). E nas portas não é reconhecida a placa. Vocês podem me orientar sobre como resolver? Obrigado

  19. Estava tendo recebendo o erro :

    warning: espcomm_sync failed
    error: espcomm_open failed
    error: espcomm_upload_mem failed

    A luz do NODEMCU ficava acessa mas nada do windows sinalizar que o dispositivo estava conectado como quando colocava o arduino e o windows 10 faz um som.

    Descobri o erro. Estava usando um cabo USB que era apenas para carregar celular. Troquei o cabo e o windows reconheceu o NODEMCU

    Paulo Evaristo Cabral
  20. O link: http://arduino.esp8266.com/stable/package_esp8266com_index.json, não está funcionando, é informando na IDE do arduino que não é possivel acessar …..

    Sérgio Andrade Marques
  21. Boa tarde, estou com mensagem de erro no momento de compilar meu código.
    warning: espcomm_sync failed
    error: espcomm_open failed
    error: espcomm_upload_mem failed
    Computador reconhece a o Node, gera porta COM21 normal. Mas está dando este erro e não consigo compilar.
    Alguém pode me ajudar? Obrigado

    1. Mantenha o botão FLASH pressionado até o upload iniciar. Após iniciar, você pode despressionar o botão.

  22. Bom dia.
    Estou recebendo está mensagem, podem me ajudar a resolver o problema?
    Erro compilando para placa NodeMCU 1.0 (ESP- 12E Module)

    Placa nodemcuv2 (plataforma esp8266, pacote esp8266) é desconhecida

    Erro compilando para a placa NodeMCU 1.0 (ESP-12E Module)

    Grato.

    1. Tente mudar a placa para NodeMcu 0.9 e taxa de upload para 115200.

  23. Olá,

    Estou tentando fazer um analogRead e obtenho valores aleatórios sempre.

    O que pode estar acontecendo?

    Obrigada.

  24. Alguém pode me ajudar estou a usar o nodemcu v2, o mesmo fornece o IP 192.168.4.1, quando eu tento acessar fala página inexistente, já upei um codigo HELLO WORD! mas mesmo assim fala página inexistente alguém pode me ajudar?

  25. Bom dia prezados

    Estou aventurando neste processo de automação e gostaria de saber como faço para controlar duas lâmpadas através do Esp-8266 Esp-12f?

    Grato!

  26. Estou como o problema.
    As vezes quando vou copilar ele apresenta o seguinte erro.

    Error: Failed to open COM3
    Error: espcomm_open failed
    Error: espcomm_upload_mem failed

  27. Boa Tarde, fiz todos os passos do tutorial porem minha IDE não baixa as placas ESP gostaria de saber se sabe o motivo ele da a seguinte mensagem de erro:
    Erro durante o download de https://github.com/esp8266/Arduino/releases/download/2.3.0/esp8266-2.3.0.zip
    java.lang.RuntimeException: java.lang.Exception: Erro durante o download de https://github.com/esp8266/Arduino/releases/download/2.3.0/esp8266-2.3.0.zip
    at.cc.arduino.contributions.packages.ui.ContributionManagerUI.lambda$onInstallPressed$1(ContributionManagerUI.java:176)

  28. EStou precisando de ajuda.

    Não consigo fazer nada com o meu NodeMCU. todo programa de carrego me dá essa mensagem abaixo. O que devo fazer?

    Opções de compilação alteradas, recompilando tudo
    Archiving built core (caching) in: C:\Users\Admin\AppData\Local\Temp\arduino_cache_296467\core\core_esp8266_esp8266_nodemcuv2_CpuFrequency_80,UploadSpeed_115200,FlashSize_4M3M_e0be19f79144f4e6e3b9a8ded3138595.a
    O sketch usa 222201 bytes (21%) de espaço de armazenamento para programas. O máximo são 1044464 bytes.
    Variáveis globais usam 31576 bytes (38%) de memória dinâmica, deixando 50344 bytes para variáveis locais. O máximo são 81920 bytes.
    warning: espcomm_send_command: wrong direction/command: 0x00 0x08, expected 0x01 0x08
    warning: espcomm_send_command: wrong direction/command: 0x00 0x08, expected 0x01 0x08
    warning: espcomm_send_command: wrong direction/command: 0x00 0x08, expected 0x01 0x08
    warning: espcomm_send_command: wrong direction/command: 0x00 0x08, expected 0x01 0x08
    warning: espcomm_send_command: wrong direction/command: 0x00 0x08, expected 0x01 0x08
    warning: espcomm_send_command: wrong direction/command: 0x00 0x08, expected 0x01 0x08
    warning: espcomm_send_command: wrong direction/command: 0x00 0x08, expected 0x01 0x08
    warning: espcomm_send_command: wrong direction/command: 0x00 0x08, expected 0x01 0x08
    warning: espcomm_send_command: wrong direction/command: 0x00 0x08, expected 0x01 0x08
    warning: espcomm_sync failed
    error: espcomm_open failed
    error: espcomm_upload_mem failed
    error: espcomm_upload_mem failed

  29. GOSTARIA DE TE AGRADECER POR ME AJUDAR COM ESSE TUTORIAL , ME AJUDOU MUITO CONSEGUI RESOLVER MEU PROBLEMA

    Daniel Markiewicz Souza
  30. Oi Adilson! Gostaria de abrir/salvar este código no esp8266 (NodeMCU) mas, estou com dificuldades:

    /*
    ESP8266 Blink by Simon Peter
    Blink the blue LED on the ESP-01 module
    This example code is in the public domain

    The blue LED on the ESP-01 module is connected to GPIO1
    (which is also the TXD pin; so we cannot use Serial.print() at the same time)

    Note that this sketch uses LED_BUILTIN to find the pin with the internal LED
    */

    #include //inclui a biblioteca DS1307

    DS1307 rtc(A4, A5); //inicializa entradas

    #include //inclui a biblioteca UTFT

    extern uint8_t DotMatrix_M[]; //Liga a fonte DotMatrix_M (http://www.rinkydinkelectronics.com/r_fonts.php)
    extern uint8_t SevenSeg_XXXL_Num[]; //(http://www.rinkydinkelectronics.com/r_fonts.php)

    UTFT myGLCD(TFT01_22SP,9,8,12,11,10); //Liga o display TFT01_22SP

    void setup() {
    rtc.halt(false); //inicializa o relógio
    myGLCD.InitLCD(); //inicializa o display
    myGLCD.fillScr(0, 0, 0); //mostra a tela em preto
    }

    // the loop function runs over and over again forever
    void loop() {
    String stringOne = rtc.getTimeStr();

    myGLCD.setColor(65, 105, 225); //cor da fonte das horas
    myGLCD.setFont(SevenSeg_XXXL_Num); //fonte para exibir
    myGLCD.print(stringOne.substring(0,2), 12, 60); //indicação das horas
    myGLCD.print(stringOne.substring(3,5), 180, 60); //indicação dos minutos
    myGLCD.fillCircle(160, 88, 7); //Ponto superior
    myGLCD.fillCircle(160, 133, 7); //Ponto inferior

    myGLCD.setColor(0, 255, 0); //cor da fonte da data
    myGLCD.setFont(DotMatrix_M); //fonte para exibir
    myGLCD.print(rtc.getDateStr(), 80, 190); //exibição da data
    }

    É um simples Relógio Digital com Display TFT e DS1307.
    Usa 2 fontes: ‘DotMatrix_M’ e ‘SevenSeg_XXXL_Num’

    A questão de eu querer usá-lo no esp8266, é pelo fato de o Arduino Uno não ter memória suficiente;
    Se vc puder me ajudar, lhe agradeço muito.

  31. O link http://arduino.esp8266.com/stable/package_esp8266com_index.json não está funcionando de jeito nenhum. Alguma solução?

  32. Boa noite !
    Não estou conseguindo instalar a biblioteca esp8266 by ESP8266 community no arduino.
    Teria alguma recomendação ?

  33. tem alguma diferença se eu utilizar em vez do driver ch340 como mostra na foto, eu utilizar o cp210?

     

  34. Não consegui fazer o upload de nenhum código em meu ESP8266 12E nodeMCU, estou tentando utilizar a IDE arduino e mesmo após todas as configurações sempre me retorna a seguinte mensagem:

    warning: espcomm_sync failed
    error: espcomm_open failed
    error: espcomm_upload_mem failed
    error: espcomm_upload_mem failed

    Alguém pode me ajudar?

  35. Olá,
    Eu pesquisei em todos os posts e percebi que tem muita gente com a mesma dúvida q a minha.
    Recentemente comprei o Esp8266.

    utilizo Windows 7 x64 e instalei o drive CH340G que tem no tutorial da Robocore.
    A porta COM11 foi habilitada, configurei na IDE do arduino as preferencias, depois instalei a no gerenciador de placas o ESp8266. Fiz a escolha da placa conforme o tutorial da filipeflop, mas ao compilar apresenta a seguinte mensagem:

    Arduino: 1.8.5 (Windows 7), Placa:”NodeMCU 1.0 (ESP-12E Module), 80 MHz, Flash, 4M (1M SPIFFS), v2 Lower Memory, Disabled, None, Only Sketch, 115200″

    Opções de compilação alteradas, recompilando tudo
    exec: “C:\\Users\\Cliente\\AppData\\Local\\Arduino15\\packages\\esp8266\\tools\\xtensa-lx106-elf-gcc\\1.20.0-26-gb404fb9-2/bin/xtensa-lx106-elf-g++”: file does not exist
    Erro compilando para a placa NodeMCU 1.0 (ESP-12E Module)

    Este relatório teria mais informações com
    “Mostrar a saida detalhada durante a compilação”
    opção pode ser ativada em “Arquivo -> Preferências”

    Alguém sabe a solução para esse tipo de falha na compilação?
    Obrigado

    1. Olá Mezaque!

      O seu ESP funciona como microcontrolador?

      Dê uma olhada nesse tutorial, pode te ajudar:
      https://www.filipeflop.com/blog/guia-do-usuario-do-esp8266/

      Abraços!

      André – Equipe FilipeFlop

Trackbacks and Pingbacks

  1. […] O NodeMCU pode ser facilmente programado usando a IDE do Arduino como visto no post Como programar o NodeMCU com IDE Arduino.  […]