0% found this document useful (0 votes)
9 views27 pages

ARM Processor Features and Comparison

core instrumentation concepts

Uploaded by

PRADEEP KUMAR R
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
9 views27 pages

ARM Processor Features and Comparison

core instrumentation concepts

Uploaded by

PRADEEP KUMAR R
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd

EI1601 Industrial Internet of Things Dept.

of EIE

Unit-II IOT AND ARDUINO PROGRAMMING

ARM processor and its Features


Advanced RISC Machine (ARM) Processor is considered to be a family of Central
Processing Units that are used in music players, smartphones, wearables, tablets,
and other consumer electronic devices.
Advanced RISC Machines create the ARM processor architecture, hence the name
ARM. This needs very few instruction sets and transistors. It has very small in size.
This is the reason that it is a perfect fit for small-size devices. It has less power
consumption along with reduced complexity in its circuits.
They can be applied to various designs such as 32-bit devices and embedded
systems. They can even be upgraded according to user needs.

ARM Started with Microcomputing


The applications of the ARM Process start with getting knowledge of the ARM
Processor’s history. Before ARM, x86 processors were used, which were launched
in 1978. Whenever we remove the predefined instructions like complex instructions
and hard-to-implement instructions, the remaining instructions take less power and
pace and run faster, this is called Reduced Instruction Set Computer (RISC)
Architecture. x86 is a Complex Instruction Set Architecture (CISC).
What Makes an ARM Architecture Valuable?
One of the most common electronic architectural designs in the market is Advanced
RISC Machine Architecture, even better than x86, which is very common in the
server market. ARM Architecture is widely used in smartphones, normal phones,
and also in laptops. Though x86 processors have optimized performance ARM
Processor gives cost-effective processors with small size, takes less power to run,
and also gives better battery life.
ARM Processor is not only limited to mobile phones but is also used in Fugaku, the
world’s fastest supercomputer. ARM Processor also gives more feasibility to
designs of hardware designers and also gives control to designer’s supply chains.

Features of ARM Processor


 Multiprocessing System
 Tightly Coupled Memory
 Memory Management
 Thumb-2 Technology
 One-Cycle Execution Time
 Pipelining
 A large number of Registers

1
EI1601 Industrial Internet of Things Dept. of EIE

1. Multiprocessing Systems: ARM processors are designed to be used in cases of


multiprocessing systems where more than one processor is used to process
information. The First AMP processor introduced by the name of ARMv6K could
support 4 CPUs along with its hardware.
2. Tightly Coupled Memory: The memory of ARM processors is tightly coupled.
This has a very fast response time. It has low latency (quick response) that can also
be used in cases of cache memory being unpredictable.
3. Memory Management: ARM processor has a management section. This
includes Memory Management Unit and Memory Protection Unit. These
management systems become very important in managing memory efficiently.

Thumb-2 Technology: Thumb-2 Technology was introduced in 2003 and was used
to create variable-length instruction sets. It extends the 16-bit instructions of initial
Thumb technology to 32-bit instructions. It has better performance than previously
used Thumb technology.
5. One-Cycle Execution Time: ARM processor is optimized for each instruction
on the CPU. Each instruction is of a fixed length that allows time for fetching future
instructions before executing the present instructions. ARM has CPI (Clock Per
Instruction) of one cycle.
6. Pipelining: Processing of instructions is done in parallel using pipelines.
Instructions are broken down and decoded in one pipeline stage. The channel
advances one step at a time to increase throughput (rate of processing).
7. A large number of Registers: A large number of registers are used in ARM
processors to prevent large amounts of memory interactions. Records contain data
and addresses. These act as a local memory store for all operations.

Difference between ARM and x86


The differences between ARM and x86 are described below.

ARM x86

ARM uses Reduced Instruction Set x86 uses Complex Instruction Set
Computing Architecture (RISC). Architecture (CISC).

x86 works by executing complex


ARM works by executing single instruction
instructions at once and it requires
per cycle.
more than one cycle.

2
EI1601 Industrial Internet of Things Dept. of EIE

ARM x86

Performance can be optimized by a Performance can be optimized by


Software-based approach. Hardware based approach.

ARM processors require fewer registers, x86 processors require less memory,
but they require more memory. but more registers.

Execution is slower in an x86


Execution is faster in ARM Processes.
Processor.

ARM Processor work by generating


multiple instructions from a complex x86 Processors work by executing
instruction and they are executed complex statements at a single time.
separately.

ARM processors use the memory which is x86 processors require some extra
already available to them. memory for calculations.

ARM processors are deployed in mobiles x86 processors are deployed in


which deal with the consumption of power, Servers, Laptops where
speed, and size. performance and stability matter.

Advantages of ARM Processor


 ARM processors deal with a single processor at a time, which makes it
faster and it also consumes lesser power.
 ARM processors work in the case of a multiprogramming system, where
more than one processor is used to process information.
 ARM processors are cheaper than other processors, which makes them
usable in mobile phones.
 ARM processors are scalable, and this feature helps it in using a variety of
devices.
Disadvantages of ARM Processor
 ARM processors are not stable with x86 processors, and due to this, they
cannot be used in Windows Systems.
 ARM processors are not capable of very high performance, which limits
them to a variety of applications.
 ARM processor execution is a little hard, which requires skilled
programmers to use it.

3
EI1601 Industrial Internet of Things Dept. of EIE

 ARM processor is inefficient in handling Scheduling instructions.

Advanced RISC Machine (ARM) Processor is defined as family of CPUs that


