Latest posts by Javier Bonilla (see all)
- Raspberry Pi, TensorFlow Lite and Qt/QML: image segmentation example - 11 September, 2019
- Coral USB Accelerator, TensorFlow Lite C++ API & Raspberry Pi for Edge TPU object detection - 24 June, 2019
- Cross-compile and deploy Qt 5.12 for Raspberry Pi - 10 May, 2019
What is a SoC?
A System on Chip (SoC) is an integrated circuit (chip) that integrates all or most of the components of a computer or other electronic system.
What is ESP8266?
ESP8266 is a SoC which includes a Tensilica Xtensa LX106 32-bit 80 MHz (160 MHz overclock) Micro Controller Unit (MCU), a IEEE 802.11 b/g/n 2.4 GHz Wi-Fi microcontroller, 11 GPIO (General Purpose Input/Output) pins and analog inputs. However, it doesn’t have built-in flash memory to store data and instructions. Its technical name is ESP8266EX. The ESP8285 is an evolution of the ESP8266 with 1 MByte of built-in flash memory.
What are ESP-XX modules?
These are modules made with the SoC ESP8266. They have built-in flash memory. Most ESP-XX modules include a WiFi antenna. Some of the them come housed within a metal box with a Federal Communications Commission (FCC) seal of approval. Additionally, some of them include a small on-board LED connected to a GPIO pin (commonly GPIO 2) which can be programmed.
ESP-XX modules mainly differ in their physical layout, form factor, flash memory size and WiFi antenna: ceramic, etched-on Printed Circuit Board (PCB), etc. They require additional components to form a workable development system (USB bus convert chip, external power supply, etc). For beginner developers, it is better to consider larger boards, such as NodeMCU, since they include all the needed components to program them.
There are many ESP-XX modules available: ESP-01, ESP-02, …, ESP-12, ESP-12E, etc. In the ESP8266 module family wiki, you can find pictures of all the modules and a table, summarizing their main features, at the end of the page.
What is NodeMCU?
NodeMCU refers to two things: an open-source firmware and an open-hardware development board based on ESP-12 or ESP-12E modules (and therefore on SoC ESP8266). Both modules have 4 MBytes of flash memory.
There are several NodeMCU board versions. The main differences between them are the number of GPIO pins available for use and the board size. These are the three NodeMCU versions.
|Generation||Version||Name||Module||Dimensions||Pins in board|
|1st||0.9||V1||ESP-12||47 mm x 31 mm||10 pins|
|2nd||1.0||V2||ESP-12E||48 mm x 26 mm||8 pins|
|2nd||1.0||V3||ESP-12E||58 mm x 31 mm||10 pins|
NodeMCU – 1st generation – v0.9 – V1
The NodeMCU V1 board is currently out-dated. It is based on the ESP-12 module. Commonly, the board is yellow. It is quite wide (31 mm) which makes difficult to fit it in a breadboard. It takes up to 10 pins in the breadboard due to its large width. There are also six not used (not connected, reserved) GPIO pins. The reset button reinitializes the loaded program. Holding the flash button together with the reset button set the board in flashing mode. This mode is used to upload the module firmware. Nevertheless, this can also be automatically done from Integrated Development Environments (IDEs), such as Arduino IDE. This board has one additional LED, besides the ESP-12 LED. This additional LED is connected to the GPIO 16. The USB bus convert chip is CH340G. The purpose of this chip is to transfer data between the board and the attached computer through the micro USB port.
NodeMCU – 2nd generation – v1.0 – V2
The NodeMCU V2 board is narrower than its predecessor (26 mm), solving the problem of fitting it in the breadboard. The chip was upgraded to the ESP-12E module. The ESP-12 and ESP-12E modules are basically the same. The ESP-12E has some extra pins, but they are not useful in most of the cases. The USB bus convert chip is from the CP210X family (CP2101 … CP2105). From a practical point of view, its features are identical than those of the CH340G chip.
Amazon: NodeMCU V2
This is an affiliate links. This means if you click on the link and purchase the promoted item, we will receive a small affiliate commission at no extra cost to you, the price of the product is the same. We would really appreciate your support to our work and website if this is fine for you.
NodeMCU – 2nd generation – v1.0 – V3
Even though NodeMCU is open hardware, the NodeMCU V3 board is commonly labeled as an unofficial board, since this board doesn’t have a different board specification that the V2. The V3 mention is just a name given by Lolin, a company that manufactures NodeMCU boards. Lolin claims that this board has a more robust micro USB port. It also makes use of the two reserved pins in the previous board. One is used for USB power and the other for an additional ground. The USB bus convert chip is CH340G, the same chip used in the V1 board. The main disadvantages of this board is that it is bigger (58 mm x 31 mm) than the V2 and it only has one built-in LED (EPS-12E module LED). The main advantage is that it is slightly cheaper than the V2.
Amazon: NodeMCU V3
The next picture shows a size comparison between Arduino UNO, NodeMCU V2 and NodeMCU V3.
And we can see in the next image the number of pins that NodeMCU V2 (8 pins) and NodeMCU V3 (10 pins) take in a breadboard.
Are there other ESP8266 boards besides NodeMCU?
What about other boards based on different SoC?
There are also other boards based on different SoC, such as RTL8195 (Ameba RTL8195 board) RTL8710 (Ameba RTL8710 board), EMW3165 (WiFiMCU), ESP8285 (NodeMCU-M boards) etc. NodeMCU-M boards commonly include ESP-M1, ESP-M2 or ESP-M3 modules which are based on the SoC ESP8285.