0% found this document useful (0 votes)
77 views58 pages

Embedded Systems and IoT Overview

AIROBOSOFT Product and Services LLP is an Indian engineering and electronics company founded in 2013, specializing in wireless communication technology and embedded systems. The company aims to lead the software industry by providing quality services and fostering long-term relationships with clients, while also focusing on innovation and customer satisfaction. Their offerings include embedded application development, web design, and various products such as smart surveillance systems and industrial automation solutions.

Uploaded by

rajannanshm
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)
77 views58 pages

Embedded Systems and IoT Overview

AIROBOSOFT Product and Services LLP is an Indian engineering and electronics company founded in 2013, specializing in wireless communication technology and embedded systems. The company aims to lead the software industry by providing quality services and fostering long-term relationships with clients, while also focusing on innovation and customer satisfaction. Their offerings include embedded application development, web design, and various products such as smart surveillance systems and industrial automation solutions.

Uploaded by

rajannanshm
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

EMBEDDED SYSTEM WITH IOT 2024-25

CHAPTER 1

COMPANY PROFILE

1.1 INTRODUCTION

AIROBOSOFT Product and Services LLP is an Indian based engineering and


Electronics Company headquartered in Bangalore, Karnataka, India. It is both product and
service-oriented software company having its products in wireless communication Technology
and provides quality service to its valuable clients in its domain.

1.2 HISTORY

➢ The company was legally registered in the year 2013, but it made its humble beginning
in the year 2012 with a team of six members. In the beginning the team started designing
some protocols for wireless communication with a range up to 4 to 5 km line of sight.
The company handled various projects and successfully completed them satisfying the
client requirement. After the successful completion of the project and achieving
customer satisfaction the number of clients increased who sincerely served with respect
and faith.
➢ That is how the company started generating the revenue. Even though the team
members were experts in embedded electronics, Java, Dot net and android, the company
simultaneously established itself to develop websites and few latest apps based on the
client requirement. The company was later registered on 24th December 2013 and
established a well-equipped office space with good R&D unit and supporting
infrastructure. It started recruiting people with great skills and expertise for different
domains of company and started working with new hopes and enthusiasm. Presently
the company have around 25 employees including all the departments like Embedded,
Java, Dot net, android, Testing, PCB design, IOT and so on. The company is working
with many Industrial projects in different domains and working for its own products
1.3 COMPANY STRATERGY
➢ Purpose: To be a leader in the software Industry by providing enhanced services,
relationship and profitability.
➢ Vision: To provide quality services that exceeds the expectations of our esteemed
customers.

DEPARTMENT OF ECE, GEC HUVINAHADAGALI 1|Page


EMBEDDED SYSTEM WITH IOT 2024-25

➢ Mission: To build long term relationships with our customers and clients and provide
exceptional customer services by pursuing business through innovation and advanced
technology.
➢ Core values:

▪ To incorporate good business practices in order to achieve customer satisfaction and


treating the customers with respect and faith.

▪ To grow through creativity, invention and innovation.

▪ To integrate honesty, integrity and business ethics into all aspects of the business
functioning.

➢ Goals:

▪ To improve, grow and become more efficient in the field electronics engineering and
software development and develop a strong base of key clients.

▪ To understand customer requirements and fulfill them.

▪ Increase the assets and investments of the organization to support the development of
services and expansion of the organization.

▪ To increase the productivity and improve the customer service satisfaction.

▪ To do Innovations in Embedded Electronics and provide quality services to deliver a


range of products.

1.4 COMPANY SERVICES


INVENTERON Product And Services LLP have its own services such as,
• Embedded Applications development

• Web design and development

• IT Service.

• Server Maintenance

• Project Management

• Company Product

DEPARTMENT OF ECE, GEC HUVINAHADAGALI 2|Page


EMBEDDED SYSTEM WITH IOT 2024-25

INVENTERON Product And Services LLP have it company products like-


• Smart Surveillance system

• Safety and Security Systems

• Industrial Automation

• Hone Automation

• Biometrics

• Smart Traffic Systems

• Vehicle Tracking Systems

• Tower Management System

• Education Management Systems

• Hotel Management System

• Personal safety Equipment’s

• Wireless Communication Devices

• LED Products

• Water Controlling Units

• Water level controller

• smart ration management system


1.5 DOMAINS
INVENTERON Product And Services LLP have working with several domains like-
• IT

• Government

• Food and Beverages

• Health Care

• Outsourcing

• HR Management

DEPARTMENT OF ECE, GEC HUVINAHADAGALI 3|Page


EMBEDDED SYSTEM WITH IOT 2024-25

1.6 DEPARTMENTS
• Production: Production is the functional area responsible for turning inputs into
finished outputs through a series of production processes. The Production Manager is
responsible for making sure that the materials required are available at the time of
developing the product. The Production manager must make sure the work is carried
out smoothly and must supervise procedures for making work more efficient. A product
is anything that can be offered to a market that might satisfy a want or need.
• Marketing: These are the main section of the market departments:

• Sales department is responsible for the sales and distribution of the products to the
different regions.

• Research & Department is responsible for market research and testing new products
to make sure that they are suitable to be sold.

• Promotion department decides on the type of promotion method for the products,
arranges advertisements and the advertising media used.

• Distribution department distributes the products across the industries.

• Embedded System and Internet of Things (IOT) department.

• Machine learning and web development department.

DEPARTMENT OF ECE, GEC HUVINAHADAGALI 4|Page


EMBEDDED SYSTEM WITH IOT 2024-25

CHAPTER 2

DEPARTMENTAL ACTIVITIE

2. INTRODUCTION TO EMBEDDED SYSTEM

Embedded system is a combination of hardware & software which is designed to


perform one or more specific set of functions. In an embedded system, there is only one
application software that is typically burned into ROM. An embedded system is
a controller with a dedicated function within a larger mechanical or electrical system, often
with real-time computing constraints. It is embedded as part of a complete device often
including hardware and mechanical parts. Embedded systems control many devices in common
use today. Ninety-eight percent of all microprocessors manufactured are used in embedded
systems.

Modern embedded systems are often based on microcontrollers (i.e. microprocessors


with integrated memory and peripheral interfaces), but ordinary microprocessors (using
external chips for memory and peripheral interface circuits) are also common, especially in
more complex systems. In either case, the processor(s) used may be types ranging from general
purpose to those specialized in certain class of computations, or even custom designed for the
application at hand. A common standard class of dedicated processors is the digital signal
processor (DSP). Since the embedded system is dedicated to specific tasks, design engineers
can optimize it to reduce the size and cost of the product and increase the reliability and
performance. Some embedded systems are mass-produced, benefiting from economies of
scale.

2.1 Features of Embedded System


• Embedded systems are small size, low power consumption, rugged operating ranges &
low per unit cost.
• Embedded systems are based on microcontroller i.e. CPUs with integrated memory or
peripheral interfaces.
• Wide variety of operating systems and processors are used in embedded systems.
• They are small in size.
• They are highly reliable.
• The power consumption is very low.

DEPARTMENT OF ECE, GEC HUVINAHADAGALI 5|Page


EMBEDDED SYSTEM WITH IOT 2024-25

Fig 2.1: Embedded System

An embedded system is a controller with a dedicated function within a larger


mechanical or electrical system as shown in the Fig.3.1. Embedded system Hardware
components are as follows.
• Power supply

• Processor

• Memory

• Timers/Counters

• Communication ports

• Assembler

• Application specific circuits

• Reset & oscillator circuits

• Input devices interfacing / Driver circuits

• Output devices interfacing / Driver circuits

• Interrupt controller

DEPARTMENT OF ECE, GEC HUVINAHADAGALI 6|Page


EMBEDDED SYSTEM WITH IOT 2024-25

An embedded system is a system that has software embedded in computer hardware. It


makes a system dedicated to a specific part of an application or product of a larger system.
Depending on the application, embedded system may be programmable or non-programmable.
Examples of embedded systems include various products such as washing machine, microwave
ovens, cameras, printers and automobiles. They use microprocessors and microcontrollers as
well as specially designed processors such as digital signal processors (DSP).

Fig 2.2: Components of Embedded System


2.2 APPLICATIONS OF EMBEDDED SYSTEM
Embedded systems find wide applications in day-to-day situations and in real time
applications few of them have been listed below.
▪ EMBEDDED SYSTEM FOR DETECTING RASH DRIVING ON HIGHWAYS
The main intention of this project is to design a highway speed-checker device that
identifies rash driving on highways and alarms the traffic authorities if the speed
checker finds any vehicle violating the set speed limits on highways.
• APPLICATION OF EMBEDDED SYSTEM FOR STREET LIGHT CONTROL
The main intention of this project is to detect the movement of vehicles on highways and to
switch on street lights ahead of it, and then to switch off the street lights as the vehicle go past
the street lights to conserve energy. In this project, a PIC microcontroller is programmed by
using embedded C or assembly language.

• EMBEDDED SYSTEM FOR TRAFFIC SIGNAL CONTROL SYSTEM


The main goal of this project is to design a density-based traffic signal system. At
every junction, the signal timing changes automatically according to the traffic

DEPARTMENT OF ECE, GEC HUVINAHADAGALI 7|Page


EMBEDDED SYSTEM WITH IOT 2024-25

