© 2018 IJSRSET | Volume 4 | Issue 7 | Print ISSN: 2395-1990 | Online ISSN : 2394-4099
Themed Section : Engineering and Technology
A Comparative Study of Arduino Uno, NodeMCU in IoT
P. Ashwini, Pavan. S, Roja Ramani A
Assistant Professor, Department of CSE, Teegala Krishna Reddy Engineering College, Hyderabad, Telangana,
India
ABSTRACT
IOT Hardware components can include low-power boards; single-board processors like the Arduino Uno and
Node MCU. An Arduino Uno is a microcontroller motherboard. A microcontroller is a simple computer that
can run one program at a time, over and over again and it is very easy to use. But the structure of Arduino is its
disadvantage, the easy to use hardware/software of Arduino unable a person to learn the basics of many things
likes Serial communication, ADC, I2C and Arduino libraries are not very efficient in certain parts and waste
RAM and CPU cycles. NodeMCU is a development board featuring the popular ESP8266 WiFi chip. Its obvious
advantage over the Arduino is that it can readily connect to the Internet via WiFi. However, the ESP8266
breakout board has limited pins although the chip itself has a lot of output ports. The NodeMCU solves this
problem by featuring 10 GPIO pins each capable of using PWM, I2C and 1-wire interface.This paper provides
Internet of Things oriented comparison of Arduino Uno and Node MCU boards with suitable selection of the
hardware development platforms that are capable enough to improve the understanding of technology and also
summarizes various capabilities of available hardware development platforms for IoT.
Keywords : IOT, Arduino Uno, NodeMCU, ESP8266, Microcontroller.
I. INTRODUCTION standards makes it easier to add or swap out
components that are connected with the bus.
IOT is growing rapidly and our machines can interact Microcontrollers – process the signal from sensors,
with each other and act accordingly. Internet of determine appropriate responses, and manage power
Things (IoT) devices enables formerly unimaginable consumption and local memory. Microcontrollers
levels of remote monitoring and control. The building contain a processor core (or cores), memory (RAM),
blocks of an IoT device are remarkably similar[1]. and erasable programmable read-only memory
Here are the three main components-Sensors, (EPROM) for storing the custom programs that run
Microcontrollers, Transmission for a wireless sensor on the microcontroller. Microcontroller development
node. Sensors – gather information about the boards are PCBs with additional circuitry to support
environment and condition signals before the microcontroller to make it more convenient to
transmitting to the microprocessor. Sensors and prototype with and program the chip. A
actuators connect to the microcontroller through microcontroller is a SoC that provides data processing
digital or analog General Purpose Input/output and storage capabilities. The components in an IoT
(GPIO) pins or through a hardware bus. Standard node will vary in sophistication, depending on the
communication protocols like I2C and SPI are used application. But the basic topology of a wireless
for intra-device communication with the components sensor node always includes these elements[3].
that are connected with the bus[2]. Adopting
IJSRSET184424 | Received : 10 March | Accepted : 22 March 2018 | March-April-2018 [(4) 7 : 07-11 ] 07
Transmission –wireless chips, radio modules and 1. Power USB:Arduino board can be powered by
protocols needed to transmit the information between using the USB cable from your computer. All you
devices and to the cloud[12]. need to do is connect the USB cable to the USB
connection (1).
Arduino
2. Power (Barrel Jack):Arduino boards can be
The Arduino is an incredibly flexible micro-controller powered directly from the AC mains power supply by
and development environment that cannot only be connecting it to the Barrel Jack (2).
used to control devices, but can also be used to read
data from all kinds of sensors. Its simplicity and 3. Voltage Regulator:The function of the voltage
extensibility, in addition to its great success and regulator is to control the voltage given to the
adoption by users, has led to the development of a Arduino board and stabilize the DC voltages used by
variety of hardware extensions and software libraries the processor and other elements.
that enable wired and wireless communication with
the Internet. Power consumption is extremely low, 4. Crystal Oscillator:The crystal oscillator helps
which is a result of their CPUs usually running at 8 to Arduino in dealing with time issues.
16 MHz[4][11]. This makes them an ideal solution for
places where there’s no way to get external power: 5. Arduino Reset:You can reset your Arduino board,
with aggressive enough power saving, an Arduino i.e., start your program from the beginning. You can
board can run for months on several AA batteries. reset the UNO board in two ways. First, by using the
Arduino is the ideal open hardware platform for reset button (17) on the board. Second, you can
experimenting of the Internet of Things and connect an external reset button to the Arduino pin
incredibly popular hardware/software platform for labelled RESET (5).
creating interactive IoT objects and devices. Arduino
6. Pins (3.3, 5, GND, Vin):
platform, which includes a physical board processor,
shields with individual libraries of C code, and an
3.3V (6) − Supply 3.3 output volt
integrated development environment (IDE) for
5V (7) − Supply 5 output volt
writing, compiling, and uploading code, can also be
Most of the components used with Arduino
used to read data from all kinds of sensors.field-
board works fine with 3.3 volt and 5 volt.
programmable gate arrays (FPGA)[5][6].
GND (8)(Ground) − There are several GND
pins on the Arduino, any of which can be
used to ground your circuit.
Vin (9) − This pin also can be used to power
the Arduino board from an external power
source, like AC mains power supply.
7. Analog pins:The Arduino UNO board has five
analog input pins A0 through A5. These pins can read
the signal from an analog sensor like the humidity
sensor or temperature sensor and convert it into a
digital value that can be read by the microprocessor
8. Each Arduino board has its own microcontroller
(11):
International Journal of Scientific Research in Science, Engineering and Technology (ijsrset.com)
8
9. ICSP pin:Mostly, ICSP (12) is an AVR, a tiny 3. The Arduino libraries are not very efficient in
programming header for the Arduino consisting of certain parts and waste RAM and CPU cycles.
MOSI, MISO, SCK, RESET, VCC, and GND. It is often
referred to as an SPI (Serial Peripheral Interface), 4. No integrated support for WIFI network.
which could be considered as an "expansion" of the
output. Actually, you are slaving the output device to 5. Energy consumption is high.
the master of the SPI bus.
NodeMCU:
10. Power LED indicator:This LED should light up
The NodeMCU (Node MicroController Unit) is an
when you plug your Arduino into a power source to
open source software and hardware development
indicate that your board is powered up correctly. If
environment for IOT that is built around a very
this light does not turn on, then there is something
inexpensive System-on-a-Chip (SoC) called the
wrong with the connection.
ESP8266. The ESP8266, designed and manufactured
11. TX and RX LEDs:TX (transmit) and RX (receive). by Espressif Systems, contains all crucial elements of
They appear in two places on the Arduino UNO the modern computer: CPU, RAM, networking
board. First, at the digital pins 0 and 1, to indicate the (WiFi), and even a modern operating system and SDK
pins responsible for serial communication. Second, [7].It uses the Lua scripting language. It is based on
the TX and RX led (13). The TX led flashes with the eLua project, and built on the ESP8266 SDK 1.4.
different speed while sending the serial data. The NodeMCU is a development board featuring the
speed of flashing depends on the baud rate used by popular ESP8266 WiFi chip. Its obvious advantage
the board. RX flashes during the receiving process. over the Arduino or PIC is that it can readily connect
to the Internet via WiFi[8]. However, the ESP8266
12. Digital I/O: The Arduino UNO board has 14 breakout board has limited pins although the chip
digital I/O pins (15) (of which 6 provide PWM (Pulse itself has a lot of output ports. The NodeMCU solves
Width Modulation) output. These pins can be this problem by featuring 10 GPIO pins each capable
configured to work as input digital pins to read logic of using PWM, I2C and 1-wire interface. NodeMCU
values (0 or 1) or as digital output pins to drive comes with 128KB RAM and UNO it’s just 2kB RAM
different modules like LEDs, relays, etc. The pins so NodeMCU is having more ram space.ESP8266 is a
labeled “~” can be used to generate PWM. low-cost, WiFi Module chip that can be configured to
connect to the Internet for Internet of Things
13. AREF: AREF stands for Analog Reference. It is (IoT)[9]. NodeMCU is a Firmware on ESP8266. It is
sometimes, used to set an external reference voltage basically an SoC (System on Chip).System on Chip
(between 0 and 5 Volts) as the upper limit for the (SoC) is an integrated circuit that integrates all
analog input pins. components of a computer or other electronic
systems. Programs for the NodeMCU are written in
Disadvantages: Lua, which is an interpreted programming
language similar to Python and Ruby. In many
1. The structure of Arduino is its disadvantage. respects, it’s probably easier to learn than the variant
of C used by the Arduino. It has a much simpler
2. The easy to use hardware/software of Arduino
syntax[10][13].
unable a person to learn the basics of many things
likes Serial communication, ADC, I2C etc. Advantages of NodeMCU platform relative to the
Arduino
International Journal of Scientific Research in Science, Engineering and Technology (ijsrset.com)
9
Low cost Communication IEEE 802.11 IEEE
Integrated support for WIFI network supported b/g/n IEEE 802.11
Reduced size of the board 802.15.4 b/g/n
Low energy consumption 433RF BLE
4.0 via
Shield
Development Arduino IDE Arduino
environments IDE, Lua
Loader
Programming Wiring Wiring, C,
language C++
I/O Connectivity SPI I2C UART,
UART GPIO GPIO
II. CONCLUSION
The comparative study of Arduino and NodeMCU
shows how these platforms are promoting the growth
Comparison between Arduino and NodeMCU
of IoT by utilizing the specific board as per the
intended application. The detailed analysis show that
1. NodeMCU is having 4MBytes of ROM (flash) and
NodeMCU have higher performance in comparison
Arduino UNO is just 32 KB,
with Arduino in terms of its storage and computing
2. NodeMCU can store more code compare to speeds. The Arduino libraries are not very efficient in
Arduino UNO. certain parts and waste RAM and CPU cycles and
there is no integrated support for WIFI
3. NodeMCU comes with micro USB port and network.Where as NodeMCU equipped with inbuilt
Arduino UNO is comes with USB type B connector, wifi to connect to internet and store the data to the
micro USB cable is easy available compare to USB cloud servers if required for further
type B. processing.NodeMCU is a low cost device is a first
choice for implementing sensor networks in an IoT
4. NodeMCU development board is smaller in size scenario.
compared to Arduino UNO.
III. REFERENCES
5. NodeMCU and Arduino UNO priced almost same,
so you can opt to buy NodeMCU. [1]. Ray, P. P. "A survey on Internet of Things
architectures." Journal of King Saud University-
Parameters Arduino Uno NodeMCU Computer and Information Sciences (2016).
Processor ATMega328P ESP8266 [2]. https://www.farnell.com/datasheets/1682209.pd
Operating voltage 5V 5V f
Clock speed 16 MHz 80 MHz – [3]. https://www.raspberrypi.org/documentation/ha
160 MHz rdware/computemodule/RPI-CM-
System memory 2kB 128kB DATASHEET-V1_0.pdf
Flash memory 32 kB 4MB [4]. http://espressif.com/sites/default/files/document
EEPROM 1 kB - ation/0a-esp8266ex_datasheet_en.pdf
International Journal of Scientific Research in Science, Engineering and Technology (ijsrset.com)
10
[5]. Waher, Peter, et al. AUTHOR DETAILS:
[6]. Maksimović, Mirjana, et al. "Raspberry Pi as
Internet of things hardware: performances and Mrs.P. Ashwini, M.tech(CSE), Asst.
constraints." design issues 3 (2014) Professor, Department of Computer
[7]. Di Nisio, A., et al. "Design of a low cost Science& Engineering, Teegala
multipurpose wireless sensor network." Krishna Reddy Engineering College,
Measurements & Networking (M&N), 2015 Hyderabad, T.S-500 097, India.
IEEE International Workshop on. IEEE, 2015.
[8]. Morais, R., Valente, A., Couto, C., Correia, J. H., Mr.Pavan Sista, Department of Computer Science&
"A Wireless RF CMOS Mixed-Signal Interface Engineering, Teegala Krishna Reddy
for Soil Moisture Measurements", Sensors and Engineering College, Hyderabad, T.S-
Actuators A (Physical), Elsevier, volume 115, 500 097, India.
pp: 376-384, 2004.
[9]. Lei Yuan, Xiong construction, Zhao Xiaohui. Mrs.A.RojaRamani ;M.Tech(CSE),
"Wi-Fi-based wireless sensor network design Asst.Professor, Department of Computer Science
and research"Modern electronic technology, Engineering, Teegala Krishna Reddy
volume 18, pp.192-197, 2009. Engineering College, Hyderabad, T.S-
[10]. Garrity, D. P.,Akinnifesi, F. K., Ajayi, O. C, 500 097, India.
Evergreen Agriculture: a robust approach to
sustainable food security in Africa. Food
Security, volume 2, pp. 197- 214, 2010
[11]. J. Domingues, A..Damaso, N. Rosa, WISeMid:
Middleware for IntegratingWireless Sensor
Networks and the Internet, Distributed
Applicationsand Interoperable Systems Lecture
Notes in Computer ScienceVolume 6115, pp 70-
83, 2010.
[12]. Wu Hao, "Internet of Things wireless mobile
communication andapplication analysis",
Computer Knowledge and Technology, Volume
6, pp.5205-5206, 2010.
[13]. R. Roman, P. Najera, and J. Lopez, "Securing the
Internet of Things," IEEE Computer, volume 44,
pp. 51- 58, 2011.
International Journal of Scientific Research in Science, Engineering and Technology (ijsrset.com)
11