Introduction: The First Usage of NodeMCU ESP12E DEVKIT V2

Today, I am going to show you how to use NodeMCU ESP12E DEVKIT V2 for the first time. At very first, let's call this board as NodeMCU development board, although it has got ESP8266MOD Module on it, that makes this board is fit to call development board enough. Or, whatever you call it is okey. NodeMCU board lets us to go to the internet via Wi-Fi. Such shields Arduino Wi-Fi Shield, ethernet shield; NodeMCU is much more powerful than the others, I think.

The need list:


Note: There are two version types of NodeMCU: NodeMCU v0.9 with ESP-12 module, and NodeMCU v1.0 with ESP-12E module On this instructable, I will use NodeMCU v2 ESP-12E which is refers to NodeMCU v1.0 with ESP-12E module. Arduino v1.6.8 knows as 1.0 for ESP-12E module, athough it is v2. So I can say that v1.0 means v2.0 that's beacuse of Arduino side not about NodeMCU. The source

Read more:

2. Arduino IDE

3. Your computer (Windows is okey on here)

4. Micro USB cable

5. Wi-Fi Network (We need SSID and Password to get used on next steps, wireless modem would be okey)

Note: While you give an energy to NodeMCU via micro usb cable from your computer to that, ESP8266 on-boarded module may hot. This is moderate. I mean, there is no danger, a little bit heat is not seem a dangerous thing for our module. Be aware, surface is hot enough.

Note: On here, I am using Microsoft Windows. For Linux user, check this link.

Step 1: Let's Take a Look As Overview

On top side, there is an other board that you can see, this is the ESP part. ESP8266 is a module, but this is on-boarded circuit organism which let us to connect over wi-fi.

On rear side, there is written name given: ESP12E DEVKIT V2 and the link for reference.

Step 2: The First Time to Connect to Pc

When we make a connection between NodeMCU board and computer, there is automatically driver loading window that you can easily learn which COM Port Number that your computer had gave. Mine is succesfully loaded the driver and gave me COM Port Number 15 to access to my NodeMCU board.

There are two black buttons near the micro usb port. One is RESET other is FLASH. When you click on RESET button, you can see ESP8266 side's blue is blinked.

Step 3: How to Use Arduino IDE to Program NodeMCU?

1. Install the Arduino IDE from download section of website (Also, check my instructable about installing, updating, removing Arduino IDE from here)

2. Run Arduino IDE's arduino.exe

3. Arduino IDE >> File >> Preferences (Shourtcut is CTRL + COMMA)>> Settings tab >> on Additional Board Manager URL side type this >> and click ok.

This json object will bring necessary drivers for NodeMCU from the website to our Arduino IDE.

4. Arduino IDE >> Tools >> Board >> Boards Manager... >> Type = Contributed >> click on install (Or, search ESP8266 from the search bar)

5. Arduino IDE >> Tools >> Board >> NodeMCU 1.0 (ESP-12E MODULE)

NOTE: We have NodeMCU v2, but we select as 1.0. Focus on inside of paranthesis ESP-12E is more important than this.

Step 4: Blink Code for NodeMCU - Hello World LED

On Arduino IDE >> File >> Examples >> ESP8266 >> Blink

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 */

void setup() {
pinMode(LED_BUILTIN, OUTPUT); // Initialize the LED_BUILTIN pin as an output }

// the loop function runs over and over again forever void loop() { digitalWrite(LED_BUILTIN, LOW); // Turn the LED on (Note that LOW is the voltage level // but actually the LED is on; this is because // it is acive low on the ESP-01) delay(1000); // Wait for a second digitalWrite(LED_BUILTIN, HIGH); // Turn the LED off by making the voltage HIGH delay(2000); // Wait for two seconds (to demonstrate the active low LED) }

Attach NodeMCU to your computer with micro usb cable then click on upload button to upload your Blink codes to NodeMCU.

This code will run your NodeMCU's blue led for 1 second then close in a forever loop.

Now, we have working NodeMCU board just like an Arduino boards basicly.

Note: On this site, it is mentioned that Arduino IDE v1.6.7 may not working well with NodeMCU, if you faced such an Arduino IDE problem, you need to update your Arduino IDE program. I can tell you how to update your program now.

Step 5: Let's Make Some LAN Joy :) - Hello World on Browser

On Arduino IDE >> File >> Example >> ESP8266 >> ESP8266HelloServer >>Modify these lines:

<p>const char* ssid = "........";   //Your Wi-Fi Modem's SSID name
const char* password = "...........";   //The password for the Wi-Fi</p>

Then click on upload button. After uploading, open Serial Monitor. Click on reset button then learn which IP adress you need to use from Serial Monitor

NOTE: We are using Baud Rate as: 115200

Now you did it well! :D


That's all !

Step 6: BONUS: Reading This Instructable

NOTE: This instructable's step is aimed for visually impaired people to hear the sentences to learn what's going on here. Watch the video, it explains all steps.


JonA8 (author)2016-08-09

I have had lots of problems with these chips. I have tried for several hours now with no luck. I keep getting this error:

warning: espcomm_sync failed

error: espcomm_open failed

error: espcomm_upload_mem failed

MatthewS336 (author)JonA82016-10-07

In step 2 Bay uses the generic driver installed by windows, this didn't work for me and I had to use the driver found at which solved this issue for me.

devicebased (author)MatthewS3362017-08-19

This worked for me. Make sure the board is plugged in before installing the driver. It will fail if not plugged in.

Bahosek (author)JonA82016-11-30

You use a Linux?

Bay Yolal (author)Bahosek2016-11-30

Not necessarily needed.

Bay Yolal (author)JonA82016-08-10

Hi JonA8, first of all, do you have NodeMCU circuit board with ESP12E included, and when you plug in the usb cable to your board, can you get a led working? Does your micro usb cable works well? Does your usb cable CONTAINS (DATA +) (DATA -) VCC and GND pins inside? How can you test, if you can use the cable to send data from computer to Android device, it is working with data cable. I believe, your cable didn't contains data plus and minus pins. If I am wrong, please be sure that you have working circuit with you. After all, please do step 2 and more again.