have wide usage in electronic devices such as smartphones, wearable, tablets and
multimedia players. This processor required minimal number if instructions and
operates on very low power. It has reduced circuit complexity. Due to lesser
circuits, it is perfect fit for small sized devices (It is more relevant now due to
demand for more compact devices). Advantages of ARM Processor:
1. Affordable to create – ARM Processor is very affordable as it does not need
expensive equipment’s for its creation. When compare to other processors, it is
created at much lesser price. This is why they are apt for making of low cost
Mobile phones and other electronic devices.
2. Low Power Consumption – AMP Processors have lesser power consumption.
They were initially designed for performing at lesser power. They even have
lesser transistors in their architecture. They have various other features that
allow for this.
3. Work Faster – ARM performs single operation at a time. This makes it work
faster. It has lower latency that is quicker response time.
4. Multiprocessing feature – ARM processors are designed so that they can be
used in cases of multiprocessing systems where more than one processors are
used to process information. First AMP processor introduced by name of
ARMv6K had ability to support 4 CPUs along with its hardware.
5. Better Battery Life – ARM Processors have better battery life. This is seen
from administering devices that use ARM processors and those that do not.
Those that used ARM processors worked for longer and got discharged later
than those that did not work on ARM processors.
6. Load store architecture – The processor uses load store architecture that
stores data in various registers (to reduce memory interactions). It has separate
load and store instructions that are used to transfer data between external
memory and register bank.
7. Simple Circuits – ARM processors have simple circuits, hence they are very
compact and can be used in devices that are smaller in size (several devices are
becoming smaller and more compact due to customer demands).
8. Power efficiency: ARM processors are designed to be power-efficient, which
is important for mobile devices that are limited by battery life.
9. Cost-effective: ARM processors are often less expensive than other types of
processors, which can make them a cost-effective choice for manufacturers.
[Link] size: ARM processors are smaller in size than other types of processors,
which makes them well-suited for use in small mobile devices.
[Link]: ARM processors are scalable and can be used in a variety of
devices, from low-power devices such as wearables to high-performance
devices such as servers.
Disadvantages of ARM Processor :

4
EI1601 Industrial Internet of Things Dept. of EIE

1. It is not compatible with X86 hence it cannot be used in Windows.


2. The speeds are limited in some processors which might create problems.
3. Scheduling instructions is difficult in case of ARM processors.
4. There must be proper execution of instructions by programmer. This is because
entire performance of ARM processors depend upon their execution.
5. ARM Processor needs very highly skilled programmers. This is because of
importance and complexity of execution (processor shows lesser performance
when not executed properly.).
6. Limited performance: ARM processors may not be as powerful as other types
of processors, which can limit their ability to handle more demanding
applications.
7. Compatibility: Some software may not be compatible with ARM processors,
which can limit the range of applications that can be run on ARM-based
devices.
8. Limited multitasking: ARM processors may not be as efficient at multitasking
as other types of processors, which can limit their ability to run multiple
applications simultaneously.
9. Limited software support: Some software may not be optimized for ARM
processors, which can lead to compatibility issues and performance limitations.

Why Developers Choose ARM for IIoT


As validated by the many major IoT device manufacturers who license it, ARM
architecture is a boon for the industrial Internet of Things. While there are many
reasons to choose ARM, three stand out as it relates to IIoT device development:
1. Low Power Consumption
2. Integrated Components
3. A Global Support Community

Introduction to Internet of Things (IoT)


IoT stands for Internet of Things. It refers to the interconnectedness of physical
devices, such as appliances and vehicles, that are embedded with software, sensors,
and connectivity which enables these objects to connect and exchange data. This
technology allows for the collection and sharing of data from a vast network of
devices, creating opportunities for more efficient and automated systems.
Internet of Things (IoT) is the networking of physical objects that contain
electronics embedded within their architecture in order to communicate and sense
interactions amongst each other or with respect to the external environment. In the
upcoming years, IoT-based technology will offer advanced levels of services and
practically change the way people lead their daily lives. Advancements in medicine,
power, gene therapies, agriculture, smart cities, and smart homes are just a few of
the categorical examples where IoT is strongly established.

5
EI1601 Industrial Internet of Things Dept. of EIE

IOT is a system of interrelated things, computing devices, mechanical and digital


machines, objects, animals, or people that are provided with unique identifiers. And
the ability to transfer the data over a network requiring human-to-human or human-
to-computer interaction.
History of IOT
 1982- Vending machine
 1990-Toaster
 1999-IOT(Kevin Ashton)
 2000-LG Smart Fridge
 2004-Smart Watch
 2007-Smart i phone
 2009-Car Testing
 2011-Smart TV
 2013-Google Lens
 2014-Echo
 2015-Tesla autopilot
Four Key Components of IOT
 Device or sensor
 Connectivity
 Data processing
 Interface
IoT is network of interconnected computing devices which are embedded in
everyday objects, enabling them to send and receive data.
Main Components Used in IoT
 Low-power embedded systems: Less battery consumption, high performance
are the inverse factors that play a significant role during the design of electronic
systems.
 Sensors: Sensors are the major part of any IoT application. It is a physical
device that measures and detects certain physical quantities and converts it into
signal which can be provided as an input to processing or control unit for
analysis purpose.
Different types of Sensors
 Temperature Sensors
 Image Sensors
 Gyro Sensors
 Obstacle Sensors
 RF Sensor
 IR Sensor
 MQ-02/05 Gas Sensor
 LDR Sensor
 Ultrasonic Distance Sensor
 Control Units: It is a unit of small computer on a single integrated circuit
containing microprocessor or processing core, memory and programmable
6
EI1601 Industrial Internet of Things Dept. of EIE

input/output devices/peripherals. It is responsible for major processing work of


IoT devices and all logical operations are carried out here.
 Cloud computing: Data collected through IoT devices is massive, and this
data has to be stored on a reliable storage server. This is where cloud
computing comes into play. The data is processed and learned, giving more
room for us to discover where things like electrical faults/errors are within the
system.
 Availability of big data: We know that IoT relies heavily on sensors,
