ESP32 Vs ESP8266 NODEMCU:
I have been using ESP32 and ESP8266 Nodemcu modules for quite a long time in different IoT based projects. I have used these modules hundreds of projects for monitoring and controlling. In this article we will understand the differences between ESP32 and ESP8266 Nodemcu while also understanding the very important features of ESP32. ESP8266 and ESP32 are cheap Wi-Fi modules and are mostly used in the projects of internet of things. We can easily control and monitor remotely via Wi-Fi. ESP32 is successor of ESP8266. ESP8266 is also known as NodeMcu.
Other Tools and Components:
*Please Note: These are affiliate links. I may make a commission if you buy the components through these links. I would appreciate your support in this way!
ESP32 WiFi + Blueooth Module:
ESP32 is an evaluation board designed by espressif systems and ESP series of microcontrollers are very powerful controllers with high clock speeds, wireless connectivity, and including camera interfaces everything is available. It also has common peripherals and supports the protocols like the I2C, ADC, SPI and UART.
As a whole it is one step just below the computer it also supports different boot loaders which is a very important feature to appreciate and you can install circuit python which is a python version specifically designed to program microcontrollers. This evaluation board might look very similar to Nodemcu, in fact it looks very close to Nodemcu but it is entirely different from the specifications when you compare it with Nodemcu. This board has a 5 volt to 3.3 volt voltage regulator cp2102 usb to uart converter which is used to program ESP32. ESP32 is available with multiple versions and multiple variants are available. The most widely and commonly used ESP32 version is ESP32 broom. It is a very compactly and nicely packed system on chip with eeprom antenna filtering circuits and oscillators. ESP32 is made of ESP32 DODWQ and that is actually very reliable to use at place where the product needs to definitely qualify the emi and emc testing. EME is electromagnetic interference and emc is electromagnetic compliance and all these are required for industry grade certifications.
Why is ESP32 very special?
The special features of ESP32 are the architecture of the microcontroller that is being chosen and the number of wireless connectivity which are embedded into it ESP32 has got classic Bluetooth and Bluetooth low energy BLE connectivity features in it. All of these can happen through the same chip antenna on board. ESP32 comes with the inbuilt low noise amplifier which means the LNA filtering and impedance matching circuit making it extremely easy for makers and developers to design applications and the very important point to be remembered here is it has got two cores which means multiple tasks can be performed at the same time making it extremely powerful. In parallel one core can be used with Bluetooth to do some operation another kit can be used simultaneously to control a stepper motor. ESP32 is one of the evaluation boards with inbuilt sensors. It has got inbuilt sensors it has got inbuilt capacitive touch and Hall Effect sensors the capacitive touch can be used to detect the human touches whereas the Hall Effect sensors are used to detect the magnetic fields around the microcontroller. I have a very detail tutorial on how to install the ESP32 Board and how to write your first program to control an LED.
There are so many different versions of boats out there in a market it has suddenly very difficult for many people to understand like how the pins are laid out onto the board. The heart of this board is of course esp8266 chip which is in microcontroller or 32-bit microcontroller with in Wi-Fi capabilities. So it’s support ISM 2.4 gigahertz band. You can just understand it is a microcontroller with a built in Wi-Fi capabilities.
Now it pins has been drawn out on a board and it’s been given the name and labels like d0 d1, d2, d3, d4 and so on. You can understand the first pin that is d0 is GPIO 16, the d1 pin is GPIO 5, d2 is GPIO 4, d3 is GPIO 0 and d4 is GPIO 2 and so on. D5 is GPIO 14, d6 is GPIO 12, d7 is GPIO 13. You can understand the pin numbers because these are the digital pins and it’s better you understand these pin numbers in terms of GPIO pin numbers rather than this physical pin numbers. When I write a professional C program for node MCU and it makes sense because this GPIO naming is fixed it is from the chip. So if you open up the datasheet of this esp8266 you then can get a digital information on this GPIO pin number. So don’t make your life difficult and unnecessary waste your time with this pin labels right. So there are plenty of digital pins in the right side you have GPIO 16 through GPIO 1 then if you want to connect an analog sensor or any analog device then the limitations of this node MCU or esp8266 is you have only one a0 on the upper left corner. There is only single analog pin where you can connect an analog sensor so if you need a more analog sensors in your project then maybe you have to look for ESP32 or something like that but as long as you need only one analog sensors is good to go with it.
The best thing is this is just a low-cost microcontroller with a couple of bucks couple of US dollars you can get a microcontroller which is a 32-bit along with the Wi-Fi capability. So after having a digital pins and the analog pins you can see there is one reset button here. So this reset button is basically if something goes wrong in between or you want to connect to the Wi-Fi then you might want to press this reset button and that will reset this microcontroller on NodeMCU then you have this another flash button. It has a push-button flash push button so this button is often used in order to flash or program this esp8266 chip but basically because on this node MCU board you have this USB connector through which you can connect a micro USB to power up this esp8266 microcontroller and at the same time you can also programs this chip through this Cp210 to USB to TTL converter. So you don’t basically need this flash button to be used unless you do something really extraordinary. It can be taken care by the programming of this esp8266 chip has to be done over the micro USB connector through which your node MCU will going to connect to your laptop. Every pin has a multiple functions so there is TX/RX pins so the TX RX is TX D0 and RXD0 respectively. So if you want to use a serial communication serial UART you have a 3 serial UART peripherals here. So UART is TXD0 and RXD 0 and then you have TXD2 and RXD2 and here is TXD1. Then if you have a devices which supports SPI protocol then you can see there is MOSI master out slave in then CS chip select then MISO master in slave out and SCL K that is a serial clock. So there are the SPI pins through which you can connect SPI devices to your esp8266 microcontroller and if you want to connect and i2c devices like say for example you want to connect an RTC or eprom or something then you might want to use this D2 and D1 pin so D2 means a GPIO 4 which is a SDA pin and GPIO 5 that is a d1 which is the SCL pin. So serial data SDA and serial clock SCL pin so through this GPIO 4 and 5 pins you can connect I2C devices to your esp8266 that means nodeMCU microcontroller. Now there are plenty of power pins so if you want to connect additional sockets you can have this 3.3 volt and almost four ground pins there on the board. So you can easily plug in this esp8266 kit does not MCU on a breadboard and connect to external circuits like LED switches motor display or any other peripheral devices. You can read in depth about the Nodemcu ESP8266 if you want to learn how to install the Nodemcu esp8266 board and other extreme basics.
Comparison of ESP32 and ESP8266 NodeMcu:
|Tensillica Xtensa LX6 microprocessor with 2 cores||Xtensa single core 32 bit L106|
|32 bit processor with dual core||Processor||32 bit single core|
|2.5 V to 3.6 V||Operating Voltage||2.5 V to 3.6 V|
|Has Bluetooth 4.2 + Wifi||Bluetooth||No Bluetooth|
|EEPROM flash||Flash memory||No flash|
|160 MHz clock frequency||Clock speed||80 MHz|
|Boot flash encryption. OTP 1024-bit||Security||No|
|Can protocol for automotive communications||Can Protocols||No CAN protocol|
|34 GPIO pins||GPIO Pins||17 GPIO pins|
|12 bit Analog to digital converter||Analog to digital converter||10 bit analog to digital converter|
|Inbuilt hall sensor, temperature sensor||Inbuilt sensor||No inbuilt sensor|
|Yes||Ethernet Mac Interface||No|
|800/- (approx)||Cost||450/- (approx)|
Comparison based on Arduino:
Let’s compare both modules on the basis of Arduino IDE which are mainly used to program ESP32 and ESP8266. Both boards are programmed with the Arduino IDE which is an advantage for those who can understand Arduino. Both are compatible with same library and commands. Some libraries are only compatible with the ESP32 or ESP8266 and will not run on both modules. However you need just few modifications.
Which one is better?
ESP32 is better than ESP8266 because ESP32 has extra features such as CPU core, Faster Wi-Fi, Bluetooth 4.0 (BLE), touch sensitivity pins and built in Hall Effect sensors and temperature sensor. The ESP32 has more GPIO pins as compared to the ESP8266. The ESP32 contains 10 capacitive GPROS that detect touch and can be used to trigger events. Trigger event is a circuit in which action is initiated by an input pulse e.g. as in radar module.