ESP8266 is a low-cost Wi-Fi System-on-Chip (SoC) produced by Espressif Systems, a Shanghai-based Chinese fabless semiconductor company. The ESP8266 chip is shown in the following figure. It consists of a Wi-Fi transceiver with full TCP/IP stack and a microcontroller. It uses IEEE 802.11 b/g/n Wi-Fi standard, which is generally used in our daily life. It has 32-bit Tensilica RISC processor that runs at 80 MHz. It has several peripherals such as GPIO, I2C, SPI, UART, ADC, etc.
ESP-12 is a Wi-Fi module based on ESP8266 chip. The ESP-12 module is shown in the following figure. It is produced by the third-party manufacturer Ai-Thinker. There are other ESP modules made by this manufacturer. They are referred to as “ESP-xx modules”. You can get the list for the other ESP modules from here. The disadvantage of this module is that it is not breadboard friendly.
NodeMCU is an IoT development kit based on ESP-12 module. The NodeMCU development kit is shown in the following figure. Compared to the ESP-12 module, NodeMCU is breadboard friendly and includes USB to serial interface. There are three version of NodeMCU. In this tutorial, we will use NodeMCU version 3 that uses ESP-12E module. This development kit can be programmed by using Lua scripting language, but for this tutorial I will use Arduino C/C++ language. I use Arduino C/C++ language instead of Lua scripting language because the popularity of the C/C++ language in embedded system.
To develop a program for ESP8266 using Arduino C/C++ language, you need Arduino IDE. You can download the Arduino IDE from here. At the time of writing, the latest Arduino IDE version is 1.8.5. You can download either the installed or the portable version. I will use the portable version. After that, you can open the Arduino IDE and then we must add the NodeMCU board, because this board is not available by default. The step-by-step how to add the NodeMCU board to the Arduino IDE is described as the following:
- Start Arduino IDE, go to File menu, and open Preferences window.
- Enter http://arduino.esp8266.com/stable/package_esp8266com_index.json into Additional Board Manager URLs field.
- Go to Tools → Board menu, open Boards Manager, and install esp8266 platform.
- After installation, select NodeMCU 1.0 (ESP-12E Module) board from Tools → Board menu.
In this tutorial, you have learned how to install Arduino IDE and ESP8266 package. In the next tutorial, I will explain how to install the driver for NodeMCU, and then we will create the first program.
Go to the part 2 of the tutorial.