Embedded Systems Internship Report
Embedded Systems Internship Report
BACHELOR OF TECHNOLOGY
IN
ELECTRONICS & COMMUNICATION ENGINEERING
Submitted by
PIDIKITI PRAKASH
22F91A0455
Under the Supervision of
[Link] RAO
[Link],(Ph.D)
A.Y : 2025-2026
PRAKASAM ENGINEERING COLLEGE
(An ISO 9001-2008 & NAAC Accredited Institution)
DEPARTMENT OF
ELECTRONICS & COMMUNICATION ENGINEERING
BONAFIDE CERTIFICATE
This is to certify that the Internship report entitled “EMBEDDED SYSTEMS” is a bonafide work of
I am very grateful and my sincere thanks to our secretary & correspondent [Link]
SRINIVAS of PRAKASAM ENGINEERING COLLEGE for giving this opportunity.
I hereby, express my regards and extend my gratitude to our PRINCIPAL, [Link]. RAVI
KUMAR , for giving this opportunity to do the thesis as a part of our course.
I would like to thank [Link] TAVVA CEO ExcelR Edtech PVT LTD,HYDERABAD for
giving me the opportunity to do an internship within the organization.
I would also like to thank all my Faculties in Prakasam Engineering College for their
constant encouragement and for being a great group of knowledgeable and cooperative
people to work with.
SHAIK THASEEN
22F91A0453
TABLE OF CONTENT
[Link] TITLE
1 Introduction
2 Agenda or Index
3 Topic
3.1 Embedded system
3.1.1 Characteristics
3.1.2 Structure
3.2 Introduction to Atmega8
3.2.1 Pin Description
3.3 Introduction to L293D IC
3.3.1 L293D Pin Diagram
3.3.2 Working of L293D
4
5
1. Introduction
6
In this Internship, I had learnt about Programming with python. Such
that 15 Days of internship has few topics and did mini projects and final
assessment in the end of internship i.e. from 13th day.
2. INDEX
7
3. Topics
3.1.2 Characteristics
The main characteristic of embedded systems is that they are task- specific.
Additionally, embedded systems can include the following characteristics:
8
• can be embedded in a larger system to perform a specific function,
as they are built for specialized tasks within the system, not various
tasks;
• can be either microprocessor-based or microcontroller-based --
both are integrated circuits that give the system compute power;
• are often used for sensing and real-time computing in internet of
things (IoT) devices, which are devices that are internet- connected
and do not require a user to operate;
• can vary in complexity and in function, which affects the type of
software, firmware and hardware they use; and
• are often required to perform their function under a time constraint
to keep the larger system functioning properly.
3.1.3 Structure
• Embedded systems vary in complexity but, generally, consist of
three main elements:
• Hardware. The hardware of embedded systems is based around
microprocessors and microcontrollers. Microprocessors are very
similar to microcontrollers and, typically, refer to a CPU (central
processing unit) that is integrated with other basic computing
components such as memory chips and digital signal processors
(DSPs). Microcontrollers have those components built into one
chip.
• Software and firmware. Software for embedded systems can vary
in complexity. However, industrial-grade microcontrollers and
embedded IoT systems usually run very simple software that
requires little memory.
• Real-time operating system. These are not always included in
embedded systems, especially smaller-scale systems. RTOSes
define how the system works by supervising the software and
setting rules during program execution.
9
• In terms of hardware, a basic embedded system would consist of
the following elements:
• Sensors convert physical sense data into an electrical signal.
• Analog-to-digital (A-D) converters change an analog electrical
signal into a digital one.
• Processors process digital signals and store them in memory.
• Digital-to-analog (D-A) converters change the digital data from the
processor into analog data.
• Actuators compare actual output to memory-stored output and
choose the correct one.
3.2 Introduction to Atmega8 Microcontroller
AVR Microcontroller is produced by the “Atmel Corporation”. The
Microcontroller includes the Harvard architecture that works rapidly with
the RISC. The features of this Microcontroller include different features
compared with other like sleep modes-6, inbuilt ADC (analog to digital
converter), internal oscillator and serial data communication, performs the
instructions in a single execution cycle. These Microcontrollers were very
fast and they utilize low power to work in different power saving modes.
There are different configurations of AVR microcontrollers are available to
perform various operations like 8-bit, 16-bit, and 32-bit.
10
3.3 Introduction to L293D Motor Driver IC
11
3.3.2 Working of L293D
There are 4 input pins for l293d, pin 2,7 on the left and pin 15 ,10 on the
right as shown on the pin diagram. Left input pins will regulate the rotation
of motor connected across left side and right input for motor on the right-
hand side. The motors are rotated on the basis of the inputs provided across
the input pins as LOGIC 0 or LOGIC [Link] simple you need to provide Logic
0 or 1 across the input pins for rotating the motor.
0 0 1 Stop
0 1 1 Anti-clockwise rotation
1 0 1 Clockwise rotation
1 1 1 Stop
12
3.4.1 Working
LM35 sensor uses the basic principle of a diode ,where as the temperature
increases, the voltage across a diode increases at a known [Link] precisely
amplifying the voltage change, it is easy to generate an analog signal that is
directly proportional to temperature. There are two transistors in the center
of the circuit. One has ten times the emitter area of the other. This means it
has one tenth of the current density, since the same current is going through
both transistors. This causes a voltage across the resistor R1 that is
proportional to the absolute temperature, and is almost linear across the
range we care about.
The amplifier at the top ensures that the voltage at the base of the left
transistor (Q1) is proportional to absolute temperature (PTAT) by
comparing the output of the two transistors. The amplifier at the right
converts absolute temperature (measured in Kelvin) into either Fahrenheit
or Celsius, depending on the part (LM34 or LM35). The little circle with the
"i" in it is a constant current source circuit. The two resistors are calibrated
in the factory to produce a highly accurate temperature sensor. The
integrated circuit has many transistors in it - two in the middle, some in each
amplifier, some in the constant current source, and some in the curvature
compensation circuit. All of that is fit into the tiny package with three leads.
13
3.5 Introduction to Arm Cortex
ARM-Advanced RISC Machine is a 32-bit RISC (Reduced Instruction Set
Computer) processor architecture developed by ARM Holdings. Many
beginners sometimes misunderstood that the ARM is microcontroller or
processor but in reality, ARM is an architecture which is used in many
processors and microcontrollers. The ARM architecture licensed to
companies that want to manufacture ARM-based CPUs or System-on- Chip
products. This enables the companies to develop their own processors
compliant with the ARM instruction set architecture. For example, the
device we are using LPC2148 is ARM architecture-based SOC product
developed by NXP Semiconductor. Similarly, all major semiconductor
manufacturers like Atmel, Samsung, TI etc. they all make ARM based
SOCs.
3.5.1 RISC
A Reduced Instruction Set Computer is a type of microprocessor
architecture that utilizes a small, highly-optimized set of instructions rather
than the highly-specialized set of instructions typically found in other
architectures. RISC is an alternative to the Complex Instruction Set
Computing (CISC) architecture and is often considered the most efficient
CPU architecture technology available today. With RISC, a central
processing unit (CPU) implements the processor design principle of
simplified instructions that can do less but can execute more rapidly. The
result is improved performance. A key RISC feature is that it allows
developers to increase the register set and increase internal parallelism by
increasing the number of parallel threads executed by the CPU and
increasing the speed of the CPU's executing instructions. ARM, or
“Advanced RISC Machine” is a specific family of instruction set
architecture that’s based on reduced instruction set architecture developed
by Arm Ltd. Processors based on this architecture are common in
smartphones, tablets, laptops, gaming consoles and desktops, as well as a
growing number of other intelligent devices.
RISC provides high performance per watt for battery operated devices
where energy efficiency is key. A RISC processor executes one action per
instruction. By taking just one cycle to complete, operation execution time
14
is optimized. Because the architecture uses a fixed length of instruction, it’s
easier to pipeline. And because it lacks complex instruction decoding logic,
it supports more registers and spends less time on loading and storing values
to memory. For chip designers, RISC processors simplify the design and
deployment process and provide a lower per-chip cost due to the smaller
components required. Because of the reduced instruction set and simple
decoding logic, less chip space is used, fewer transistors are required, and
more general-purpose registers can fit into the central processing unit.
3.5.2 Arm7 Architecture
The ARM architecture processor is an advanced reduced instruction set
computing [RISC] machine and it’s a 32bit reduced instruction set computer
(RISC) microcontroller. It was introduced by the Acron computer
organization in 1987. This ARM is a family of microcontroller developed
by makers like ST Microelectronics, Motorola, and so on. The ARM
architecture comes with totally different versions like ARMv1, ARMv2,
etc., and, each one has its own advantage and disadvantages. The ARM
processor conjointly has other components like the Program status register,
which contains the processor flags (Z, S, V and C). The modes bits
conjointly exist within the program standing register, in addition to the
interrupt and quick interrupt disable bits; Some special registers: Some
registers are used like the instruction, memory data read and write registers
and memory address register.
The ALU has two 32-bits inputs. The primary comes from the register
file, whereas the other comes from the shifter. Status registers flags
modified by the ALU outputs. The V-bit output goes to the V flag as well
as the Count goes to the C flag. Whereas the foremost significant bit
really represents the S flag, the ALU output operation is done by NORed
to get the Z flag. The ALU has a 4-bit function bus that permits up to 16
opcode to be implemented.
15
• Booth Multiplier Factor
The multiplier factor has 3 32-bit inputs and the inputs return from the
register file. The multiplier output is barely 32-Least Significant Bits of
the merchandise. The entity representation of the multiplier factor is
shown in the above block diagram. The multiplication starts whenever
the beginning 04 input goes active. Fin of the output goes high when
finishing.
• Booth Algorithm
• Barrel Shifter
16
• Control Unit
For any microprocessor, control unit is the heart of the whole process and
it is responsible for the system operation,so the control unit design is the
most important part within the whole design. The control unit is
sometimes a pure combinational circuit design. Here, the control unit is
implemented by easy state machine. The processor timing is additionally
included within the control unit. Signals from the control unit are
connected to each component within the processor to supervise its
operation.
The final thing that must be explained is how the ARM will be used
and the way in which the chip appear. The various signals that interface
with the processor are input, output or supervisory signals which will
be used to control the ARM operation.
17
the information is stored in the memory by an address. The ARM
cortex-M3 consists of 37 register sets wherein 31 are general purpose
registers and 6 are status registers. The ARM uses seven processing
• USER Mode: The user mode is a normal mode, which has the least
number of registers.
• FIQ and IRQ: The FIQ and IRQ are the two interrupt caused modes
of the CPU. The FIQ is processing interrupt and IRQ is standard
interrupt. The FIQ mode has additional five banked registers to
provide more flexibility and high performance when critical
interrupts are handled.
• THUMB Mode: In THUMB mode 32-bit data is divided into 16- bits
and increases the processing speed.
18
• THUMB-2 Mode: In THUMB-2 mode the instructions can be either
16- bit or 32-bit and it increases the performance of the ARM cortex
–M3 microcontroller. The ARM cortex-m3 microcontroller uses
only THUMB- 2 instructions.
Some of the registers are reserved in each mode for the specific use of
the core. The reserved registers are
The reserved registers are used for specific functions. The SPSR and
CPSR contain the status control bits which are used to store the
temporary data. The SPSR and CPSR register have some properties
that are defined operating modes, Interrupt enable or disable flags and
ALU status flag. The ARM core operates in two states 32-bit state.
19
4. ASSESSMENT
• Keil compiler
• Embedded C Language
The intensity control of the LED lights is possible by varying the duty
cycle from a DC source. A programmed ARM-Cortex microcontroller
unit is engaged to afford different intensities at different times of night
by using the Pulse Width Modulation technique. The charge controller
circuit is used to protect the
#include
#include “stm32f10x_rcc.h”
GPIO_InitTypeDef int
#define Void
GPIO_InitStructure;
i; GPIOB
binky();
main()
Void
{
Void binky();
}
20
void binky(void)
21
{
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB,
ENABLE); //enable the PORTB pins//
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; //set the port
frequency//
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP; //set the
PORTB in output//
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_All ; //enabled all PORTB
pins//
GPIO_Init(GPIOB, &GPIO_InitStructure); //initialize the PORTB pins//
while(1)
{ GPIO_WriteBit(LED_PORT,GPIO_Pin_8,Bit_SET);
for (i=0;i<1000000;i++);
GPIO_WriteBit(LED_PORT,GPIO_Pin_8,Bit_RESET);
for (i=0;i<1000000;i++);
GPIO_WriteBit(LED_PORT,GPIO_Pin_9,Bit_SET);
for (i=0;i<1000000;i++);
GPIO_WriteBit(LED_PORT,GPIO_Pin_9,Bit_R
ESET); for (i=0;i<1000000;i++);
GPIO_WriteBit(LED_PORT,GPIO_Pin_10,Bit_SET);
for (i=0;i<1000000;i++);
GPIO_WriteBit(LED_PORT,GPIO_Pin_10,Bit_RESET);
for(i=0;i<1000000;i++);
22
3.3 Designing of embedded System using LP2918, L35 temp sensor and LCD
interface
23
Fahrenheit="); [Link](tempf);
delay(1000); //Delay of 1 second for ease of viewing in serial monitor
}
PRESS SWITCH 1 ALL LED WILL GLOW RESPECTIVELY
int switch1; int switch2;
int switch3; void setup()
{ pinMode(5,INPUT_PULLUP
);
pinMode(8,OUTPUT); pinMode(9,OUTPUT); pinMode(10,OUTPUT);
pinMode(11,OUTPUT); pinMode(12,OUTPUT); pinMode(13,OUTPUT);
}
void loop()
{
switch1=digitalRead(5); if(switch1==0)
{
digitalWrite(8,LOW);
}
else
{
digitalWrite(8,HIGH);
}
switch1=digitalRead(5); if(switch1==0)
{
digitalWrite(8,LOW); digitalWrite(9,LOW);
}
else
{
digitalWrite(8,HIGH); digitalWrite(9,HIGH);
}
switch1=digitalRead(5); if(switch1==0)
{
digitalWrite(8,LOW); digitalWrite(9,LOW); digitalWrite(10,LOW);
}
else
{
digitalWrite(8,HIGH); digitalWrite(9,HIGH); digitalWrite(10,HIGH);
}
switch1=digitalRead(5); if(switch1==0)
{
digitalWrite(8,LOW); digitalWrite(9,LOW); digitalWrite(10,LOW);
24
digitalWrite(11,LOW);
}
else
{
digitalWrite(8,HIGH); digitalWrite(9,HIGH); digitalWrite(10,HIGH);
digitalWrite(11,HIGH);
}
switch1=digitalRead(5); if(switch1==0)
{
digitalWrite(8,LOW); digitalWrite(9,LOW); digitalWrite(10,LOW);
digitalWrite(11,LOW); digitalWrite(12,LOW);
}
}
else
{
digitalWrite(8,HIGH); digitalWrite(9,HIGH); digitalWrite(10,HIGH);
digitalWrite(11,HIGH); digitalWrite(12,HIGH);
}
switch1=digitalRead(5); if(switch1==0)
{
digitalWrite(8,LOW); digitalWrite(9,LOW); digitalWrite(10,LOW);
digitalWrite(11,LOW); digitalWrite(12,LOW); digitalWrite(13,LOW);
}
else
{
digitalWrite(8,HIGH); digitalWrite(9,HIGH); digitalWrite(10,HIGH);
digitalWrite(11,HIGH); digitalWrite(12,HIGH); digitalWrite(13,HIGH);
}
int main(void)
{
25
DDRC = 0x0F; // initialize port C
// motors connected across PC0...Pc3 while(1)
{
// clockwise rotation
PORTC = 0b00000101;// PC0 = High = Vcc
// PC1 = Low = 0
// PC2 = High = Vc
// counter-clockwise rotation
PORTC = 0b00001010;// PC0 = Low = 0
// PC1 = High = Vcc
// PC2 = Low = 0
// PC3 = High = Vcc
Conclusion:
My internship in embedded systems has been an enriching experience, blending
theory with practical application. I gained hands-on exposure to microcontroller
programming, sensor integration, and real-time system design. Working on live
projects enhanced my problem-solving skills and deepened my understanding of
hardware-software interaction. Collaborating with professionals helped me
appreciate the importance of teamwork and communication in engineering. This
internship has solidified my interest in embedded systems and inspired me to pursue
further specialization. Overall, it was a transformative journey that laid a strong
foundation for my future career.
Submitted By
Pidikiti Prakash
22F91A0455.
26