density at every junction. Traffic jam is a major problem in many cities across the
world and gives regular nightmares to the commuters and travelers.
• APPLICATION OF EMBEDDED SYSTEM FOR VEHICLE TRACKING
The main purpose of this project is to find the exact location of a vehicle by using a GPS
modem and in order to reduce vehicle thefts. The GSM modem sends an SMS to a
predefined mobile which stores the data in it. An LCD display is used to display the
location information in terms of latitude and longitude values. The microcontroller
(AT89C52) is preprogrammed with the Kiel software and therefore, continuously
checks the GPS modem.
• EMBEDDED SYSTEM FOR AUTO INTENSITY CONTROL
This project is designed to auto intensity control of LED based street lights by using
solar power from the photovoltaic panels. The awareness for solar energy is increasing,
and many institutions and peoples are opting solar energy. In this project, Photovoltaic
panels are used for charging batteries by converting the sun energy into electrical
energy. A solar charge controller circuit is used to control the charging.
• APPLICATION OF EMBEDDED SYSTEM FOR HOME AUTOMATION
SYSTEM
The main purpose of this project is to design a home automation system with the
Android application based remote control. Remote operation is performed by Android
OS based smart-phone or Tablet etc., upon a Graphical User Interface based touch
screen operation.
2.3 Computing System vs Embedded System
Introduction to Computing System:
A computing system refers to an integrated set of hardware and software that
works together to perform tasks, process data, and execute instructions. These systems are
designed to receive input, process it using a central processing unit (CPU), store
information in memory, and produce output in a meaningful form. The hardware includes
physical components like the processor, memory units (RAM/ROM), storage devices, and
input/output peripherals. Computing systems are categorized into general-purpose systems
such as personal computers, laptops, and servers and special-purpose or embedded systems
found in devices like washing machines, smartphones, and medical instruments. They are
essential across various domains including education, healthcare, manufacturing,
transportation, and communication, enabling automation, faster computation, and
intelligent decision-making.

DEPARTMENT OF ECE, GEC HUVINAHADAGALI 8|Page


EMBEDDED SYSTEM WITH IOT 2024-25

Fig 2.3: Introduction of computing system


Introduction to Embedded System:
An embedded system is a microprocessor or microcontroller-based computing
system designed to perform a specific function or set of functions within a larger device.
Unlike general-purpose computers, embedded systems are dedicated to a particular task,
which makes them highly efficient and optimized for performance, power, and cost. These
systems combine hardware (such as sensors, actuators, and input/output interfaces) with
embedded software that controls the operation of the device. Embedded systems can be
found in a wide range of applications such as washing machines, microwave ovens, ATM
machines, digital cameras, automobiles, medical devices, and industrial robots. With the
rise of the Internet of Things (IoT), embedded systems have become increasingly important
in smart devices and automation technologies.

Fig 2.4: Embedded system

DEPARTMENT OF ECE, GEC HUVINAHADAGALI 9|Page


EMBEDDED SYSTEM WITH IOT 2024-25

2.4 ESS System on Chip (SoC) and System on Board (SoB):


System on Chip (SoC):
A System on Chip (SoC) is an advanced integrated circuit (IC) that combines
all the essential components of a computer or electronic system into a single chip. These
components typically include the central processing unit (CPU), memory (RAM/ROM),
input/output interfaces, graphics processing unit (GPU), and sometimes communication
modules like Wi-Fi or Bluetooth. SoCs are designed to perform specific or general-purpose
computing tasks with high efficiency, low power consumption, and compact size. They are
widely used in mobile devices, embedded systems, and Internet of Things (IoT)
applications, where space and power are limited.

Fig 2.5: Parts of System on Chip


System on Board (SoB):

Fig 2.6: System on Board


A System on Board (SoB) is a complete electronic system assembled on a single
printed circuit board (PCB). It typically integrates a System on Chip (SoC) along with
memory, storage, power management, and input/output interfaces required to run
embedded applications. The SoB acts as a fully functional computing platform, meaning it
can operate independently without needing additional hardware.

DEPARTMENT OF ECE, GEC HUVINAHADAGALI 10 | P a g e


EMBEDDED SYSTEM WITH IOT 2024-25

It is widely used in embedded systems, IoT devices, robotics, and prototyping due to its
compact size and plug-and-play nature. Unlike SoC, which is just a chip, SoB includes both
the SoC and supporting components on one board, offering a ready-to-use development
and deployment platform.

Processors in embedded system:


Embedded processors can be broken into two broad categories: ordinary microprocessors
(μP) and microcontrollers (μC).
1. microprocessors(μP)
The microprocessor (CPU) is the brain of the system and needs support from other parts like
RAM (for temporary data), ROM (for permanent instructions), I/O ports (to connect with
input/output devices), a timer (for time-based tasks), and a serial port (for communication with
other devices). All these parts are connected through buses, which help in transferring data and
signals between them. This setup allows the microprocessor to perform various tasks in an
embedded system.

Fig 2.7: microprocessor


2. Microcontroller(μC)
A microcontroller is a compact integrated circuit that has all the essential components built into
one chip. It contains a CPU (Central Processing Unit) to control operations, RAM for
temporary data storage, ROM to store permanent instructions or programs, I/O ports to connect
with external devices (like sensors and LEDs), a Timer for time-related tasks, and a Serial Port
for communication with other devices. All these parts are connected through buses, which carry
data and signals between them. Since everything is built-in, microcontrollers are ideal for
small, dedicated tasks in embedded systems.

DEPARTMENT OF ECE, GEC HUVINAHADAGALI 11 | P a g e


EMBEDDED SYSTEM WITH IOT 2024-25

• A fairly large number of basic CPU architectures are used- Von Neumann and Harvard
architectures.
• RISC and CISC.
• Word lengths vary from 4- bits to 64- bits and beyond (mainly in DSP processors).

Fig 2.8: microcontroller


2.5 Processor Cycles and types
A processor cycle refers to the steps a CPU takes to execute instructions. These cycles are
part of the instruction cycle, also known as the fetch-decode-execute cycle. Here are the
main types:

1. Fetch cycle:
In the fetch cycle, the processor retrieves the next instruction from memory using the Program
Counter (PC). The instruction is then placed into the Instruction Register (IR).
Example: Fetches ADD A, B from address 1000.
2. Decode Cycle:
The fetched instruction is sent to the Control Unit, where it is decoded to determine the
operation to perform and the resources (ALU, registers, memory) required.
Example: Understands ADD A, B means add two registers.
[Link] Cycle:
The processor performs the operation specified by the instruction. This may include arithmetic,
logical operations, data movement, or control functions, often using the ALU.
Example: Adds values in A and B, stores result in A.

DEPARTMENT OF ECE, GEC HUVINAHADAGALI 12 | P a g e


EMBEDDED SYSTEM WITH IOT 2024-25

2.6 Memory Types: RAM and ROM


Memory in a computer system is broadly classified into RAM (Random Access
Memory) and ROM (Read-Only Memory). Both play crucial roles in data storage and
processing.
[Link] (Random Access Memory)
RAM is a volatile memory, meaning it loses all data when power is turned off. It is
used to store data and instructions temporarily while the CPU is actively using them, main
types of RAMS:
a) SRAM (Static RAM):
Static RAM uses flip-flop circuits to store each bit of data, which makes it faster and
more reliable, but also more expensive and power-consuming. It is mainly used in CPU
cache memory.
b) DRAM (Dynamic RAM):
Dynamic RAM stores data using capacitors and needs to be refreshed periodically to
retain information. Although slower than SRAM, DRAM is cheaper and is commonly
used as the main memory in computers and other.
[Link] (Read Only Memory)
ROM is a non-volatile memory, meaning it retains its contents even when the power is
turned off. ROM is primarily used to store firmware or permanent instructions that are required
for the computer to start up and operate hardware components. There are several types of ROM,
each with different features and usage, main types of ROM:
a) PROM (Programmable ROM):
PROM is a type of ROM that can be programmed only once after manufacturing. Once
programmed, the data cannot be changed.
b) EPROM (Erasable Programmable ROM):
EPROM allows data to be erased using ultraviolet (UV) light and can be reprogrammed
multiple times, though it requires special equipment to do so.
c) EEPROM (Electrically Erasable PROM):
EEPROM overcomes this limitation by allowing data to be erased and rewritten
electrically without removing the chip from the circuit. It is slower than RAM but very
useful for storing system BIOS and microcontroller firmware.

DEPARTMENT OF ECE, GEC HUVINAHADAGALI 13 | P a g e


EMBEDDED SYSTEM WITH IOT 2024-25

d) Flash Memory (a type of EEPROM):


A widely used and advanced type of EEPROM is Flash Memory, which allows faster
and block-level access for erasing and writing. Flash memory is commonly used in
USB drives, SSDs, and memory cards.
2.7 Von Neumann and Harvard architecture

1. Von Neumann architecture


The Von Neumann architecture is a computer design model where the CPU, memory,
and input/output devices are all connected by a single system bus. In this architecture, both
program instructions and data are stored in the same memory and share the same
communication pathways. Since instructions and data use the same bus, the CPU cannot fetch
instructions and access data at the same time. This limitation is known as the Von Neumann
bottleneck, which can slow down performance. It is a simple and flexible design widely used
in general-purpose computers.

Fig 2.9: Von Neumann architecture


2. Harvard architecture

Fig 2.10: Harvard architecture

DEPARTMENT OF ECE, GEC HUVINAHADAGALI 14 | P a g e


EMBEDDED SYSTEM WITH IOT 2024-25

