Javier Bonilla

Researcher at CIEMAT - PSA
PhD. in Computer Science / Solar Thermal Energy Researcher
Javier Bonilla

Helpful? spread the word!

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.

SoC ESP8266

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.

ESP-12E

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.

 GenerationVersionNameModuleDimensions Pins in board
 1st0.9V1ESP-1247 mm x 31 mm10 pins
 2nd1.0V2ESP-12E48 mm x 26 mm8 pins
 2nd1.0V3ESP-12E58 mm x 31 mm10 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 V1 board

NodeMCU V1 pinout
NodeMCU V1 pinout
source: Teach Me Micro

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.

NodeMCU V2 board

NodeMCU V2 pinout
NodeMCU V2 pinout
source: Teach Me Micro

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.

NodeMCU V3 board
NodeMCU V3 pinout
NodeMCU V3 pinout
source: Teach Me Micro (modified)

Amazon: NodeMCU V3

The next picture shows a size comparison between Arduino UNO, NodeMCU V2 and NodeMCU V3.

Arduino UNO, NodeMCU V2 and NodeMCU V3
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.

NodeMCU V2 and NodeMCU V3 attached to a breadboard
NodeMCU V2 and NodeMCU V3 attached to a breadboard

Are there other ESP8266 boards besides NodeMCU?

Yes, there are many ESP8266 boards! just to name a few: WeMos D1 mini, WeMos D1 pro, SparkFun ESP8266 Thing, Adafruit HUZZAH ESP8266 Breakout, etc.

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.

2
Leave a Reply

avatar
2000
1 Comment threads
1 Thread replies
0 Followers
 
Most reacted comment
Hottest comment thread
2 Comment authors
Javier BonillaAMIT JAIN Recent comment authors
  Subscribe  
newest oldest most voted
Notify of
AMIT JAIN
Guest
AMIT JAIN

Very nicely put article, explaining the relation between SOC -> Modules -> DeveloperKit. Seeing all the different names, creates a lot of confusion to a newbie.

shares