In this article we will look at the differences between NodeMCU ESP8266 and Arduino UNO.
Esp8266 is a Wi-Fi microprocessor. With this system, there are different modules and development cards. Some development cards use basic esp8266 modules, and others integrate chip flash memory and antenna into PCB.
NodeMCU is a development card with ESP8266 and a development environment with the same name.
Similarly, Arduino Uno is a development card based on an 8-bit ATmega328P microcontroller. In addition to the ATmega328P, the crystal oscillator includes other elements such as serial communication voltage regulator, etc. to support the microcontroller. Arduino Uno has 14 digital input output (I/O) pins, 6 of which can be used as PWM output, 6 analog input pins, a USB connection, power jack, an ICSP header and a reset button.
The operating voltage of ESP microprocessors is 3.3 V compared to the Arduino operating voltage of 5v. On the development cards used when connected to an uninterrupted and constant power supply, there will be no difference in power consumption, since the current will be reduced to collect the same amount of power, but in a battery-powered state, the difference will be much larger, since if the battery discharge curve falls below the operating voltage, the microprocessor will turn off.
Therefore, ESP-based cards will have a longer uptime, since these cards can work in 4V, but arduino cards will stop working as soon as they fall to 4V, the main reason for this is the LM7805 voltage regulator (The minimum operating voltage is 5V).
The required power supply range from ESP8266 cards ranges from 2.5 V to 12V, depending on different cards, and Arduino cards need a higher power supply between 7V and 12V. In reality, the difference won't have a big impact.
In battery-based projects, we know that current consumption is important to extend the life of the project. Collectively, NodeMCU is based on the ESP8266 microprocessor and has a very low current consumption between 15 μA and 400 mA, which can be further reduced by deep sleep mode enabled to 0.5 μA. With 35 mA, the consumption available in deep sleep mode for Arduino Uno is higher than 70000 factors. When a battery is a power source, an ESP-based development card can always be the reason for your choice.
Digital I/O(I/O), Analog I/O(I/O), PWM Pins
Digital I/O Pins
The difference between all cards related to digital I/O pins is almost zero, esp8266 has 17 GPIO pines, while Arduino UNO has 14 digital pines. The only variable is that big cards such as NodeMCU ESP32 and arduino MEGA R3 (54), the largest card, have a large number of digital I/O pins.
Analog I/O Pins
The biggest drawback for NodeMCU is that it has only 1 or 2 analog pins. Of course you can use a multiplexer integrated(multiplexer), but we think it is easier to use it if you have the right amount of analog pin directly on the card itself. Arduino UNO cards have 6 analog pins.
Esp-based cards have a better ratio between digital I/O pins and PWM pins because PWM is used by a digital pin, so Arduino has enough PWM pins at UNO, Arduino has 6 PWM pins, NodeMCU has PWM on all digital I/O pins.
Both development cards have this communication protocol. For more information about communication protocols, please read this article.
Both development cards have this communication protocol.
It is not a communication protocol such as SPI and I2C, but a physical circuit in the microcontroller. The main purpose is to transmit and retrieve serial data. Usually ESP-based cards and Arduino cards have at least one pin for these data transfer connections, but ESP modules often have a 2nd pin for this type of communication.
Flash Memory and SRAM
Flash memory, which describes the program area, is where the Arduino draft is stored.
SRAM (static random access memory) is where program codes create and manage variables when they run.
EEPROMis the memory space that programmers can use to store long-term information.
Flash memory and EEPROM memory are persistent, and information remains after power is turned off. SRAM is volatile and data will be lost when power is turned off.
In the detailed comparison table.
Since all Arduino cards work at 16 MHz, it means that the microprocessor can run up to 16 million commands per second, which may sound like a lot, but it remains quite a little speed when you consider that setting a simple digital pin to high can exceed the 50-hour cycle.
ESP-based cards are much faster for ESP32 at clock speeds from 52 MHz to 160 MHz. This clock speed is 10 times faster than Arduino UNO. Therefore, if you are planning a large project with a large number of processes, you should opt for ESP-based development cards.
Bad news for Arduino fans and good news for ESP users. Arduino Uno is available in two versions. One is wi-fi-free and one is included in the Wi-Fi development card. But don't worry, because there are many possibilities to use Wi-Fi, although it is not Wi-Fi integrated by default. You can use an Arduino Wi-Fi module or connect the Arduino card with Wi-Fi included with an ESP-01.
In this microcontroller comparison, we look at development cards of different sizes, which are a major impact factor on the total number of pins. The more pins the development card has, the larger the card, usually ESP-based cards like NodeMCU are smaller than these Arduino cards and fit on a breadboard depending on your project size, but other development cards belonging to the Arduino family, such as arduino nano, arduino pro mini, are even smaller than the NodeMCU V3.
|ESP8266 NODEMCU V2||NODEMCU V3||Arduino NANO 3||Arduino UNO R3||Arduino MEGA R3|
|Input Voltage Range||7V – 12V||7V – 12V||7V – 12V||7V – 12V||7V – 12V|
|Current Consumption||15 μA – 400 mA||15 μA – 400 mA||19 mA – 180 mA||45 mA – 80 mA||50 mA – 200 mA|
|DeepSleep Current Consumption||0.5 μA||0.5 μA||23 μA||35 mA||500 μA|
|Digital I/O Pins||11 of 13||16||14||14||54|
|Digital I/O PWM Pins||11 of 13||16||6||6||15|
|Analog Input Pins||1||1||8||6||16|
|Per I/O Pin Max. DC Current||12 mA||12 mA||40 mA||40 mA||20 mA|
|For a 3.3V Pin Max. DC Current||50 mA||150 mA||150 mA|
|Flash Memory||4 MB||4 MB||32 KB||32 KB||256 KB|
|SRAM||n.A||64 KB||2 KB||2 KB||8 KB|
|Eeprom||512 bytes||512 bytes||1024 bytes||1024 bytes||4096 bytes|
|Clock Speed||52 MHz||80 MHz||16 MHz||16 MHz||16 MHz|
|Length||48 mm||58 mm||45 mm||69 mm||102 mm|
|Width||26 mm||31 mm||18 mm||53 mm||53 mm|
|Ethernet MAC Interface||No||No||No||No||No|
|Jack Power Input||No||No||No||Have||Have|
Prototyping of Electronic Products and Systems
in Multi-DO Projects.
Easy to use for beginner builders.
Projects that require multiple I/O interfaces and communication.
Prototyping ioT devices
has low-power battery-powered applications
used in network projects.
Projects that require multiple I/O interfaces with Wi-Fi and Bluetooth functionality.