The Harvard architecture is a computer design in which the instruction memory and
data memory are physically separated and use different buses. This allows the CPU to fetch
instructions and read/write data simultaneously, improving performance and efficiency. This
architecture is commonly used in microcontrollers, DSPs (Digital Signal Processors), and
embedded systems, where speed and real-time processing are important. It is more complex
than Von Neumann but offers better performance for specific tasks
2.8 INTRODUCTION TO IOT (Internet of Things)
The internet of Things (IOT) is the network of physical objects or “things” embedded with
electronics, software, sensors, and network connectivity, which enables these objects to collect
and exchange data. IOT has many applications in agriculture, smart cities, smart home,
healthcare, business sectors, Traffic monitoring, transport and logistics etc. This is growing
mega trend that will influence everything from businesses to our daily personal lives.

Fig 2.11: Internet of Things


The internet of things, or IOT, is a system of interrelated computing devices, mechanical and
digital machines, objects, animals or people that are provided with unique identifiers (UIDs)
and the ability to transfer data over a network without requiring human-to-human or human-
to-computer interaction as shown in the above Fig.2.3. The definition of the Internet of things
has evolved due to the convergence of multiple technologies, real-time analytics, machine
learning, commodity sensors, and embedded systems. Traditional fields of embedded
systems, wireless sensor networks, control systems, automation (including home and building
automation), and others all contribute to enabling the Internet of things. In the consumer

DEPARTMENT OF ECE, GEC HUVINAHADAGALI 15 | P a g e


EMBEDDED SYSTEM WITH IOT 2024-25

