Mid-Senior Engineers: Reinvent your career with Robotics, earning $100k-$200k+ in the next 90 days. Learn More

Getting Started With NodeMCU (ESP8266) Using Arduino IDE

Liz Miller Learn Robotics

About the Author, Liz Miller, Founder/CEO @ Learn Robotics

Liz graduated with a degree in Robotics Engineering from Worcester Polytechnic Institute and researched drones at UPenn's GRASP Lab. Liz is a former Raytheon Engineer, where she managed major $MM automation projects worldwide. Today, she's the driving force behind Learn Robotics, offering the Robotics Career Blueprint for Engineering Professionals and beginner courses through the Online Robotics Class. Liz is a third-generation entrepreneur who is all about the application of innovation in robotics, automation, and AI. Follow Liz on LinkedIn and Facebook.

Disclosure: Some of the links below are affiliate links. This means that, at zero cost to you, Learn Robotics will earn an affiliate commission if you click through the link and finalize a purchase. Learn Robotics is a participant in the Amazon Services LLC Associates Program, an affiliate advertising program designed to provide a way for websites to earn advertising revenues by advertising and linking to Amazon.com.

Join our Private Discord Server, MakeRobots! Sign Up

In this article, I will be sharing with you…

  • how to get started with NodeMCU ESP8266 development board
  • how you can program it easily using good old Arduino IDE and take your project to next level with WiFi connectivity.

Before we get started, I assume that you have a basic knowledge about Arduino and its development environment. If you need a refresher, check out the Simple Guide to Arduino, first.

So without wasting any more time on the introduction, Lets get started!

Introduction to NodeMCU (ESP8266)

The ESP8266 is a low cost microcontroller with on-board WiFi functionality. Here are the technical specifications.

Specifications :-

  • Operating Voltage : 3.0 ~ 3.6V
  • Average Operating Current : 80mA
  • Tensilica Xtensa LX106 32 bit RISC CPU running at 80 MHz
  • 16 GPIO Pins
  • SPI
  • I2C
  • I2S
  • UART – 2x TX and 1x RX
  • 1x 10bit ADC
  • Operating Temperature : -40°C ~ 125°C
  • Frequency Range : 2400 ~ 2483.5MHz

This can be used in multiple projects like Home automation, WiFi controlled Robots, weather stations, and more.

Materials for this Project

getting started with NodeMCUHardware Components


That’s everything we need, Let’s move on to the next part to set up the IDE.

Set up the IDE for NodeMCU

First, download and install the Arduino IDE from the Arduino website.

Now to program the ESP development board, the Arduino IDE should have list of boards. For that we have to install all the ESP boards. First Goto >> Files >> Preferences >>  and paste the following link in ‘Additional board manager URL’s‘  and click on ‘OK‘.


Then, Goto >> Tools >> Board >> Board Manager.
Scroll down to find ‘ ESP8266 ‘ install it.This will add all the ESP based development boards to the IDE.

Now to connect the NodeMCU to your PC, you have to install CP210X driver. Download the latest version compatible to your OS from this website. Select the right board from the downloaded list. In this article I have used NodeMCU 1.0 (ESP-12E Module), so I will select that.

Goto >> Tools >> Board >> Select the ESP board you have.

After selecting the correct board, keep the settings as follows:

  • Flash Size : “4M (3M SPIFFS)”
  • Debug Port : “Disabled”
  • Debug Level: “None”
  • IWIP Variant: “V2 Lower Memory”
  • CPU Frequency: “80Mhz”
  • Upload Speed: “921600”
  • Erase Flash: “Sketch On”
  • Port : “COM port available” (where the device is connected should show up)

Now the board is ready to be programmed.

Upload the Sketch to NodeMCU

Now that the IDE is setup for NodeMCU you can test it by uploading an Example sketch as follows :-

  • Files >> Examples >> ESP8266.
  • Select the Blink example and upload it.

The on board LED should start to blink. Now the on board LED is connected to Pin D0 of the MCU. You can connect an external LED to the pin D0.

Now to write sketches for NodeMCU you should know the Pins as NodeMCU have different pin mapping. You can either use D0…D10 or use the following :-

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

Hope you enjoyed this post and found it informative. If you have any questions, you can ask them in the comments, below. Next time we will see how Projects can be controlled over the Internet through your Web Browser.

Experienced Engineer (Mechanical, Electrical, Computer, Software): If I offered to help you upgrade your engineering career to robotics, earning $100k-$200k+ in the next 90 days, would you take me up on that offer? Click here for details.
Liz Miller Learn Robotics

🚀 Pre-Launch: Become a "MakeR" with MakeRobots!

Hey Reader, 👋

Liz Miller, Founder/CEO, here with some Exciting News!

Learn Robotics just acquired MakeRobots™, an Online Robotics Community, and are prepping its Official Learn Robotics Debut in Late 2023.

MakeRobots™ is your one-stop-shop for learning, gaining coding, electronics, and robotics skills, connecting, and building robots for one low monthly membership!

Join MakeRobots™ at our Special Pre-launch Rate!
🤖 Access our Private Community & Robotics Courses
💬 Network, Collaborate, Connect with Other Makers
🔓 Only $5.99/month – locked in for life
⏱️ Pre-launch deal is Limited to the first 1,000 subscribers

This is a perfect opportunity for you to get into the fastest growing robotics community on the internet, at our ground-level, pre-launch membership rates.

👇 Click the button below to Claim your Pre-launch Membership and become a MakeR in the MakeRobots Community, today!

Learn Robotics Botly Favicon