especially in real-time. As these electronic devices spread throughout every
field, their usage is going to trigger a massive flux of big data.
 Networking connection: In order to communicate, internet connectivity is a
must, where each physical object is represented by an IP address. However,
there are only a limited number of addresses available according to the IP
naming. Due to the growing number of devices, this naming system will not be
feasible anymore. Therefore, researchers are looking for another alternative
naming system to represent each physical object.
Ways of Building IOT
There are two ways of building IoT:
 Form a separate internet work including only physical objects.
 Make the Internet ever more expansive, but this requires hard-core technologies
such as rigorous cloud computing and rapid big data storage (expensive).
IoT Enablers
 RFIDs: uses radio waves in order to electronically track the tags attached to
each physical object.
 Sensors: devices that are able to detect changes in an environment (ex: motion
detectors).
 Nanotechnology: as the name suggests, these are tiny devices with dimensions
usually less than a hundred nanometers.
 Smart networks: (ex: mesh topology).
Working with IoT Devices
 Collect and Transmit Data : For this purpose sensors are widely used they are
used as per requirements in different application areas.
 Actuate device based on triggers produced by sensors or processing
devices: If certain conditions are satisfied or according to user’s requirements if
certain trigger is activated then which action to perform that is shown by
Actuator devices.
 Receive Information: From network devices, users or devices can take certain
information also for their analysis and processing purposes.
 Communication Assistance: Communication assistance is the phenomenon of
communication between 2 networks or communication between 2 or more IoT
devices of same or different networks. This can be achieved by different
communication protocols like: MQTT, Constrained Application Protocol,
ZigBee, FTP, HTTP etc.

7
EI1601 Industrial Internet of Things Dept. of EIE

Characteristics of IoT
 Massively scalable and efficient
 IP-based addressing will no longer be suitable in the upcoming future.
 An abundance of physical objects is present that do not use IP, so IoT is made
possible.
 Devices typically consume less power. When not in use, they should be
automatically programmed to sleep.
 A device that is connected to another device right now may not be connected in
another instant of time.
 Intermittent connectivity – IoT devices aren’t always connected. In order to
save bandwidth and battery consumption, devices will be powered off
periodically when not in use. Otherwise, connections might turn unreliable and
thus prove to be inefficient.

Desired Quality of any IoT Application


Interconnectivity
It is the basic first requirement in any IoT infrastructure. Connectivity should be
guaranteed from any devices on any network then only devices in a network can
communicate with each other.
Heterogeneity
There can be diversity in IoT enabled devices like different hardware and software
configuration or different network topologies or connections, but they should
connect and interact with each other despite so much heterogeneity.
Dynamic in Nature
IoT devices should dynamically adapt themselves to the changing surroundings like
different situations and different prefaces.
Self-adapting and self configuring technology
For example, surveillance camera. It should be flexible to work in different weather
conditions and different light situations (morning, afternoon, or night).
Intelligence
Just data collection is not enough in IoT, extraction of knowledge from the generated
data is very important. For example, sensors generate data, but that data will only
be useful if it is interpreted properly. So intelligence is one of the key characteristics
in IoT. Because data interpretation is the major part in any IoT application because
without data processing we can’t make any insights from data. Hence, big data is
also one of the most enabling technologies in IoT field.
Scalability
The number of elements (devices) connected to IoT zones is increasing day by day.
Therefore, an IoT setup should be capable of handling the expansion. It can be either
expand capability in terms of processing power, storage, etc. as vertical scaling or
horizontal scaling by multiplying with easy cloning.
Identity

8
EI1601 Industrial Internet of Things Dept. of EIE

Each IoT device has a unique identity (e.g., an IP address). This identity is helpful
in communication, tracking and to know status of the things. If there is no
identification then it will directly affect security and safety of any system because
without discrimination we can’t identify with whom one network is connected or
with whom we have to communicate. So there should be clear and appropriate
discrimination technology available between IoT networks and devices.
Safety
Sensitive personal details of a user might be compromised when the devices are
connected to the Internet. So data security is a major challenge. This could cause a
loss to the user. Equipment in the huge IoT network may also be at risk. Therefore,
equipment safety is also critical.
Architecture
It should be hybrid, supporting different manufacturer’s products to function in the
IoT network.
As a quick note, IoT incorporates trillions of sensors, billions of smart systems, and
millions of applications.

Application Domains
IoT is currently found in four different popular domains:
1) Manufacturing/Industrial business - 40.2%
2) Healthcare - 30.3%
3) Security - 7.7%
4) Retail - 8.3%
Modern Applications
 Smart Grids and energy saving
 Smart cities
 Smart homes/Home automation
 Healthcare
 Earthquake detection
 Radiation detection/hazardous gas detection
 Smartphone detection
 Water flow monitoring
 Traffic monitoring
 Wearables
 Smart door lock protection system
 Robots and Drones
 Healthcare and Hospitals, Telemedicine applications
 Security
 Biochip Transponders (For animals in farms)
 Heart monitoring implants (Example Pacemaker, ECG real time tracking)
 Agriculture
 Industry

9
EI1601 Industrial Internet of Things Dept. of EIE

Advantages of IoT
 Improved efficiency and automation of tasks.
 Increased convenience and accessibility of information.
 Better monitoring and control of devices and systems.
 Greater ability to gather and analyze data.
 Improved decision-making.
 Cost savings.
Disadvantages of IoT
 Security concerns and potential for hacking or data breaches.
 Privacy issues related to the collection and use of personal data.
 Dependence on technology and potential for system failures.
 Limited standardization and interoperability among devices.
 Complexity and increased maintenance requirements.
 High initial investment costs.
 Limited battery life on some devices.
 Concerns about job displacement due to automation.
 Limited regulation and legal framework for IoT, which can lead to
confusion and uncertainty.

Difference Between IoT Devices and Computers