market, IoT technology is most synonymous with products pertaining to the concept of the
"smart home", covering devices and appliances (such as lighting fixtures, thermostats, home
security systems and cameras, and other home appliances) that support one or more common
ecosystems, and can be controlled via devices associated with that ecosystem, such as smart
phones and smart speakers.
2.9 APPLICATIONS OF IOT
CONSUMER APPLICATIONS:
A growing portion of IOT devices are created for consumer use, including connected
vehicles, home automation, wearable technology (as part of Internet of Wearable Things
(IOWT), connected health, and appliances with remote monitoring capabilities.
a. Smart home
IOT devices are a part of the larger concept of home automation, which can include lighting,
heating and air conditioning, media and security systems. Long-term benefits could include
energy savings by automatically ensuring lights and electronics are turned off. A smart home
or automated home could be based on a platform or hubs that control smart devices and
appliances. For instance, using Apple's Home Kit, manufacturers can have their home products
and accessories controlled by an application in IOS devices such as the iphone and the Apple
Watch. This could be a dedicated app or IOS native applications such as Siri. This can be
demonstrated in the case of Lenovo's Smart Home Essentials, which is a line of smart home
devices that are controlled through Apple's Home app or Siri without the need for a Wi-Fi
bridge
b. Elder care
One key application of a smart home is to provide assistance for those with disabilities and
elderly individuals. These home systems use assistive technology to accommodate an owner's
specific disabilities. Voice control can assist users with sight and mobility limitations while
alert systems can be connected directly to cochlear implants worn by hearing-impaired
users. They can also be equipped with additional safety features. These features can include
sensors that monitor for medical emergencies such as falls or seizures. Smart home technology
applied in this way can provide users with more freedom and a higher quality of life. The term
"Enterprise IoT" refers to devices used in business and corporate settings. By 2019, it is
estimated that the EIoT will account for 9.1 billion devices.
c. Commercial applications in medical and health care

DEPARTMENT OF ECE, GEC HUVINAHADAGALI 16 | P a g e


EMBEDDED SYSTEM WITH IOT 2024-25

The Internet of Medical Things (also called the internet of health things) is an application of
the IoT for medical and health related purposes, data collection and analysis for research, and
monitoring. This 'Smart Healthcare', as it is also called, led to the creation of a digitized
healthcare system, connecting available medical resources and healthcare services. IoT devices
can be used to enable remote health monitoring and emergency notification systems. These
health monitoring devices can range from blood pressure and heart rate monitors to advanced
devices capable of monitoring specialized implants, such as pacemakers, Fit bit electronic
wristbands, or advanced hearing aids. Some hospitals have begun implementing "smart beds"
that can detect when they are occupied and when a patient is attempting to get up. It can also
adjust itself to ensure appropriate pressure and support is applied to the patient without the
manual interaction of nurses. A 2015 Goldman Sachs report indicated that healthcare IoT
devices "can save the United States more than $300 billion in annual healthcare expenditures
by increasing revenue and decreasing cost." Moreover, the use of mobile devices to support
medical follow-up led to the creation of 'm-health', used "to analyze, capture, transmit and store
health statistics from multiple resources, including sensors and other biomedical acquisition
systems".

● Building and Home automation


● Manufacturing

● Media and Environmental monitoring

● Infrastructure management

DEPARTMENT OF ECE, GEC HUVINAHADAGALI 17 | P a g e


EMBEDDED SYSTEM WITH IOT 2024-25

2.10 [Link] tool:


Infinity Free is a free web hosting service that allows users to host websites without any
time limits or restrictions on the number of websites they can host. It provides features like
unlimited disc space and bandwidth, and includes tools like PHP and MySQL for building
websites, according to the Infinity Free website.

Fig 2.12: Dashboard of [Link]


InfinityFree offers a free hosting service, including unlimited disk space, unlimited bandwidth,
and free domain hosting. You can host as many files as you want, have as many users visit your
website as you want, and have as many web addresses as you want, all for free. If you’re
looking for a free service, you will definitely come across InfinityFree.

Fig 2.13: Creating a domain in [Link] tool


DEPARTMENT OF ECE, GEC HUVINAHADAGALI 18 | P a g e
EMBEDDED SYSTEM WITH IOT 2024-25

This is a webpage for "My Dark Drip - Premium Chocolates". It features:


• A header with a logo and title.
• Four chocolate product images, each with an “Order Now” button.
• A simple order form below to enter name and address and submit an order
• The site uses a clean, minimal design with a dark and orange color theme.
• Hosted on a free InfinityFree server ([Link] domain).
• It’s a basic chocolate ordering website.
2.11 C Programming
Introduction

The C programming language is a powerful, general-purpose, and high-level programming


language that was developed in the early 1970s by Dennis Ritchie at Bell Labs. It was initially
designed for developing system software, particularly the Unix operating system, but has since
evolved into one of the most widely used programming languages in the world. C provides a
rich set of built-in functions, data types, and operators, allowing programmers to write efficient
and portable code. Its syntax and structure have influenced many other programming
languages, including C++, Java, and Python.
One of the key features of C is its ability to offer low-level memory access through the use of
pointers, which makes it suitable for system-level programming, such as developing operating
systems, compilers, and embedded systems. At the same time, C supports structured
programming, making code easier to read, debug, and maintain. Programs written in C can be
compiled and executed on various hardware platforms with minimal or no modification, which
adds to its portability and versatility.

Why C is Suitable for Embedded Systems Programming

• Low-Level Hardware Access: C allows direct access to memory and hardware


registers using pointers and address manipulation. This is essential when writing
device drivers and controlling peripherals.
• Efficient and Fast Execution: C programs are compiled directly into machine code,
which makes them very fast and suitable for time-critical tasks in embedded systems.
• Portability: C code can be reused across different microcontrollers with minor
modifications, making development faster and more flexible.

DEPARTMENT OF ECE, GEC HUVINAHADAGALI 19 | P a g e


EMBEDDED SYSTEM WITH IOT 2024-25

• Bitwise and Register Operations: Embedded devices often require manipulation


of specific bits in control registers. C provides powerful bitwise operators to handle
such operations efficiently.
• Rich Set of Libraries and Tools: There are many C libraries, compilers (like Keil,
GCC, MPLAB), and debugging tools tailored for embedded systems development.

General Structure of a C program:


/* Documentation section */
/* Link section */
/* Definition section */
/* Global declaration section */ main()
{
Declaration part
Executable part (statements)
}
/* Sub-program section */
Basics of C
• Developed by: Dennis Ritchie, 1972 at Bell Labs.
• Extension: .c
• Compiled Language: Requires compiler like GCC.
• Structure:
#include <stdio.h> // Preprocessor Directive
int main()
{ // Entry point
printf("Hello");
return 0;
}
Data Types
• Basic: int, char, float, double
• Modifiers: short, long, signed, unsigned
• Example:
unsigned int a = 10;

DEPARTMENT OF ECE, GEC HUVINAHADAGALI 20 | P a g e


EMBEDDED SYSTEM WITH IOT 2024-25

float b = 3.14;
Variables and Constants
➢ Declaration:
int age;
char grade;

➢ Constant:
#define PI 3.14 // Preprocessor Constant
const int MAX = 100; // Constant variable

Input and Output


• Input: scanf()
• Output: printf()
int x;
scanf("%d", &x);
printf("Value: %d", x);
Operators
• Arithmetic: + - * / %
• Relational: == != > < >= <=
• Logical: && || !
• Assignment: = += -= *=
• Bitwise: & | ^ ~ << >>
Control Structures
• if, if-else, else-if:
i. if (a > b) { ... }
ii. else if (a == b) { ... }
iii. else { ... }
Switch-case:
switch(choice) {
case 1: ...;
break;
default: ...;
}

DEPARTMENT OF ECE, GEC HUVINAHADAGALI 21 | P a g e


EMBEDDED SYSTEM WITH IOT 2024-25

Loops:
▪ while, do-while, for
for(int i = 0; i < 5; i++) { ... }
Functions
• Declaration: int add(int, int);
• Definition:
int add(int a, int b) {
return a + b;
}
• Call by Value / Reference
Arrays
• 1D Array: int a[10];
• 2D Array: int matrix[3][3];
Strings
• Declared as character arrays.
char name[20];
scanf("%s", name);
• Functions from <string.h>: strlen(), strcpy(), strcmp(), strcat()
Example
#include <stdio.h>
#include <string.h>

int main() {
// Single character
char grade = 'B';
printf("Grade: %c\n", grade);

// Character array initialized as a string


char greeting[] = "Welcome";
printf("Greeting: %s\n", greeting);

// String input using fgets (allows spaces)


char fullName[50];
printf("Enter your full name: ");
DEPARTMENT OF ECE, GEC HUVINAHADAGALI 22 | P a g e
EMBEDDED SYSTEM WITH IOT 2024-25

fgets(fullName, sizeof(fullName), stdin); // safer than scanf


fullName[strcspn(fullName, "\n")] = '\0'; // remove newline character
printf("Full Name: %s\n", fullName);

// String functions
char copiedName[50];
strcpy(copiedName, fullName); // Copy fullName to copiedName
printf("Copied Name: %s\n", copiedName);

printf("Length of greeting: %lu\n", strlen(greeting));

char university[] = "GEC ";


strcat(university, "ECE");
printf("Concatenated University: %s\n", university);

if (strcmp(fullName, copiedName) == 0) {
printf("Names are the same.\n");
} else {
printf("Names are different.\n");
}

return 0;
}
Output
Grade: B

Greeting: Welcome

Enter your full name: Meghana Reddy

Full Name: Meghana Reddy

Copied Name: Meghana Reddy

Length of greeting: 7

Concatenated University: GEC ECE

DEPARTMENT OF ECE, GEC HUVINAHADAGALI 23 | P a g e


EMBEDDED SYSTEM WITH IOT 2024-25

2.12 Project Work


The project “IoT bot” involves collecting data from an IR sensor, DC motor, and
ultrasonic sensor using an ESP32 microcontroller. The ESP32 reads and processes these sensor
values, then transmits them via UART to an ESP32 module. The ESP32, acting as a Wi-Fi
interface, sends the data to the cloud platform for real-time monitoring and visualization.
ESP32CubeIDE is used for ESP32 programming, while Arduino IDE is used to configure the
ESP32. This project demonstrates sensor interfacing, serial communication, and cloud
integration, offering a scalable solution for smart home, environmental, and industrial IoT
applications.

Project Description:

The project “IoT Bot” involves creating an embedded system that collects sensor data from
multiple sources—specifically an IR sensor, DC motor and motor driver, and an ultrasonic
sensor—using an ESP32 microcontroller. The sensors measure parameters like object presence
(IR sensor), DC motor, and motor driver. The ESP32 microcontroller reads these sensor values
and processes them accordingly. The system uses the UART communication protocol to
transmit the processed sensor data from to an ESP32. The ESP32 acts as a Wi-Fi module,
enabling the system to send the sensor data to the Ubidots cloud platform over the internet.
Infinity free is an IoT platform that allows for the visualization and analysis of real-time data
from connected devices.

Development tools such as ESP32CubeIDE and Arduino IDE are used in this project.
STM32CubeIDE is utilized to configure and program the ESP32 microcontroller, while the
Arduino IDE is used for programming the ESP32 to handle Wi-Fi communication and transmit
the data to Infinity free. The project aims to demonstrate how different sensors can be
interfaced with a microcontroller, communicate over UART, and leverage the ESP32's Wi-Fi
capabilities to send sensor data to the cloud for remote monitoring and control. This solution
can be extended to various IoT applications, making it ideal for smart home automation,
environmental monitoring, and industrial monitoring systems.

Hardware and Software Requirements:


Hardware Requirements:
• ESP32 Microcontroller
• IR Sensor

DEPARTMENT OF ECE, GEC HUVINAHADAGALI 24 | P a g e


EMBEDDED SYSTEM WITH IOT 2024-25

• Dc Motor
• HC-SR04 Ultrasonic Sensor
• Motor Driver
Software Requirements:

• Infinity free
• Arduino IDE

Hardware Requirements:

1.ESP32 Microcontroller

ESP32 is a family of low-cost, energy-efficient microcontrollers that integrate both Wi-


Fi and Bluetooth capabilities. These chips feature a variety of processing options, including
the Ten silica Xtensa LX6 microprocessor available in both dual-core and single-core variants,
the Xtensa LX7 dual-core processor, or a single-core RISC-V microprocessor. In addition, the
ESP32 incorporates components essential for wireless data communication such as built-in
antenna switches, an RF balun, power amplifiers, low-noise receivers, filters, and power-
management modules.

Fig 2.14 ESP 32 Microcontroller


[Link] Sensor
The IR sensor, typically a passive infrared (PIR) sensor, is used to detect the presence of objects
or human movement. It operates by sensing infrared radiation emitted by objects in its detection
range.

DEPARTMENT OF ECE, GEC HUVINAHADAGALI 25 | P a g e


EMBEDDED SYSTEM WITH IOT 2024-25

The sensor outputs a digital signal (HIGH or LOW) when motion is detected. Most IR sensors
like the KY-022 module operate on a 5V or 3.3V supply and can be connected directly to the
STM32 microcontroller for motion detection. This sensor is crucial for applications where
monitoring the presence or movement of objects is required, such as in security systems or
smart home applications.

Fig 2.15 IR sensor


[Link] Motor

A DC motor is an electric motor that converts direct current (DC) electrical energy into
mechanical rotational motion. It works on the principle of electromagnetic induction, where a
current-carrying conductor placed in a magnetic field experiences a force. DC motors have two
main parts: a stator (stationary part) and a rotor (rotating part). They are widely used in
applications like robots, toys, fans, electric vehicles, and industrial machines due to their simple
control over speed and direction.

Fig 2.16 DC Motor

DEPARTMENT OF ECE, GEC HUVINAHADAGALI 26 | P a g e


EMBEDDED SYSTEM WITH IOT 2024-25

4. HC-SR04 Ultrasonic Sensor


An ultrasonic sensor is an electronic device that measures the distance to an object by
using ultrasonic sound waves. It emits a high-frequency sound wave (usually around 40 kHz)
from a transmitter, which bounces off an object and returns to the receiver. By calculating the
time taken for the echo to return, the sensor determines the distance to the object.

Fig 2.17 HC-SR04 Ultrasonic sensor


[Link] Driver
A motor driver is an electronic circuit or device that controls the operation of a motor by
providing the required current and voltage. Since microcontrollers like Arduino or ESP32
cannot directly supply the high current needed by motors, motor drivers act as an interface
between them. Popular motor driver ICs like L293D and L298N allow control over both the
speed and direction of DC motors and stepper motors. They typically work by using H-bridge
circuits, which enable motors to run forward or reverse. Motor drivers are widely used in
robotics, automation, and electronic vehicles to safely control motor functions.

Fig 2.18 Motor Driver


Software Requirements:

1. Infinity free

DEPARTMENT OF ECE, GEC HUVINAHADAGALI 27 | P a g e


EMBEDDED SYSTEM WITH IOT 2024-25

Infinity Free is a free web hosting platform designed for users who need a cost-effective
solution to host websites, particularly useful for students, hobbyists, and developers working
on small to medium-scale projects. It offers completely free hosting services without any forced
advertisements, making it an attractive choice for those wanting a clean and professional-
looking website. Infinity Free supports essential web technologies such as PHP (up to version
8.3) and MySQL databases, which allows users to create dynamic websites and web
applications. Users can install a variety of web applications easily using the built-in Softaculous
installer, which includes options like WordPress, Joomla, and many others.

Fig 2.19 Infinity Free


[Link] IDE

Arduino IDE is a simple, open-source development environment mainly used for writing and
uploading programs to Arduino boards and many other microcontrollers, including the ESP32.
It is lightweight, beginner-friendly, and supports a large number of libraries.

Working Methodology:

The project was carefully planned and executed in several well-defined phases to successfully
design an IoT-based embedded system capable of sensing environmental parameters and
transmitting them to a cloud platform for remote monitoring.

• Phase 1: Requirement Analysis and Component Selection

The project began with identifying the key requirements: sensing temperature, humidity, object
presence, and distance, transmitting the collected data to a cloud platform. Based on these
needs, appropriate hardware components were selected, including the Raspberry Pi

DEPARTMENT OF ECE, GEC HUVINAHADAGALI 28 | P a g e


EMBEDDED SYSTEM WITH IOT 2024-25

microcontroller for sensor data acquisition, the ESP32 module for Wi-Fi connectivity, and
infinity free as the cloud platform for visualization and analysis.

• Phase 2: Hardware Setup

In this phase, all the hardware components were interfaced properly:

The DC motor was connected to the ESP32 to convert energy into different type. The IR sensor
was connected for object detection. The Ultrasonic sensor was used to measure distance. The
ESP32 microcontroller was configured to collect data from all these sensors. UART
communication was established between the ESP32 to enable the transmission of sensor data.
Care was taken to ensure proper voltage levels, pin connections, and stable power supply for
all components.

• Phase 3: Software Development

Software development was divided into two parts: ESP32 programming was done using
ESP3232CubeIDE. Peripheral configurations (GPIO, UART, timers) were set up using
ESP32CubeMX, and C code was developed to read sensor data and send it via UART. ESP32
programming was done using Arduino IDE. The ESP32 was programmed to receive the UART
data from the ESP32, connect to a Wi-Fi network, and send the received data to the Ubidots
cloud using HTTP or MQTT protocols. Both firmwares were tested individually first before
full system integration.

• Phase 4: System Integration

After the ESP32 were individually tested, they were integrated together: The UART
communication was validated to ensure that sensor readings from ESP32 were correctly
received by [Link] ESP32 was tested to confirm successful Wi-Fi connection and data
transmission to Ubidots. Necessary error handling and retries were implemented to ensure
robust communication even in case of connection loss.

• Phase 5: Testing and Validation

The fully integrated system was tested in a real environment: Multiple sensor readings were
taken and verified for accuracy. UART transmission was monitored using serial terminals to
ensure correct data transfer. The data successfully appeared on the infinity free dashboard,
validating the end-to-end data flow from sensors to the cloud.

DEPARTMENT OF ECE, GEC HUVINAHADAGALI 29 | P a g e


EMBEDDED SYSTEM WITH IOT 2024-25

Hardware Implementation:

The IoT bot project shown in the image utilizes several key hardware components to
achieve remote control and automation. At the core is the ESP32 microcontroller, which
handles processing and Wi-Fi connectivity. It connects to an online interface hosted on
InfinityFree, allowing the bot to be controlled via a smartphone or computer browser. For
mobility, DC motors are used, driven through a motor driver module (likely an L298N or
similar), enabling forward, backward, left, and right movement. The bot also includes IR
sensors for line-following or obstacle detection and ultrasonic sensors to measure distance and
avoid collisions. These sensors send data to the ESP32, which then makes decisions or sends
updates to the web interface. The tracked chassis allows the bot to operate on various surfaces,
while the robotic arm (visible in the image) may be controlled for gripping or manipulating
objects. The entire system is powered via a battery pack, and the control interface is accessed
through a website hosted on Infinity Free, where the user can issue commands, such as move
directions or stop via buttons. This combination of hardware and IoT integration makes the bot
suitable for tasks like surveillance, remote inspection, or basic automation applications.

Fig 2.20 Hardware Implementation

Software Implementation:

To implement a project using InfinityFree hosting with an Arduino, you can integrate
web-based control and monitoring of hardware components like bulbs and fans. InfinityFree

DEPARTMENT OF ECE, GEC HUVINAHADAGALI 30 | P a g e


EMBEDDED SYSTEM WITH IOT 2024-25

provides free web hosting that supports PHP and MySQL, allowing you to create a website that
acts as a user interface for your IoT system. On the website, you can design a simple HTML
form with radio buttons or toggle switches to control devices. These inputs send commands to
a PHP script that updates a MySQL database hosted on the InfinityFree server. Meanwhile, the
Arduino—connected to the internet via a Wi-Fi module like the ESP8266 or ESP32—
periodically checks the server for changes in device states. It does this by sending HTTP GET
or POST requests to the PHP script, which responds with the required control signals. Based
on the response, the Arduino can turn devices ON or OFF. Additionally, the Arduino can log
sensor data or device status back to the database using HTTP requests, allowing the website to
display real-time or historical logs. This setup effectively bridges web software with physical
hardware, creating a functional IoT application using free tools.

Results:

Fig 2.21 IoT Bot with Controller

In addition to the core functions, this IoT bot demonstrates effective integration of hardware
and web technologies. The ESP32, equipped with built-in Wi-Fi, plays a critical role by
connecting to the InfinityFree-hosted website, which serves as the command interface. This
site likely includes buttons for directional control and status indicators for sensor feedback.
When a user presses a button (e.g., “Forward” or “Stop”) on the web page, the ESP32 receives
the HTTP request and sends appropriate signals to the motor driver, which then activates the
corresponding DC motors. This enables real-time, wireless operation without the need for
Bluetooth or RF modules.

DEPARTMENT OF ECE, GEC HUVINAHADAGALI 31 | P a g e


EMBEDDED SYSTEM WITH IOT 2024-25

The IR sensors can be used for edge detection or line-following functionality, allowing the bot
to follow a predefined path or stop at edges to prevent falls. Meanwhile, the ultrasonic sensor,
usually mounted at the front, continuously measures the distance to obstacles and sends this
data to the ESP32, which can make automatic decisions like halting the bot or alerting the user
through the web interface.

The bot's robotic arm or gripper, as visible in the image, is controlled by additional motors or
servos, allowing it to interact with physical objects. This can be particularly useful in
warehouse automation, object retrieval, or hazardous environments. Internally, a veroboard
(stripboard) setup is used to neatly organize circuit connections, and jumper wires connect all
the modules, making it modular and easy to troubleshoot. This hardware configuration
combined with a simple HTML/PHP web interface hosted for free online offers a low-cost yet
powerful IoT robotics solution, ideal for student projects, research, and prototyping in
automation and remote robotics.

Fig 2.22 Homepage IoT Bot Control

The above image displays the homepage of an IoT Bot Control web interface hosted
on InfinityFree. It offers users a simple and clean design with a blue gradient background and
two main control options: Movement Control and Arm Control. These options allow users
to remotely manage the bot’s movement and robotic arm actions over the internet. The page
welcomes users with a friendly message and provides an intuitive interface for operating a
robotic bot using IoT technology. The footer also mentions that it’s specifically designed for
an IoT_Bot Project, highlighting its purpose-built nature for robotics control experiments.

DEPARTMENT OF ECE, GEC HUVINAHADAGALI 32 | P a g e


EMBEDDED SYSTEM WITH IOT 2024-25

Fig 2.23 IoT Bot Controller

The above figure showcases the IoT Bot Joystick Control page from a web-based robot
control system hosted on InfinityFree. It provides a simple and user-friendly interface to control
a robotic bot’s movement remotely over the internet. The layout includes five control buttons:
Front, Back, Left, Right, and Stop, arranged like a joystick pattern for intuitive navigation. A
yellow button at the bottom labeled "Back to Home" lets users return to the main control menu.
This setup allows users to manage their bot’s directions through a web browser, making it ideal
for IoT and remote robotics experiments.

Fig 2.24 IoT Bot Joystick Controller

DEPARTMENT OF ECE, GEC HUVINAHADAGALI 33 | P a g e


EMBEDDED SYSTEM WITH IOT 2024-25

The above figure displays the IoT Bot Joystick Control page for Arm Control in a web-
based robotics control system. This interface allows users to manage the bot’s robotic arm
remotely over the internet. The control layout includes buttons for Open, Close, Up, Down,
and two stop functions Stop_Clamp for halting the clamp motor and Stop_Angle for stopping
arm angle adjustments. It provides an interactive way to operate the robot’s gripper and arm
position. The familiar "Back to Home" button at the bottom returns users to the main control
dashboard. This design ensures easy and efficient arm control in IoT-based robotic
applications.

Conclusion

The internship at AIROBOSOFT Product and Services LLP, Bengaluru, has been a
transformative and enlightening experience that has significantly contributed to my personal
and professional development. Coming from a core Electronics and Communication
Engineering (ECE) background, I initially faced challenges stepping into the world of
Information Technology and software development. However, through continuous learning,
hands-on projects, and mentorship, I was able to overcome these challenges and build a strong
foundation in Embedded system and IoT. One of the most impactful aspects of the internship
was the real-time project work. This project helped me consolidate all the technologies I had
learned during training and gave me a platform to implement them in a practical scenario. From
designing the user interface and managing backend logic to frontend integrating handling user
data securely, I experienced the end-to-end lifecycle of a web application. This provided me
with insights into how real-world software and hardware products are built, tested, and
deployed.

The tools and technologies I used—such as Python, HTML, CSS, MySQL, Raspberry
Pi and Sensors and ESP32—allowed me to gain valuable technical expertise. More
importantly, I learned to approach problems analytically, work independently as well as
collaboratively, and adapt to unfamiliar tools quickly—skills that are essential in the
professional IT world. Beyond the technical learning, this internship also helped me grow in
terms of communication, time management, and understanding client-oriented software
development. It has given me the confidence to step into the software industry and continue
my journey as a budding developer, equipped with practical experience and a clear
understanding of modern development practices.

DEPARTMENT OF ECE, GEC HUVINAHADAGALI 34 | P a g e


EMBEDDED SYSTEM WITH IOT 2024-25

In conclusion, this internship has not only filled the gap between academic learning and
industry expectations but has also inspired me to pursue a career in software development and
hardware implementation. I am extremely grateful to AIROBOSOFT Product and Services
LLP for providing me with this opportunity, mentorship, and a platform to learn, grow, and
build something meaningful.

DEPARTMENT OF ECE, GEC HUVINAHADAGALI 35 | P a g e


EMBEDDED SYSTEM WITH IOT 2024-25

CHAPTER 3

REAL-TIME 2G/3G/LTE ARDUINO GPS TRACKER + IOT


DASHBOARD

INTRODUCATION

This project aims to solve the problem of tracking and accountability of vehicles by
providing a software platform. This project would serve as an important step to help in Vehicle
tracking, component monitoring, vehicle analysis and fleet management. An efficient vehicle
tracking system is implemented for monitoring of any equipped vehicle from any location at
any time with the help of Global Positioning System (GPS) and Arduino Board which will
enable users to locate their vehicles with ease and in a convenient manner. This web application
will offer a dashboard for improved and easy considerate of their vehicle positions and related
statistics.

PROBLEM STATEMENT

The crime involving vehicle theft has been increasing in the past few years in Malaysia
and from the latest update by General Insurance Association of Malaysia (PIAM) shows that
about 60 vehicles were stolen every day and there are 11,796 cases from January until Jun2016
and the numbers keep increasing until today. Any type of vehicle can be targeted by the thief
and stolen vehicles are generally sold or in worst case scenario, some parts of vehicle might be
separated and detached to be sold to different people, hence making it more difficult to find the
vehicle. Before the vehicle tracking system was introduced, the users have to report to the
police manually. The police have to initially investigate and then start to search for the car,
while at the same time, the car might have already been move far away from its original
location. This problem, generally, is wasting time and is causing trouble to not only the user,
but the police to find the car. Thus, knowing how important and crucial the vehicle tracking
system for the safety purposes is, we are proposing this project. In this project the design and
implementation of the vehicle tracking anti-theft system is proposed. This system not only
secures and protects the moving vehicles, but also uses real time GPS system along with the

DEPARTMENT OF ECE, GEC HUVINAHADAGALI 36 | P a g e


EMBEDDED SYSTEM WITH IOT 2024-25

GSM which will help the user in determining the precise location of the vehicle. This system
will update the user for every instant of the moving vehicle through their GPS receiver

OBJECTIVES

Goals of the proposed system:

• Provide Accurate Real-Time Location Monitoring

• Deliver precise and up-to-date GPS coordinates to track the movement of vehicles,
assets, or individuals.

• Ensure Seamless Remote Data Transmission

• Utilize 2G/3G/LTE networks to transmit GPS data in real-time to a central server or


cloud platform.

• Enable Live Visualization Through an IoT Dashboard

• Present real-time tracking data using an interactive and user-friendly web or mobile
dashboard.

• Support Historical Data Access and Analysis

• Allow users to view route history, speed trends, and location logs for decision-making
and reporting.

• Improve Safety and Security with Alerts

• Notify users of unusual behavior or boundary violations using geofencing and alert
systems.

DEPARTMENT OF ECE, GEC HUVINAHADAGALI 37 | P a g e


EMBEDDED SYSTEM WITH IOT 2024-25

METHODOLOGY

GSM FREEBOARD
MODULE

ARDUINO
GPS THINGS BOARD
MODULE SETUP

USER

fig 3.1 Block diagram of proposed system

In this project, the major purpose is to track distinct vehicle that are traveling on the roads. The
vehicle being tracked can transfer the information of the receiver such as location and it’s
speed, etc. This device is installed inside the vehicle. The tracking system on a moving vehicle
basically works on the basis of the satellite through which the signals are being transmitted and
received. The block diagram of the GPS tracking system for anti-thefting

This design in used to transmit the location and speed of the vehicle to the
receiver’s side. The most important part of this project is the transmission of the signals from
the GSM module to the GPS receiver. An Arduino UNO has been used to manage the entire
mechanism of the vehicle tracking system. Since a receiver and a transmitter is required for a
tracking system, a GPS has been used to act as a receiver and a GSM module has been used to
act as a transmitter. The GPS will identify the coordinates of the location at which the vehicle
is at, while the GSM module will transmit those coordinates to ThingsBoard Setup via SIM
card internet data. ThingsBoard Setup is utilized as the platform where it stores the coordinates

DEPARTMENT OF ECE, GEC HUVINAHADAGALI 38 | P a g e


EMBEDDED SYSTEM WITH IOT 2024-25

that GSM module send to it and Freeboard as the platform for user to seek their vehicle location.
In this project, we have used ThingsBoard Setup Free-board, GPS Module and GSM Module
SIM9000 as the hardware to form a complete system.

HARDWARE AND SOFTWARE REQUIREDMENT

HARDWARE REQUIREDMENT

• Arduino Uno
• Botletics SIM7000
• Hologram SIM
• Lithium -ion Battery

Arduino Uno

fig 3.2 Arduino Uno

DEPARTMENT OF ECE, GEC HUVINAHADAGALI 39 | P a g e


EMBEDDED SYSTEM WITH IOT 2024-25

Items Features/Ratings

Microcontroller ATmega328

Operating Voltage 5V

Input Voltage (recommended) 7–12V

Input Voltage (limits) 6–20V

Digital I/O pins 14 (6 provide PWM output)

Analog Input pins 6

DC current per I/O pin 40mA

DC current for 3.3V pin 50mA

Clock Speed 16MHz

Flash Memory 32Kbits (0.5 Kbits used by bootloader)

SRAM 2Kbits

Botletics SIM7000

fig 3.3 Botletics SIM7000

DEPARTMENT OF ECE, GEC HUVINAHADAGALI 40 | P a g e


EMBEDDED SYSTEM WITH IOT 2024-25

This shield uses SIMCOM's SIM7000-series LTE module which is a low-power


cellular module that supports the new LTE CAT-M1 and NB-IoT technology and also has
integrated high-speed, multi-GNSS (GPS, GLONASS and BeiDou/Compass, Galileo, QZSS
standards) for location tracking.

• Operates on LTE CAT-M1 and/or NB-IoT technology + GPS + temperature sensor

• Directly compatible with Arduino Uno, Mega, and Leonardo + easy connection for other
logic voltages

• Ultra low-power mode drawing < 8uA, ideal for battery-powered IoT devices + LiPo
battery charging

• Kit includes dual flexible LTE/GPS antenna and stacking female header kit

Hologram SIM

fig 3.4 Hologram SIM

Hologram is a cellular platform designed for the Internet of Things. This product is a global
IoT SIM card that covers over 170 countries and partnerships with 200+ carriers.

Technical Specifications

• Triple-cut for Mini, Micro, and Nano SIM formats.


• Mini: 15 x 25mm. Micro: 12 x 15mm. Nano: 8.8 x 12.3mm.
• 2G/GPRS, 3G HSPDA, 4G LTE.
• Operating Characteristics.

DEPARTMENT OF ECE, GEC HUVINAHADAGALI 41 | P a g e


EMBEDDED SYSTEM WITH IOT 2024-25

• Operating Temperature: -25°C ~ 85°C. Read/Write Cycles: Min. 500,000. Data


Retention: Min. 25 years at 25°C.

.Lithium -ion Battery

fig 3.5 .Lithium -ion Battery

A lithium-ion battery or Li-ion battery is a type of rechargeable battery composed


of cells in which lithium ions move from the negative electrode through an electrolyte to the
positive electrode during discharge and back when charging. Li-ion cells use an intercalated
lithium compound as the material at the positive electrode and typically graphite at the negative
electrode. Li-ion batteries have a high energy density, no memory effect (other than LFP cells)
and low self-discharge. Cells can be manufactured to prioritize either energy or power
[Link] can however, be a safety hazard since they contain flammable electrolytes and, if
damaged or incorrectly charged, can lead to explosions and fires.

USB cable

fig 3.6 USB cable

• USB cable to program and power your Arduino


• For the GPS tracking test:

DEPARTMENT OF ECE, GEC HUVINAHADAGALI 42 | P a g e


EMBEDDED SYSTEM WITH IOT 2024-25

• You can use a car USB adapter to power your Arduino while testing the shield
on the road.
• Alternatively, you can use a battery pack (7-12V) to power the Arduino via the VIN
and GND pins

ARDUINO SETUP

The Arduino integrated development environment (IDE) is a cross-platform


application (for Microsoft Windows, macOS, and Linux) that is written in the Java
programming language. It originated from the IDE for the languages Processing and Wiring. It
includes a code editor with features such as text cutting and pasting, searching and replacing
text, automatic indenting, brace matching, and syntax highlighting, and provides simple one-
click mechanisms to compile and upload programs to an Arduino board.

The Arduino IDE supports the languages C and C++ using special rules of code
structuring. The Arduino IDE supplies a software library from the Wiring project, which
provides many common input and output procedures.

[Link] SETUP

[Link] a IoT dashboard that can connect with numerous cloud platforms like
PubNub and dweet, as well as other features like JSON and MQTT. we'll be also using [Link]
. As an important note, dragging panes in [Link] doesn't seem to work in Chrome so use
Firebox or Microsoft Edge instead. If you don't, it can be a real "pane" to re-arrange the items
on your screen!

Account & Device Setup

Fig 3.7 [Link] home page

DEPARTMENT OF ECE, GEC HUVINAHADAGALI 43 | P a g e


EMBEDDED SYSTEM WITH IOT 2024-25

• The first thing you'll need to do is create an account by clicking the red "START
NOW" button on the [Link] home page, enter credentials, and click "Create My
Account". You will then get an email notification confirming your new account.
• Now click "Login" at the top right of the home page and after signing in you
should see your "freeboards", which are just dashboards that you set up for your
projects. Enter a new project name and click "Create New" near the top right. This will
then bring you to an empty dashboard where you can set up the interface just how you
like it. In freeboard there you can set up various "panes", and each pane can have a
single or multiple "widgets" which are things like graphs, maps, gauges, etc. that
display your data in some way.

Fig 3.8 Adding [Link] as a Data Source in Freeboard

• The first thing we need to do now is to set up the actual source of data, which is
your Arduino + LTE shield. To do that, click "ADD" on the top right under "Data
sources". Next, select "[Link]" and enter any name you want under the "Name" field.
However, make sure that under the "Thing Name" field you enter the shield's IMEI
number instead of any arbitrary name, because that's what freeboard will use to pull
data from dweet.
• After clicking "Save" you should see your device appear under "Data sources"
as well as the last time it sent data to the dweet. You can also click the refresh button
to check for the latest values, but freeboard will update by itself so you normally
shouldn't have to use that button.

DEPARTMENT OF ECE, GEC HUVINAHADAGALI 44 | P a g e


EMBEDDED SYSTEM WITH IOT 2024-25

Dashboard Setup

Fig 3.9 Creating a New Pane in Freeboard

• To add a pane, click the "ADD PANE" button at the top left and you will see it
add a small window on your screen. However, there's nothing here yet because we
haven't added any widgets!

Fig 3.10 Adding a Google Map Widget to Display GPS Data

• To add a widget click the little "+" button on the pane. This will bring up a
dropdown menu with various widget options. Since we're going to be doing some GPS
tracking let's pick the "Google Map" widget. You should then see two fields, the latitude
and longitude. In order to fill these out properly your device needs to have posted to
dweet already. Assuming it has, you should be able to click "+ Data source", click on
the data source (the "SIM7000 GPS Tracker"), then click on "lat", which is the variable
name that the shield uses when posting to dweet. Repeat the procedure for the longitude
field and click the slider at the bottom if you want the map to draw lines between data
points to mark where you've been.

DEPARTMENT OF ECE, GEC HUVINAHADAGALI 45 | P a g e


EMBEDDED SYSTEM WITH IOT 2024-25

Fig 3.11 Display of Initial GPS Location on the Map

• Now you should see a small map of your approximate location! To test if the
map works, try changing your current GPS long to something slightly different
changing,

Fig 3.12 Modifying GPS Coordinates via Dweet for Testing

• Example the first digit after the decimal point of the lat/long values in the dweet
URL that was printed in the serial monitor in Arduino IDE when the shield posted data.
After tweaking them, copy and paste the URL and execute it in your browser.

DEPARTMENT OF ECE, GEC HUVINAHADAGALI 46 | P a g e


EMBEDDED SYSTEM WITH IOT 2024-25

Fig 3.13 Updated Map View with Route Visualization

• Now switch back to freeboard and you should see that it graphed your tweaked
location and drew an orange line between the points! Cool stuff huh? So I think you get
the picture that our GPS tracker will send location data to dweet for you to see it on
freeboard in real time or after your adventure is over
• Since our little GPS tracker sends not only lat/long data but also altitude, speed,
heading, and temperature, let's throw in a few more widgets to make our dashboard
more colorful!
• Let's begin by adding a new pane then to add a gauge within the new pane click
the "+" button in the pane and select "Gauge". Just like before, use the data source and
select "speed" as the data we're interested in fetching for this gauge. You should then
see a nice gauge on your dashboard!
• Repeat this for the altitude and temperature values.
• Now for the heading let's add a "Pointer" instead. This is essentially a compass
because it starts off pointing up (North) at 0 degrees and rotates clockwise for positive
headings Perfecto!

DEPARTMENT OF ECE, GEC HUVINAHADAGALI 47 | P a g e


EMBEDDED SYSTEM WITH IOT 2024-25

Fig 3.14 Pane Resizing and Adding Additional Widgets in Freeboard

• To change the size of the pane, hover over the pane which contains the map and you
should see a little wrench symbol at the top right. Click that and enter a title for the pane
and enter "2" under "Columns" to increase the width of the pane.
• To change the locations of the panes simply drag them around! You can also experiment
adding a "Sparkline" which is basically just a line graph so you can see not only the
latest data but historic data as well.

THINGSBOARD SETUP

ThingsBoard Account & Device Setup

Fig 3.15 ThingsBoard Account Creation and Home Page View

The first thing you should do is go to the Things Board home page then create an account by
clicking the top right menu button and selecting "Live Demo". Create an account, verify your
account in an email they send you, then log back in to the ive demo homescreen This should
bring you to a screen where you can manage all your devices, edit dashboards, etc

DEPARTMENT OF ECE, GEC HUVINAHADAGALI 48 | P a g e


EMBEDDED SYSTEM WITH IOT 2024-25

Fig 3.16 Creating a New Device in ThingsBoard

Next, select the "Devices" tab on the left hand side. This should bring up a bunch of demo
devices like ESP8266, DHT22, Arduino and Pi demos, etc. Create a new device by clicking
the red "+" button at the bottom right and enter a name and choose "default" for device type.
After clicking "ADD" you should see your new device in the Devices tab. Click on "Manage
Credentials" and you should see a small window pop up showing the device's access token.

Fig 3.17 Viewing and Copying the Device Access Token

This is essentially the device ID and is analogous to the device ID used for posting data to
[Link]. You can change this device ID to the IMEI number of your shield if you want, but
you can also just use the auto-generated token. Copy this token as you will need it in the
Arduino sketch.

VERIFY DATA RECEPTION

DEPARTMENT OF ECE, GEC HUVINAHADAGALI 49 | P a g e


EMBEDDED SYSTEM WITH IOT 2024-25

In order to actually verify that data is being sent to ThingsBoard correctly, go to the
same device details page (click on the GPS Tracker device tile in the "Devices" page) then
click the "Latest Telemetry" tab. If your GPS tracker is sending values to ThingsBoard you
should see the latest values here and they will update in real time as they come in.

Fig 3.18 Verifying Real-Time Data Reception on ThingsBoard

Now that you've verified that ThingsBoard is actually getting the data it's time to set up the
dashboard so we can visualize our data when as we collect it!

SETTING UP DASHBOARD

Fig 3.19 Creating a Digital Gauge Widget in ThingsBoard Dashboard

DEPARTMENT OF ECE, GEC HUVINAHADAGALI 50 | P a g e


EMBEDDED SYSTEM WITH IOT 2024-25

Now click the "Dashboards" tab on the left and select your GPS tracker device. This should
bring up a new page that asks you to add widgets. Click the bottom right "+" button and "create
new widget" to bring up a dropdown menu of widgets to choose from. For now let's add a
"digital gauge". Selecting this should load a bunch of previews for all the different types of
digital gauges you can choose from. When you click on one it will bring up another screen for
you to set up the widget parameters. The first thing you need to add is the datasource (your
GPS tracker device which sends the data to ThingsBoard). Press the "+ ADD" button and select
your "GPS Tracker" device and select the appropriate variable that you want the widget to
display. In this case, let's choose the variable "temp" (temperature).

ADDING A MAP!

GPS tracker a map is a must-have! Let's add one by creating a new widget (bottom
right "+" button again) and this time scroll down and select "Maps". Go ahead and click on one
and it will bring up the options for it. Add the datasource as usual but this time, select both
"lat" and "long" variables since it will need both of these to get the location. Next, go to the
"Settings" tab and here you can set the timewindow of the data to display on the map. For
example, you may only want the last 2 minutes of data to appear, or you may want all data
since yesterday,

