What is Arduino??
Arduino is an open-source development board that is used to build electronic gadgets, embedded designs, and wearable devices, robotics & IoT projects. Arduino is a platform where one can hobbyists, beginners, students, or programmers can develop projects, and devices by connecting multiple sensors, and motors. Arduino board consists of ATmega328P 8-bit microcontroller which has 0-13 digital pins, these pins are used for both digital input to read from the device & digital output to send data to the device from Arduino. Out 0f 13 digital pins Arduino has 6 ~ PWM pins used to vary the output voltage. Arduino has 6 analog pins to read analog values from the sensor. Arduino has a 5v operating voltage with a current consumption of 45-80 mA; in deep sleep, it consumes 35 mA. Arduino board has an operating frequency of 16 MHz which means 16 million instructions are carried out per second. Arduino can either be powered through the USB connection from the computer, from a 9V battery, or from a power supply. Arduino has a barrel jack to power on board and a USB port for code upload.
Arduino has a flash memory of 32kb, SRAM of 2kb & EEPROM of 1kb. Flash memory and EEPROM memory are non-volatile (the data is still present even after the power is turned off). SRAM is volatile means information will be lost when the power is cycled. Arduino uses SPI, I2C communication & UART communication protocols to communicate Arduino with another device.
What is Nodemcu ESP8266??
Nodemcu is an open-source development board used to build embedded & IoT-based Applications which required internet-based connectivity. Nodemcu consists of firmware that runs on the ESP8266 Wi-Fi SoC from Espressif Systems, and hardware that is based on the ESP-12 module. ESP12E has ESP8266 as a microprocessor which is 32-bit with a clock frequency of 80 MHz & in-built Wi-Fi features. Nodemcu has a flash memory of 4MB with SRAM of 128 kb & EEPROM of 512 bytes. Nodemcu has 16 general-purpose input-output (GPIO) pins & 1 Analog pin to measure analog voltage in the range of 0-3.3v. Nodemcu ESP8266 has a built-in LED connected to the D4 pin of the board along with a Wake pin which is a D0 pin that is used to wake the Nodemcu board from deep-sleep Mode. Nodemcu uses various communication protocols such as four pins for SPI communication (Serial Peripheral Interface), two UART (Universal Asynchronous Receiver/Transmitter) Interfaces UART0 (RXD0 & TXD0) and UART1 (RXD1 & TXD1). Nodemcu also provides I2C communication functionality. For I2C communication Nodemcu has GPIO 5 (D1) for SCL and GPIO 4 (D3) for SDA pins, for SPI communication we have GPIO 14 for SCLK.
Nodemcu has a reset button to restart the Nodemcu & flash button to program the esp8266 chip but usually, we don’t need a flash button as we have a micro USB to program esp8266 also Nodemcu board contains an onboard USB TTL Converter IC to program esp8266 & Power on the board. The Nodemcu board has a Voltage regulator to main 3.3 voltage across the Nodemcu board. The VIN pin in Nodemcu can be used to directly supply the ESP8266 to power the ON board. NodeMCU can be powered or turned ON using a Micro USB jack and VIN pin (External Supply Pin) such as a 9v battery. Nodemcu has an operating voltage of 3.3v & a current consumption between 15 µA to 400 mA. Under deep sleep conditions, Nodemcu has a very low current consumption of 0.5 µA. Nodemcu can be used in wearable devices that are battery-operated as Nodemcu consumes less power than Arduino.
Arduino VS Nodemcu ESP8266
Parameters | Arduino | Nodemcu |
---|---|---|
Microcontroller | ATmega328p | ESP8266 |
No of bits | 8 bit | 32 bit |
Digital pins | 14 | 16 |
Analog pins | 6 | 1 |
Digital pin with PWM | 6 | 16 |
Operating Voltage | 5v | 3.3v |
Current Consumptions | 45 mA – 80 mA | 15 µA – 400 mA |
Current consumption in Deep Sleep mode | 35 mA | 0.5 µA |
Clock Speed | 16 MHz | 80 MHz |
WIFI | Absent | Present |
Power jack | Present | Absent |
Micro USB | Absent | Present |
SPI | 1 | 2 |
I2C | 1 | 1 |
UART | 1 | 1 |
EEPROM | 1024 bytes | 512 bytes |
SRAM | 2 KB | 64KB |
Flash Memory | 32 KB | 4MB |
Size | Larger than Nodemcu | Smaller in size |
Dimensions | 6.8 cm × 5.3 cm | 4.8 x 2.5 cm |
Advantages
of NodeMCU
- Fast Processor & Memory
- On board WIFI feature
- Inexpensive board
- Smaller in Size
- Low power consumption
- Use in Network projects
- Works with existing Arduino IDE
Advantages
of Arduino Uno
- Extreme Community support
- More number of GPIOs both analog & digital pins with PWM capabilities
- It’s completely open-source
- Beginner friendly
Conclusion -
WIFI features, power consumption, powerful processor & smaller size make the Nodemcu board better than these Arduino boards. If your project needs internet connectivity then you can go with Nodemcu ESP8266. If you are working on a project that requires more analog pins & digital pins & if you have connected multiple sensor modules which draw more current such as a GSM module, GPS module & Servo then it is better to work with Arduino rather than ESP8266.
"I hope you find this IoT blog very helpful to you. In the upcoming lesson, we will see more about IoT sensors till then bye. See you all in my next blog."