Internet of Things (IoT):


The Internet of Things (IoT) is the network of physical objects/devices like
vehicles, buildings, cars, and other items embedded with electronics, software,
sensors, and network connectivity that enables these objects to collect and
exchange data. IoT devices have made human life easier. The IoT devices like
smart homes, smart cars have made the life of humans very comfortable. IoT
devices are now being a part of our day-to-day life.
Computers:
A computer is a hardware device embedded with software in it. The computer does
most of the work like calculations, gaming, web browsers, word processors, e-
mails, etc. The main function of a computer is to compute the functions, to run the
programs. It takes input from the computer and then computes/processes it and
generates the output.

Function of Computer

10
EI1601 Industrial Internet of Things Dept. of EIE

Overview of IoT Vs Computers:


One big difference between IoT devices and computers is that the main function of
IoT devices is not to compute(not to be a computer) and the main function of a
computer is to compute functions and to run programs. But on IoT devices that is
not its main point, it has some other function besides that. As an example like in
cars, the function of IoT devices are not to compute anti-lock breaking or to do
fuel injection, their main function from the point of view of a user is to be driven
and to move you from place to place and the computer is just to help that function.
For example, The main function of the car is not to compute like anti-lock
breaking or to do fuel injection their main function from the point of view of a user
is to drive, to move you from place to place. But when we embed software in it
then the software can be able for fuel limit detection.

Difference between IoT devices and Computers:

Computers
IOT Devices

IoT devices are special-purpose


Computers are general-purpose devices.
devices.

IoT devices can do only a particular


Computers can do so many tasks.
task for which it is designed.

The hardware and software built-in in


The hardware and software built-in in
the computers are streamlined to do
the IoT devices are streamlined for
many tasks(such as calculation, gaming,
that particular task.
music player, etc. )

IoT devices can be cheaper and faster


at a particular task than computers, as A computer can be expensive and slower
IoT devices are made to do that at a particular task than an IoT device.
particular task.

Examples: Music Player- iPod, Examples: Desktop computers, Laptops,


Alexa, smart cars, etc. etc.

Difference between IIOT and IOT


Industrial Internet of Things (IIOT) :
It is network of smart devices that has its own computing capability, which are
connected to form systems that collect, monitor, exchange and analyze data at
11
EI1601 Industrial Internet of Things Dept. of EIE

industrial level. The main focus of the IIOT is specifically on industrial


applications such as manufacturing, power plants, agriculture, oil & gas.
Industrial Internet of Things is a part or we can say a subset of the Internet of
Things, i.e., IIOT comes under IOT, which mainly focuses on industrial
applications. Intelligent devices plays an important role in IIOT which helps in
communicating important information in a better way and also to analyze and
capture data in real time. Using IIOT, business decisions can be made faster and
more accurately and it also helps to grow companies by understanding their
business process in a more better way so that their processes become more
efficient.
2. Internet of Things (IOT) :
It is all about connecting devices that have their own unique identities, as well as
network & are connected to the Internet, embedded with sensors, electronics, &
software which allow it to collect & exchange data over the Internet without any
human interaction.
Main goal of IOT is to convert a dumb device that has no processing capabilities,
into a smarter device that has its own computing capability so that they can
exchange data over the internet and also allowing the device to communicate real-
time data without involving a human being. Using IOT you can connect objects
which you use in your daily life, such as thermostats, irrigation pumps, kitchen
appliances, television to the internet. Example, A light bulb that can be switched
ON using a smartphone application is an IoT device.

Difference between IIOT and IOT


S.
No. IIOT IOT

It focuses on general applications


It focuses on industrial applications such as
1. ranging from wearables to robots
manufacturing, power plants, oil & gas, etc.
& machines.

It uses critical equipment & devices


Its implementation starts with
connected over a network which will cause
small scale level so there is no
2. a life-threatening or other emergency
need to worry about life-
situations on failure therefore uses more
threatening situations.
sensitive and precise sensors.

3. It deals with large scale networks. It deals with small scale networks.

12
EI1601 Industrial Internet of Things Dept. of EIE

S.
No. IIOT IOT

It can be programmed remotely i.e., offers It offers easy off-site


4.
remote on-site programming. programming.

It handles data ranging from medium to It handles very high volume of


5.
high. data.

It requires robust security to protect the


6. It requires identity and privacy.
data.

7. It needs stringent requirements. It needs moderate requirements.

8. It having very long life cycle. It having short product life cycle.

9. It has high- reliability. It is less reliable.

INTRODUCTION TO ARDUINO

Arduino is a versatile, open-source electronics platform that allows users to create


interactive projects easily. It is a development system designed for non-engineers who
want to create their own electronics projects. The user can program the operation of
these parts using integrated development environment software across different
platforms, such as Windows, Linux, etc.
These boards are capable of reading data from various sources such as light sensors
and buttons through their microcontroller to perform an output action, like turning on
LEDs or motors.
Different Types of Arduino Boards
Arduino Uno R3
The Arduino Uno R3 is a popular board among DIY electronics that offers features,
such as 14 digital input/output pins, 6 analog pins, and an ICSP (In-Circuit Serial
Programming) header.
 It runs on the ATmega328P 16MHz microchip providing up to 5V voltage supply
to attached components.
 While it uses a USB-B connector for the computer interface, this doesn’t mean
that projects requiring advanced skills cannot be built with it.

13
EI1601 Industrial Internet of Things Dept. of EIE

 The key specs include 2kB SRAM memory capability, 32kB flash storage space,
and 1KB EEPROM chip along with UART, and I2C SPI communication
capabilities which can also be replaced in case of any problem.
 It is a great choice for anyone wanting to get into DIY electronics and