DEPARTMENT OF ECE, GEC HUVINAHADAGALI 51 | P a g e


EMBEDDED SYSTEM WITH IOT 2024-25

Fig 3.20 Adding and Configuring a Map Widget with Latitude and Longitude in
ThingsBoard

If you want you can then go to the "Advanced" tab and select the map type (roadmap, satellite,
hybrid, or terrain). Perhaps the most important part of all this is to check the latitude and
longitude key names. Make sure these names correspond exactly to the variable names you're
actually sending to ThingsBoard. For example, if your Arduino sketch says it's sending "lat"
and "long" variables (which it is by default) then you need to change the key names to "lat"
and "long" and using "latitude" and "longitude" won't fetch your data!

Again, after adding the map it will appear at the bottom of the dashboard. Simply drag it to re-
position it on the dashboard and click and drag the edges to resize it. If your time window was
set correctly, you should see your current location appear on the map. Super neat huh? Now
we're ready for a real test!

RESULTS

THINGSBOARD RESULTS

In the pictures above you can see my dashboard setup. I added charts to graph historical
data for things like speed, altitude, and temperature, and also included real-time gauges in case
I want to see them in real time on another road trip (image this in an RV!)

DEPARTMENT OF ECE, GEC HUVINAHADAGALI 52 | P a g e


