Introduction
NodeMCU Development Kit/Board consists of an ESP8266 wifi chip. ESP8266 chip has GPIO pins, serial communication protocol, etc. features on it.
ESP8266 is a low-cost Wi-Fi chip developed by Espressif Systems with TCP/IP protocol. For more information about ESP8266, you can refer to ESP8266 WiFi Module.
The features of ESP8266 are extracted on the NodeMCU Development board. NodeMCU (LUA based firmware) with Development board/kit that consists of ESP8266 (wifi enabled chip) chip combines NodeMCU Development board which make it a stand-alone device in IoT applications.
Let’s see 1st version of NodeMCU Dev Kit and its pinout as shown in the below images.
NodeMCU Development Board v0.9 (Version1)
2nd version of NodeMCU Dev Kit and its Pinout as shown in the below images.
NodeMCU Dev Kit v1.0 pin descriptions
GPIO (General Purpose Input Output) Pins:
NodeMCU has general-purpose input-output pins on its board as shown in the above pinout diagram. We can make it digital high/low and control things like LED or switch on it. Also, we can generate a PWM signal on these GPIO pins.
For more information about NodeMCU GPIO refer to this link
For more information about NodeMCU PWM refer to this link
ADC (Analog to Digital Converter) channel (A0):
NodeMCU has one ADC channel/pin on its board.
For more information about NodeMCU ADC refer to this link
SPI (Serial Peripheral Interface) Pins:
NodeMCU based ESP8266 has Hardware SPI (HSPI) with four pins available for SPI communication. It also has SPI pins for Quad-SPI communication. With this SPI interface, we can connect any SPI enabled device with NodeMCU and make communication possible with it.
For more information about NodeMCU SPI refer to this link
I2C (Inter-Integrated Circuit) Pins:
NodeMCU has I2C functionality support on ESP8266 GPIO pins. Due to internal functionality on ESP-12E, we cannot use all its GPIOs for I2C functionality. So, do tests before using any GPIO for I2C applications.
For more information about NodeMCU I2C refer to this link
UART (Universal Asynchronous Receiver Transmitter) Pins:
NodeMCU based ESP8266 has two UART interfaces, UART0 and UART1. Since UART0 (RXD0 & TXD0) is used to upload firmware/codes to the board, we can’t use them in applications while uploading firmware/codes.
For more information about NodeMCU UART refer to this link
The difference in between 1st and 2nd version NodeMCU Board
We can make difference in the 1st and 2nd versions of the NodeMCU Development board by their board's design and ESP modules on it.
In 1st version of NodeMCU Dev Kit v0.9, CH341SER USB to Serial converter is used whereas, in 2nd version of NodeMCU Dev Kit v1.0, CP2102 USB to Serial converter is used.
1st version uses ESP-12 and 2nd version uses ESP-12E (Enhanced version).
Extra 6 pins (MTDO, MTDI, SD_3, MTMS, MTCK, SD_2) brought out on the ESP-12E version of ESP-12 modules as shown in the below figure. Though Quad SPI pins are brought out, they are internally used for flash memory access.
Also, there is a slight antenna design difference in ESP-12 versions like ESP12-E & ESP-12F as shown in the below figure.
ESP8266 Modules Family
We can also take a look at various ESP modules and their FCC approves till now at esp8266 modules family and summary as shown in the below image on the same page.
NodeMCU Dev Kit in Markets
NodeMCU hardware is open source, anyone can edit/modify/produce it and market their modified NodeMCU Development boards. Generally, we can see NodeMCU Dev boards of
Lolin & D1 mini /Wemos etc. in the market.
Amica produces NodeMCU ESP8266 Development Boards v1.0(Version2) with designed hardware specifications. Most of the V2 boards are produced by Amica.
NodeMCU Hardware Specifications
We can see the NodeMCU Dev Kit v0.9 hardware specifications and design from the below link that is open for all.
Also, NodeMCU Dev Kit v1.0 hardware specifications and design is given in the below link
Note: - the ADC block in both versions uses a resistor divider network (220K and 100K) to scale the ESP8266 ADC input voltage range of 0-1V to 0-3.3V. Since the input analog voltage range for the ADC pin of ESP8266 is 0–1.0V (while reading external analog voltage), NodeMCU Dev boards use this resistor divider network to scale it up to 0-3.3V.
ESP8266 Development Boards
Also, we can see ESP8266 development boards/breakouts that are different in design than above NodeMCU Development boards and we can use them with NodeMCU firmware for IoT applications.
Below are those alternative boards for NodeMCU with different sizes, pinouts, and specifications that are available in the market.
There are also modified designs available that are application based boards. For example,
D-duino V3 board which comes with an OLED display on board.
AI-Thinker A20 Plus board comes with a GPRS+Camera feature on its board.
Here, we can say that there is no unique NodeMCU Development board design in the market. If we came across their official boards then we can realize that Amica boards look like an official version whereas others not (since they are applications wise designed).
Amica provided some points regarding improving their development boards on their twitter page as shown in the below image.
Comments