programming. It can be used for projects both simple and complex.
2. Arduino Nano
The Arduino Nano is highly popular among developers due to its small size yet
considerable capabilities. It shares many of the same features as the UNO, but in a
smaller form, making it great for use on breadboards and other tight spaces. The main
differences from the larger model include:
 There is no onboard DC power jack connection. Instead, it relies on a mini USB
port, which also handles UART bridge chip duties with FTDI’s dedicated FT232
converter included. This means there’s no need for the ATMega16U2 chipset.
 This combination provides powerful control at both modest cost and minimum
space requirements, allowing creative designs to come within reach.
3. Arduino Micro
The Arduino Micro offers features similar to the Leonardo but is significantly smaller
and only has 12 analog I/O pins together with its 20 digital ones.
 This board measures just 18mm wide by 48mm long. It is one of the smallest
boards ever created by Arduino. You can create a keyboard, mouse, or other HID
devices that require minimal space with this Arduino board.
 It comes equipped with an ATmega32U4 microcontroller containing 2.5kB
SRAM, 32KB flash memory, and 1 KB EEPROM for data storage along with
UART, IC2 & SPI communication protocols. It also has special built-in functions
such as HID connectivity.
4. Arduino Leonardo
The Arduino Leonardo is different from the other boards. Given below are its
specifications.
 It uses an ATmega32U4 chip in place of ATMega328P. It offers more pins for IO
(20), PWM (7), and analog input signals (12).
 Instead of needing a second processor or a USB to UART bridge chip, this board
has built-in USB communication. This allows it to connect directly with computers
as either Human Interface Devices or Virtual COM port serial/CDC ports. This
virtual connection enables us to program our Leonardo via its bootloader.
5. Arduino Micro
Arduino Micro is perfect for those who need the power of an Arduino Leonardo in a
breadboard-friendly size.

14
EI1601 Industrial Internet of Things Dept. of EIE

 It offers all of the same functionalities as its larger counterpart, with only one slight
difference.
 It doesn’t have a DC input jack. However, you can still use this tiny board to act
like an HID or Virtual COM port device just as you would on any other Leonardo
model.
To understand the concept of Arduino boards and the different types of Arduino
even better, you can take this comprehensive Arduino course.
6. Arduino Mega2560 Rev3
The Arduino Mega 2560 stands out amongst the other boards.
 It is designed for those situations which require many I/O or peripherals.
 With a powerful ATMega2560 processor, this board boasts an impressive 54 I/O
pins (15 of them can be used as PWM outputs), 16 analog inputs, and 4 UARTs.
 Furthermore, there is more flash storage and SRAM on this basic Arduino than
any other.
 Due to its capability, it has grown in popularity among open-source CNC makers
and 3D printer builders.
 It can be easily implemented into various open-source Programmable Logic
Controllers projects.
7. Arduino Nano 33 BLE
The Arduino Nano 33 BLE is an incredibly powerful board with the same form
factor as its predecessor, the Arduino Nano.
 Featuring Nordic Semiconductors’ advanced NRF52480 32-bit ARM Cortex-M4
processor running at 64MHz and 1MB flash plus 256KB SRAM memory capacity,
it’s a great choice for applications that need more processing power and storage
capabilities than traditional boards provide.
 The most impressive attribute of this device has to be Bluetooth Low Energy
(BLE) support.
 It allows users to leverage both client/host configurations with their compatible
devices while taking advantage of energy efficiency benefits offered by connected
wearables development.
8. Arduino Due
The Arduino Due is a more powerful upgrade of the popular Arduino Mega with its
54 Digital I/Os and 12 Analog inputs.
 Running at 84MHz, this 3.3V-only board offers an Atmel SAM3x8E Arm Cortex-
M3 processor along with USB OTG, DAC, and JTAG interfaces for extra
connectivity options.
 It’s important to note that this device’s I/O pins are not 5V tolerant so be sure you
keep that in mind when getting started on your project.
15
EI1601 Industrial Internet of Things Dept. of EIE

9. LilyPad Arduino Board


Leah Buechley and SparkFun collaborated to create the LilyPad Arduino board, a
wearable e-textile technology. This creative design comes complete with large
connecting pads and a flat back, allowing it to be easily sewn into clothing using
conductive thread. Alongside this are I/O, power, and sensor boards created for use
in e-textiles.
10. Arduino Bluetooth
Arduino Bluetooth is one of the popular types of Arduino boards. The Arduino BT
board is powered by the ATmega168 microcontroller and includes components such
as digital pins (16), analog pins (6), a crystal oscillator (16MHz) reset button, screw
terminals for power connections, and an ICSP header. Programming with this
Bluetooth-enabled controller can be done wirelessly via a Bluetooth connection.
11. Arduino MKR FOX 1200
This board is an ideal choice if your project requires Sigfox connectivity. The Arduino
MKR FOX 1200 provides a cost-effective solution that can be used in the European
region, allowing you to collect data 24/7 without needing any maintenance or
supervision. Using a SAMD21 MCU and Microchip’s Smart RF ATA852o for its
SIGFOX connection, this board offers seamless integration with projects requiring
SIGFOX capabilities.
12. Arduino MKR WAN 1300/1310
The Arduino MKR WAN 1300 and MKR WAN 1310 boards are designed to use
LoRa for wireless communication.
 The newer model, 1310, features a SAMD21 low-power processor and Murata
CMWX1ZZABZ module technology with an ECC508 Crypto chip included for
enhanced security measures.
 It also includes a battery charger, 2MB SPI flash storage capacity, and improved
energy efficiency capabilities compared to its predecessor the 1300 board.
 Lastly, both models support 433/868/915 MHz frequency bands that can be used