EMBEDDED SYSTEM WITH IOT 2024-25

Fig 3.21 Displaying Real-Time Location and Sensor Data on the Dashboard

The map was killer awesome and I managed to collect some really accurate data of a route I
took. Also, the speed data was extremely accurate because we never exceeded about 40mph
(the graph is in kph) on the city roads.

Fig 3.22 Speed Data Visualization Showing Traffic-Induced Variations

The many fluctuations in speed can be explained by the traffic lights. Overall, great results and
just imagine what else we could use this for! You could install this on an RV, motorcycle, car,
etc. and have it track all the time and pull up the results on ThingsBoard

DEPARTMENT OF ECE, GEC HUVINAHADAGALI 53 | P a g e


EMBEDDED SYSTEM WITH IOT 2024-25

Fig 3.23 temperature

OUTCOME

Fig 3.24 Final Dashboard Outcome with Comprehensive IoT Visualization

CHAPTER 4
REFLECTION NOTES
Organizational Experience and Assessment

My internship at AIROBOSOFT Product and Services LLP was an enriching journey that
provided a comprehensive understanding of real-world applications in embedded systems and
IoT. Being part of a professional engineering environment allowed me to witness the lifecycle

DEPARTMENT OF ECE, GEC HUVINAHADAGALI 54 | P a g e


