Microcontroller Tutorials

Arduino, Raspberry Pi, PIC, Beaglebone Resources

Intro to NodeMCU and Arduino IDE

The NodeMCU is a development board featuring the popular ESP8266 WiFi chip. As it turns out, you can program the ESP8266 just like any other microcontroller. Its obvious advantage over the Arduino or PIC is that it can readily connect to the Internet via WiFi. However, the ESP8266 breakout board has limited pins although the chip itself has a lot of output ports. The NodeMCU solves this problem by featuring 10 GPIO pins each capable of using PWM, I2C and 1-wire interface.

nodemcu v1.0

This ESP8266 development board really looks like an Arduino Nano. Speaking of Arduino, another advantage of this board is that you can connect it directly to your PC or Mac and program it like an Arduino! In fact, that's what I'm going to show you in this tutorial.

Video Tutorial

Here's how to program the NodeMCU using the Arduino IDE.

Step 1: Connect your NodeMCU to your computer

You need a USB micro B cable to connect the board. Once you plugged it in, a blue LED will start flashing. If your computer is not able to detect the NodeMCU board, you may need to download the driver on this page.

Step 2: Open Arduino IDE

You need to have at least Arduino IDE version 1.6.4 to proceed with this.

Go to File > Preferences. In the "Additional Boards Manager URLs" field, type (or copy-paste) http://arduino.esp8266.com/stable/package_esp8266com_index.json. Don't forget to click OK!

nodemcu-arduino-1

Then go to  Tools > Board > Board Manager. Type "esp8266" in the search field. The entry "esp8266 by ESP8266 Community" should appear. Click that entry and look for the install button on the lower right.

nodemcu-arduino-2

Once the download is complete, you can start coding!

Step 3: Make a LED blink using NodeMCU

For our first program, we'll blink a LED connected to one of the digital pins of the board. But before that, you need to know that the pin names printed on the board are not the pin names we'll be using for our program. BTW, I'm using NodeMCU V1.0. See my NodeMCU pinout article if you have the other versions of the board.

NodeMCUv1.0 Pinout

In this example, I'll connect the LED to D7 as it is printed on the board. D7 is GPIO13 according to the image above. You can follow the wiring diagram below:

NodeMCU Web Server LED control

And so here's my code (which is basically the example Blink code in Arduino):

Click the upload button and wait for the "Done Uploading" text to appear.

nodemcu blink

It's alive!

On my next post, we'll be controlling the LED via a web browser.

4 thoughts on “Intro to NodeMCU and Arduino IDE

  1. Hallo,
    thank you for this tutorials - I´m a newcomer and will start programming.
    I think I´ve understood and will get it to work

    now I´m on Holiday - but start with the theoretical part.

    greetings

    Gerhard

  2. Sir, how do we connect multiple Adruinos(Arduino Mega-2560) to a single Node MCU in order to flush the data coming from those multiple Arduinos?
    Is it possible to connect the node wirelessly to all the arduinos?

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.