in different areas depending on where you’re located.
13. Arduino MKR GSM 1400
The Arduino MKR GSM 1400 is an excellent choice when you need to send and
receive data over the cellular network. Powered by a SAMD21 ARM Cortex M0
MCU, this board has all the features of other MKR boards plus connectivity provided
through u-blox’s SARA-U201 module. It supports several frequency bands, such as
GSM 850MHz, E-GSM 1900MHz, DCS 1800 MHz, and PCS1900MHz. Security
measures are built-in with the ECC508 crypto chip for secure communication. This
makes it ideal for portable projects where power comes from LiPo batteries.
14. Arduino MKR WIFI 1010

16
EI1601 Industrial Internet of Things Dept. of EIE

The Arduino MKR WiFi 1010 is a great option if you are looking for something small
and simple to build your own basic IoT (Internet of Things) project or pico-network.
It has the NINA-W102 module, which allows it to communicate with other systems,
as well as an ECC5087 crypto chip that keeps data secure. The board also comes
complete with an RGB LED. All of this can be powered by nothing than a LiPo
battery.
15. Arduino MKR NB 1500
The Arduino MKR NB 1500 is the ideal solution for projects requiring narrowband
communication in remote locations where internet access isn’t available or when
power to your device can be a challenge. The on-board SARA-R410M-02B module
works with an array of Cat M1/NB1 bands. This makes it suitable for field
deployments and monitoring devices that rely upon solar energy sources.
Additionally, its on-board battery charger plus connector creates an easy way to add
external antenna support.
Other Types of Arduino Boards
The following are some of the other Arduino types.
16. Arduino Diecimila
The Arduino Diecimila microcontroller board enables users to connect their device to
a computer via a USB cable while also using batteries or AC-DC adapters to activate
it. It is powered by the ATmega168 and has a range of features including:
 14 digital I/O pins (6 of which can be used for PWM outputs) and 6 analog
inputs
 A USB connection
 16 MHz crystal oscillator and an ICSP header
 Reset button and power jack
The name ‘Diecimila’ literally means 10,000 in Italian. This particular version of the
USB Arduino reflects the production of over 10 thousand boards. It signifies that these
boards were constructed from the same set within its group. This makes it one of the
most up-to-date products.
17. RedBoard Arduino Board
The RedBoard Arduino board is an easy-to-use device that can be programmed with
the Arduino IDE using a Mini-B USB cable. It is compatible with Windows 8, so you
don’t need to modify your security settings for it to work properly. Furthermore, its
flat design and constant performance because of the FTDI or USB chip make it perfect
for any project.
18. Arduino Robot

17
EI1601 Industrial Internet of Things Dept. of EIE

Arduino Robot is the first robotic platform to feature two microcontroller boards, a
motor board for controlling motors and a control board utilized as an interface to read
sensors.
 This small all-in-one computer is programmed with code via the same language
used by Arduino Leonardo, ATmega32u4.
 With several strategically placed pins connected directly to on-board
actuators/sensors, this robot has limitless possibilities of use.
 Additional features, such as speakers, colour screens, buttons (5), digital
compass (1), SD card reader (1), potentiometers (2) or floor sensors can be
hooked up.
19. Arduino Esplora
The Arduino Esplora is a special type of computer board full of different kinds of
inputs and outputs.
 It is designed to look like a videogame controller, so it already has light sensors,
buttons, microphones, and other features built-in. This makes it easy for you to
connect components, such as actuators or sensors with ease.
 The output includes an LED that lights up three colors and multiple buzzers which
are controlled using the same software used for most Arduinos (an IDE).
 It also has its own library. This simplifies how data from both sensory devices and
mechanical parts can be read/written quickly.
20. Arduino Ethernet
The Arduino Ethernet board is powered by the ATmega328 microcontroller, which
has 5 analog pins, 14 digital I/O pins (including a reset button), and an RJ45
connection for hooking up to the internet via an Ethernet shield. It also has other
components, such as a crystal oscillator, power jack, and ICSP header.
Features of Arduino Boards
The following are some of the key features of Arduino boards.
 Microcontroller: It acts as Arduino’s “brain” by handling all processing tasks and
providing access to input/output pins (I/O).
 Power Supply Source: An external power source, such as a battery or USB port
is needed. Some models also offer alternative methods, like solar panels or AC
adapters that allow more flexibility when powering up.
 Digital & Analog I/O Pins: General-purpose digital inputs and outputs read
signals from sensors or buttons while analogs enable complex elements like
distance sensors or motor controllers to connect easily.
 USB Interface (e.g., FTDI): The serial communication protocol used by most
Arduinos is UART over a mini-USB port. It enables connection with computers
for simple data transfer tasks and programming.

18
EI1601 Industrial Internet of Things Dept. of EIE

 Clock Speed & Memory Capacity: Higher clock speeds result in faster
performance while larger memory capacities enable more complex projects. These
are important considerations when selecting an appropriate Arduino model.

Top Arduino Applications


 Home Automation
 Robotics
 Wearable Technology
 Educational Teaching
 IoT
 Data Logging
 3D Mapping & Printing
 Automated Gardening
 Smart City Projects
 Drones

other application of Arduino in IoT


Arduino is widely used in IoT applications for collecting sensor data, processing it,
and transmitting it to the cloud for analysis and control, enabling the development of
smart and connected devices and systems.
Toolchain (IDE Integrated Development Environment)
A toolchain is a set of programming tools that is used to perform a complex set
of operations. In the Arduino Software (IDE) the toolchain is hidden from the
user, but it is used to compile and upload the user Sketch. It includes compiler,
assembler, linker and Standard C & math libraries.

Arduino Programming Structure


Arduino programs can be divided in three main parts: Structure,
Values (variables and constants), and Functions.
Let us start with the Structure. Software structure consist of two main functions
Setup() function
Loop( ) function

The setup () function is called when a sketch starts. Use it to initialize the
variables, pin modes, start using libraries, etc. The setup function will only run
once, after each power up or reset of the Arduino board.