EMBEDDED SYSTEM WITH IOT 2024-25

of technological products, from conceptualization and design to implementation and testing. I


learned to collaborate within cross-functional teams, align with deadlines, and adapt quickly to
technical challenges.

I actively contributed to a live project, the “IoT Bot”, which involved interfacing sensors with
the ESP32 microcontroller and transmitting real-time data to a cloud server using InfinityFree
hosting. This hands-on exposure helped me connect theoretical knowledge with practical
implementation.

Technical Outcomes

• Embedded System Development: Gained expertise in integrating multiple sensors (IR,


ultrasonic, motor driver) with ESP32 and implementing UART communication for data
transfer.

• IoT Integration: Learned to program ESP32 using Arduino IDE and ESP32CubeIDE
for cloud-based monitoring and control via InfinityFree and Ubidots.

• Web and Database Interaction: Built a web interface for controlling the bot,
demonstrating real-time synchronization between hardware and hosted web
applications.

• Cloud Communication: Gained familiarity with MQTT/HTTP protocols to send sensor


data to cloud dashboards.

• Software Proficiency: Improved skills in C programming and microcontroller


configuration through practical development and debugging sessions.

Non-Technical Outcomes

• Communication Skills: Regular interaction with mentors and teammates enhanced my


verbal communication, while writing documentation and project reports improved my
written communication.

• Presentation and Explanation: Explaining technical work to non-technical


stakeholders developed my non-verbal communication and boosted my confidence in
public speaking.

• Teamwork and Collaboration: Worked in a dynamic team environment, which


enhanced my interpersonal skills and understanding of professional collaboration.

• Time Management: Balanced multiple tasks including coding, debugging, report


writing, and presentations honing my organization and time-management skills.

• Problem-Solving: Tackled real-time issues in code and hardware integration, which


sharpened my analytical and logical thinking abilities.

DEPARTMENT OF ECE, GEC HUVINAHADAGALI 55 | P a g e


EMBEDDED SYSTEM WITH IOT 2024-25

• Personality Development: Exposure to industry standards, corporate etiquette, and


goal-oriented work culture contributed significantly to my overall personality
development and professional maturity.

Conclusion
The internship at AIROBOSOFT Product and Services LLP was not only a valuable
academic requirement but a transformative milestone in my journey as an Electronics and
Communication Engineering student. It provided me with a unique platform to apply my
theoretical knowledge in a practical environment, helping bridge the gap between academic
learning and industry practices.

Throughout the internship, I was exposed to various facets of embedded systems, IoT
technologies, and real-time system design, which are essential pillars in modern electronics
and automation fields. By working on the IoT Bot project, I gained end-to-end experience in
project development — right from hardware setup and microcontroller programming to cloud
communication and web interface design. This helped me understand how multidisciplinary
knowledge in electronics, coding, networking, and UI/UX design come together in real-world
applications.

Equally significant were the soft skills I developed. Regular team meetings, collaborative
project development, and technical presentations improved my communication and
interpersonal skills. Managing time between multiple development tools, documentation, and
testing schedules helped me become more organized and efficient. I learned the importance of
resilience and adaptability, especially when debugging errors or dealing with unexpected
hardware failures.

This internship has shaped me into a more confident, skilled, and industry-aware engineer. I
now understand the workflow of a tech company from requirement gathering and prototyping
to testing and deployment. I’ve seen how professionalism, collaboration, and technical
proficiency are all crucial to success in an engineering role.

In summary, this internship not only enhanced my technical skills and practical knowledge but
also laid the foundation for my personal and professional development. It has strengthened my
aspiration to pursue a career in embedded systems and IoT and instilled in me a lifelong
commitment to learning, innovation, and excellence.

REFERENCES

1. Kabalci, Y.; Kabalci, E.; Padmanaban, S.; Holm-Nielsen, J.B.; Blaabjerg, F. Internet of
things applications as energy internet in smart grids and smart environments.
Electronics 2019, 8, 972. [CrossRef]

2. Farmanbar, M.; Parham, K.; Arild, O.; Rong, C. A widespread review of smart grids
towards smart cities. Energies 2019, 12, 4484. [CrossRef]

DEPARTMENT OF ECE, GEC HUVINAHADAGALI 56 | P a g e


EMBEDDED SYSTEM WITH IOT 2024-25

3. Yao, L.; Chen, Y.Q.; Lim, W.H. Internet of Things for Electric Vehicle: An Improved
Decentralized Charging Scheme. In Proceedings of the 2015 IEEE International
Conference on Data Science and Data Intensive Systems, Sydney, Australia, 11–13
December 2015; pp. 651–658. [CrossRef]

4. Benedetto, M.; Ortenzi, F.; Lidozzi, A.; Solero, L. Design and Implementation of
Reduced Grid Impact Charging Station for Public Transportation Applications. World
Electr. Veh. J. 2021, 12, 28. [CrossRef]

5. Sousa, R.A.; Melendez, A.A.N.; Monteiro, V.; Afonso, J.L.; Ferreira, J.C.; Afonso, J.A.
Development of an IoT system with smart charging current control for electric vehicles.
In Proceedings of the IECON 2018-44th Annual Conference of the IEEE Industrial
Electronics Society, Washington, DC, USA, 21–23 October 2018; pp. 4662–4667.
[CrossRef]

6. Savari, G.F.; Krishnasamy, V.; Sathik, J.; Ali, Z.M. Abdel Aleem SHE. Internet of
Things based real-time electric vehicle load forecasting and charging station
recommendation. ISA Trans. 2020, 97, 431–447. [CrossRef] [PubMed]

7. Gao, D.; Zhang, Y.; Li, X. The internet of things for electric vehicles: Wide area
charging-swap information perception, transmission and application. Adv. Mater. Res.
2013, 608, 1560–1565. [CrossRef]

8. Asaad, M.; Ahmad, F.; Alam, M.S.; Rafat, Y. IoT enabled Electric Vehicle’s Battery
Monitoring System. EAI SGIOT 2017, 8. [CrossRef]

9. Helmy, M.; Wahab, A.; Imanina, N.; Anuar, M.; Ambar, R.; Baharum, A.; Shanta, S.;
Sulaiman, M.S.; Fauzi, S.S.M.; Hanafi, H.F. IoT-Based Battery Monitoring System for
Electric Vehicle. Int. J. Eng. Technol. 2018, 7, 505–510.

10. Divyapriya, S.; Amudha, A.; Vijayakumar, R. Design and Implementation of Grid
Connected Solar/Wind/Diesel Generator Powered Charging Station for Electric
Vehicles with Vehicle to Grid Technology Using IoT. Curr. Signal Transduct. Ther.
2018, 13, 59–67. [CrossRef]

11. Muralikrishnan, P.; Kalaivani, M.; College, K.R. IOT based electric vehicle charging
station using Arduino Uno. Int. J. Sci. Technol. 2020, 29, 4101–4106.

12. Ayob, A.; Wan Mahmood, W.M.F.; Mohamed, A.; Wanik, M.Z.C.; Siam, M.F.M.;
Sulaiman, S.; Azit, A.H.; Mohamed Ali, M.A. Review on electric vehicle, battery
charger, charging station and standards. Res. J. Appl. Sci. Eng. Technol. 2014, 7, 364–
372.

13. Kong, P.Y.; Karagiannidis, G.K. Charging Schemes for Plug-In Hybrid Electric
Vehicles in Smart Grid: A Survey. IEEE Access 2016, 6846–6875. [CrossRef]

14. Phadtare, K.S. A Review on IoT based Electric Vehicle Charging and Parking System.
Int. J. Eng. Res. 2020, V9, 831–835. [CrossRef]

DEPARTMENT OF ECE, GEC HUVINAHADAGALI 57 | P a g e


EMBEDDED SYSTEM WITH IOT 2024-25

15. Vaidya, B.; Mouftah, H.T. IoT Applications and Services for Connected and
Autonomous Electric Vehicles. Arab. J. Sci. Eng. 2020, 45, 2559–2569. [CrossRef]

16. Florea, B.C.; Taralunga, D.D. Blockchain IoT for smart electric vehicles battery
management. Sustainability 2020, 12, 3984. [CrossRef]

17. Sun, Y.; Jin, K.; Guo, Z.; Zhang, C.; Wang, H. Research on Intelligent Guidance
Optimal Path of Shared Car Charging in the IOT Environment. Wirel. Commun. Mob.
Comput. 2020, 2020. [CrossRef]

18. MDPI journel, Energies, Jose P. Martins , Joao C. Ferreira , Vitor Monteiro, Jose A.
Afonso and Joao L. Afonso, Article, IoT and Paradigms for EV Charging System.

19. Al-Fuqaha, A.; Guizani, M.; Mohammadi, M.; Aledhari, M.; Ayyash, M. Internet of
things: A survey on enabling technologies, protocols, and applications. IEEE Commun.
Surv. Tutor. 2015, 17, 2347–2376.

20. Axsen, J.; Goldberg, S.; Bailey, J.; Kamiya, G.; Langman, B.; Cairns, J.; Wolinetz, M.;
Miele, A. Electrifying Vehicles: Insights from the Canadian Plug-in Electric Vehicle
Study; Simon Fraser University: Vancouver, BC, Canada, 2015.

DEPARTMENT OF ECE, GEC HUVINAHADAGALI 58 | P a g e

You might also like