After creating a setup() function, which initializes and sets the initial values,
the loop() function does precisely what its name suggests, and loops consecutively,
allowing your program to change and respond. Use it to actively control the
Arduino board.

19
EI1601 Industrial Internet of Things Dept. of EIE

Data types in C refers to an extensive system used for declaring variables or


functions of different types. The type of a variable determines how much space it
occupies in the storage and how the bit pattern stored is interpreted.
The following table provides all the data types that you will use during Arduino
programming.

Unsigned
void Boolean char byte int Unsigned int word
char

Unsigned String-char String-


long short float double array
long array object

void
The void keyword is used only in function declarations. It indicates that the
function is expected to return no information to the function from which it was
called.

What is Variable Scope?

Variables in C programming language, which Arduino uses, have a property called


scope. A scope is a region of the program and there are three places where variables
can be declared. They are −

 Inside a function or a block, which is called local variables.


 In the definition of function parameters, which is called formal parameters.
 Outside of all functions, which is called global variables.

Local Variables

Variables that are declared inside a function or block are local variables. They can
be used only by the statements that are inside that function or block of code. Local
variables are not known to function outside their own. Following is the example
using local variables −

Void setup () {

Void loop () {

20
EI1601 Industrial Internet of Things Dept. of EIE

int x , y ;
int z ; Local variable declaration
x = 0;
y = 0; actual initialization
z = 10;
}

Global Variables

Global variables are defined outside of all the functions, usually at the top of the
program. The global variables will hold their value throughout the life-time of your
program.

A global variable can be accessed by any function. That is, a global variable is
available for use throughout your entire program after its declaration.

The following example uses global and local variables −

Int T , S ;
float c = 0 ; Global variable declaration

Void setup () {

Void loop () {
int x , y ;
int z ; Local variable declaration
x = 0;
y = 0; actual initialization
z = 10;
}

An operator is a symbol that tells the compiler to perform specific mathematical or


logical functions. C language is rich in built-in operators and provides the following
types of operators −

 Arithmetic Operators
 Comparison Operators
 Boolean Operators
 Bitwise Operators
 Compound Operators

21
EI1601 Industrial Internet of Things Dept. of EIE

Input/Output from Pins Using Sketches

Pins Configured as INPUT


Arduino pins are by default configured as inputs, so they do not need to be
explicitly declared as inputs with pinMode() when you are using them as inputs.
Pins configured this way are said to be in a high-impedance state. Input pins make
extremely small demands on the circuit that they are sampling, equivalent to a
series resistor of 100 megaohm in front of the pin.

This means that it takes very little current to switch the input pin from one
state to another. This makes the pins useful for such tasks as implementing a
capacitive touch sensor or reading an LED as a photodiode.
Pins configured as pinMode(pin, INPUT) with nothing connected to them, or
with wires connected to them that are not connected to other circuits, report
seemingly random changes in pin state, picking up electrical noise from the
environment, or capacitively coupling the state of a nearby pin.

Pull-up Resistors
Pull-up resistors are often useful to steer an input pin to a known state if no
input is present. This can be done by adding a pull-up resistor (to +5V), or a pull-
down resistor (resistor to ground) on the input. A 10K resistor is a good value for a
pull-up or pull-down resistor.

Pins Configured as OUTPUT


Pins configured as OUTPUT with pinMode() are said to be in a low-impedance
state. This means that they can provide a substantial amount of current to other
circuits. Atmega pins can source (provide positive current) or sink (provide negative
current) up to 40 mA (milliamps) of current to other devices/circuits. This is enough
current to brightly light up an LED (do not forget the series resistor), or run many
sensors but not enough current to run relays, solenoids, or motors.

pinMode() Function
The pinMode() function is used to configure a specific pin to behave either as
an input or an output. It is possible to enable the internal pull-up resistors with the
mode INPUT_PULLUP. Additionally, the INPUT mode explicitly disables the
internal pull-ups.

pinMode() Function Syntax

Void setup () {
pinMode (pin , mode);

22
EI1601 Industrial Internet of Things Dept. of EIE

 pin − the number of the pin whose mode you wish to set
 mode − INPUT, OUTPUT, or INPUT_PULLUP.

Example
int button = 5 ; // button connected to pin 5
int LED = 6; // LED connected to pin 6

void setup () {
pinMode(button , INPUT_PULLUP);
// set the digital pin as input with pull-up resistor
pinMode(button , OUTPUT); // set the digital pin as
output
}

void setup () {
If (digitalRead(button ) == LOW) // if button pressed {
digitalWrite(LED,HIGH); // turn on led
delay(500); // delay for 500 ms
digitalWrite(LED,LOW); // turn off led
delay(500); // delay for 500 ms
}
}

digitalWrite() Function
The digitalWrite() function is used to write a HIGH or a LOW value to a digital
pin. If the pin has been configured as an OUTPUT with pinMode(), its voltage will
be set to the corresponding value: 5V (or 3.3V on 3.3V boards) for HIGH, 0V
(ground) for LOW. If the pin is configured as an INPUT, digitalWrite() will enable
(HIGH) or disable (LOW) the internal pullup on the input pin. It is recommended to
set the pinMode() to INPUT_PULLUP to enable the internal pull-up resistor.

If you do not set the pinMode() to OUTPUT, and connect an LED to a pin,
when calling digitalWrite(HIGH), the LED may appear dim. Without explicitly
setting pinMode(), digitalWrite() will have enabled the internal pull-up resistor,
which acts like a large current-limiting resistor.

digitalWrite() Function Syntax


Void loop() {
digitalWrite (pin ,value);
}
 pin − the number of the pin whose mode you wish to set
 value − HIGH, or LOW.
23
EI1601 Industrial Internet of Things Dept. of EIE

Example
int LED = 6; // LED connected to pin 6

void setup () {
pinMode(LED, OUTPUT); // set the digital pin as output
}

void setup () {
digitalWrite(LED,HIGH); // turn on led
delay(500); // delay for 500 ms
digitalWrite(LED,LOW); // turn off led
delay(500); // delay for 500 ms
}

analogRead( ) function
Arduino is able to detect whether there is a voltage applied to one of its pins and
report it through the digitalRead() function. There is a difference between an on/off
sensor (which detects the presence of an object) and an analog sensor, whose value
continuously changes. In order to read this type of sensor, we need a different type
of pin.
In the lower-right part of the Arduino board, you will see six pins marked “Analog
In”. These special pins not only tell whether there is a voltage applied to them, but
also its value. By using the analogRead() function, we can read the voltage applied
to one of the pins.
This function returns a number between 0 and 1023, which represents voltages
between 0 and 5 volts. For example, if there is a voltage of 2.5 V applied to pin
number 0, analogRead(0) returns 512.
analogRead() function Syntax
analogRead(pin);

Example

int analogPin = 3;//potentiometer wiper (middle terminal)


// connected to analog pin 3
int val = 0; // variable to store the value read

void setup() {
[Link](9600); // setup serial
}

void loop() {
val = analogRead(analogPin); // read the input pin
[Link](val); // debug value

24
EI1601 Industrial Internet of Things Dept. of EIE

analogReference() Function

Configures the reference voltage used for analog input (i.e. the value used as the top
of the input range). The options are −

 DEFAULT − The default analog reference of 5 volts (on 5V Arduino boards)


or 3.3 volts (on 3.3V Arduino boards)
 INTERNAL − An built-in reference, equal to 1.1 volts on the ATmega168 or
ATmega328 and 2.56 volts on the ATmega8 (not available on the Arduino
Mega)
 INTERNAL1V1 − A built-in 1.1V reference (Arduino Mega only)
 INTERNAL2V56 − A built-in 2.56V reference (Arduino Mega only)
 EXTERNAL − The voltage applied to the AREF pin (0 to 5V only) is used
as the reference
analogReference() Function Syntax
analogReference (type);

Example

int analogPin = 3;// potentiometer wiper (middle terminal)


connected to analog pin 3
int val = 0; // variable to store the read value

void setup() {
[Link](9600); // setup serial
analogReference(EXTERNAL); // the voltage applied to
the AREF pin (0 to 5V only)
// is used as the reference.
}

void loop() {
val = analogRead(analogPin); // read the input pin
[Link](val); // debug value
}

Arduino IDE
The Arduino IDE is an open-source software, which is used to write and upload code
to the Arduino boards. The IDE application is suitable for different operating systems

25
EI1601 Industrial Internet of Things Dept. of EIE

such as Windows, Mac OS X, and Linux. It supports the programming languages C


and C++. Here, IDE stands for Integrated Development Environment.

The program or code written in the Arduino IDE is often called as sketching. We need
to connect the Genuino and Arduino board with the IDE to upload the sketch written
in the Arduino IDE software. The sketch is saved with the extension '.ino.'

Introduction to Arduino Shields


Arduino shields are the boards, which are plugged over the Arduino board to expand
its functionalities. There are different varieties of shields used for various tasks, such
as Arduino motor shields, Arduino communication shields, etc.

Shield is defined as the hardware device that can be mounted over the board to
increase the capabilities of the projects. It also makes our work easy. For example,
Ethernet shields are used to connect the Arduino board to the Internet.

The pin position of the shields is similar to the Arduino boards. We can also connect
the modules and sensors to the shields with the help of the connection cable.

Arduino motor shields help us to control the motors with the Arduino board.

Arduino shields are boards that can be plugged on top of the Arduino PCB extending
its capabilities. Shields are easy to mount, and cheap to produce. These accessory
hardware items allow you to control Arduino projects with your phone, with a blue
tooth shield or even a touch screen to add a visual component. Within this section,
there is a large database of shield makers to choose from, as well as, some examples
of particularly interesting shields.

Arduino Boards
Arduino is an easy-to-use open platform to create electronics projects. Arduino boards
play a vital role in creating different projects. It makes electronics accessible to non-
engineers, hobbyists, etc.

The various components present on the Arduino boards are Microcontroller, Digital
Input/output pins, USB Interface and Connector, Analog Pins, Reset Button,
Power button, LED's, Crystal Oscillator, and Voltage Regulator. Some
components may differ depending on the type of board.

The most standard and popular board used over time is Arduino UNO. The
ATmega328 Microcontroller present on the UNO board makes it rather powerful than
other boards. There are various types of Arduino boards used for different purposes

26
EI1601 Industrial Internet of Things Dept. of EIE

and projects. The Arduino Boards are organized using the Arduino (IDE), which can
run on various platforms. Here, IDE stands for Integrated Development Environment.

Arduino sensors
Arduino is the open-source platform used for making custom electronics projects.
Before learning about the Arduino Sensors, lets first understand the sensors as a
general term.

What are the sensors?


The sensors are defined as a machine, module, or a device that detect changes in the
environment. The sensors transfer those changes to the electronic devices in the form
of a signal.

A sensor and electronic devices always work together. The output signal is easily
readable by humans.

Nowadays, Sensors are used in daily lives. For example, controlling the brightness of
the lamp by touching its base, etc. The use of sensors is expanding with new
technologies.

Actuator
Mechanical/Electro-Mechanical device
Converts energy into motion
Mainly used to provide controlled motion to other components

Types of Motor Actuators


Servo motors, stepper motor, Hydraulic motor, Solenoid, Relay, AC motor,

Servo motor
 High precision motor,
 Provides rotary motion from 0 to 180 degree
 3 wires in the servo motor
 Black or darkest one to the ground
 Red for power supply
 Yellow for signal pin
Arduino library
Servo myservo;

27

You might also like