InternReport FINAL
InternReport FINAL
A TRAINING REPORT
BACHELOR OF ENGINEERING
IN
ELECTRICAL AND ELECTRONICS
Submitted by
ANURAG KUMAR
Roll Number: UE214014
MARCH 2025
CANDIDATE’S DECLARATION
I hereby certify that the work which is being presented in this training report titled “EMBEDDDED
SYSTEM DEVLOPMENT” in partial fulfillment of the requirement for the award of degree of
“Bachelor of Engineering in Electrical and Electronics” submitted in University Institute of
Engineering and Technology, Panjab University, Chandigarh, is an authentic record of my own work.
The matter embodied in this training report has not previously been submitted for the award of any
other degree of this or any other university.
2
TABLE OF CONTENTS
CANDIDATE’S DECLARATION 2
TABLE OF CONTENTS 3
INDEX 4
CHAPTER-1 6
CHAPTER-2 11
CHAPTER-3 25
CHAPTER-4 26
REFERENCES 27
DAILY ATTENDENCE RECORD 30
3
INDEX
4
CHAPTER 1:
Embedded systems play a crucial role in the proper functioning and easy access to
modern devices and solutions. If you are planning an intelligent architecture with
IoT at its core, you need a suitable embedded system that can operate the IoT
architecture. They are engineered to automate the processes and streamline the
business operations, thus improving productivity. To develop the appropriate
embedded system, you need to follow a development lifecycle that goes through the
following stages:
1) Requirement Analysis:
The embedded system lifecycle development begins with requirement analysis, where
the needs and specifications of the system are identified. This involves understanding
the purpose of the system, the environment it will operate in, and the desired
functionalities. Stakeholder consultations and market research play a crucial role in this
phase to ensure that the final product meets the expectations and demands of the target
audience.
2) Designing:
Once the requirements are gathered, the next phase involves designing the architecture
and components of the embedded system. This includes defining the hardware
components such as microcontrollers, sensors, actuators, and interfaces, as well as the
software architecture including the operating system, drivers, and application software.
The design phase aims to create a blueprint that outlines how the system will function
7
and interact with its environment. Appropriate embedded controllers, peripherals,
sensors and modules are searched and compared to produce a list of most compatible
and cheap options that will satisfy the requirement.
3) Development:
In the development phase, the designed system is translated into code and hardware
components are integrated to create a working prototype. This involves writing
firmware for microcontrollers, developing device drivers, implementing algorithms,
producing PCB layouts, producing working PCBs and testing individual components to
ensure they meet the specified requirements. Collaboration between hardware and
software is crucial in this phase to ensure seamless integration and functionality.
Oftentimes the minor details presented in datasheets could be the reason for major errors
that will stall work for weeks. Thus this stage also involves obtaining complete
knowledge of the devices, peripherals, controllers, logic devices etc. and how to make
them work together.
4) Implementation:
Once the prototype is developed, it undergoes rigorous testing and validation to identify
and rectify any defects or issues. This involves both functional testing to ensure that the
system performs as intended, as well as non-functional testing to evaluate factors such
as reliability, performance, and security. Any necessary modifications or optimizations
are made during this phase to ensure that the final product meets quality standards.
Common testing methodology includes the commonplace
1)Continuity testing,
2)Sending AT commands to Bluetooth/Wi-Fi/Mobile ICs to configure and check their
working
3)Ensuring good Serial Communication such as UART and SPI
4)Firmware debugging
5)Durability Testing
8
5) Commercial Launch:
After successful testing and validation, the embedded system is ready for commercial
launch. This involves mass production of the hardware components, packaging, and
distribution to customers. Marketing and sales strategies are also implemented to
promote the product and attract potential buyers. The commercial launch marks the
culmination of the development process and the beginning of the product's lifecycle in
the market.
Development of Embedded Systems are aided by several tools both Hardware and
Software that cater to specific needs of the process. The Software tools are used to
develop Firmware, Check Serial Communications for responsiveness, develop the
hardware layout to be printed on a PCB, program the Pick and Place machines, produce
the 3D models of casings and managing inventory. Whereas the hardware tools such as
CRO, multi-meters, Pick and Place Machine, are used in the testing and assembly of
the embedded system.
Following is a short description of the various software and hardware tools used in
Embedded Systems Development:
• Altium Designer:
Altium Designer is a powerful PCB design software that is widely used in the
development of embedded systems. It provides a comprehensive suite of tools for
schematic capture, PCB layout, and component management, allowing engineers to
design high-quality and reliable hardware components.
9
• STMCUBEIDE:
STM32CubeIDE is an integrated development environment created by
STMicroelectronics specifically for their STM32 microcontrollers and
microprocessors. This free, comprehensive tool combines the STM32CubeMX
configurator with the Eclipse IDE to provide developers with everything needed to
design, program, debug, and optimize embedded applications. It offers a streamlined
workflow from initial hardware configuration (including pins, clocks, peripherals, and
middleware) through to code generation, editing, compilation, and debugging with ST-
LINK hardware. The IDE supports the entire STM32 portfolio and includes advanced
features like trace capabilities, code analysis, and profiling tools, making it a powerful
yet accessible solution for embedded developers working with STM32 devices across
Windows, macOS, and Linux platforms.
• STM MICROCONTROLLERS:
STM32 microcontrollers are 32-bit ARM Cortex-M based MCUs from
STMicroelectronics. They range from ultra-low-power to high-performance variants,
featuring rich peripherals like ADCs, timers, and communication interfaces. Known for
power efficiency and comprehensive development support through the STM32Cube
ecosystem, these MCUs are widely used in various applications from IoT devices to
industrial systems.
• GitHub:
GitHub is a web-based platform that provides version control and collaboration tools
for software development projects. It is widely used in embedded system development
for managing source code, tracking changes, and facilitating collaboration among team
members.
• Multi-meters:
Multi-meters are essential tools for testing and troubleshooting electrical circuits in
embedded systems. They are capable of measuring various parameters such as voltage,
current, resistance, and continuity, allowing engineers to verify the integrity and
functionality of electronic components and connections. Multi-meters come in both
analog and digital formats, with digital multi-meters offering additional features such
as auto-ranging and data logging for more precise measurements and analysis.
11
CHAPTER:3
FLASH_LATENCY_4) != HAL_OK) }
RESULT:
int main(void) {
{ If(HAL_GPIO_ReadPin(GPIOC,GPIO_PIN_13)==GPIO_PIN_SET)
HAL_Init(); {
SystemClock_Config(); HAL_Delay(500);
MX_GPIO_Init(); i=i+1;
BSP_LED_Init(LED_GREEN); }
BSP_PB_Init(BUTTON_USER, BUTTON_MODE_EXTI); int p=i%2;
BspCOMInit.BaudRate = 115200; switch(p)
BspCOMInit.WordLength = COM_WORDLENGTH_8B; {
BspCOMInit.StopBits = COM_STOPBITS_1; case 0:
BspCOMInit.Parity = COM_PARITY_NONE;
BspCOMInit.HwFlowCtl = COM_HWCONTROL_NONE; HAL_GPIO_WritePin(GPIOA,GPIO_PIN_5,GPIO_PIN_RESET);
if (BSP_COM_Init(COM1, &BspCOMInit) != break;
BSP_ERROR_NONE) default:
{ HAL_GPIO_WritePin(GPIOA,GPIO_PIN_5,GPIO_PIN_SET);
Error_Handler(); }
} }
int i=0; }
while (1)
14
RESULT:(ON MOBAXTERM
SERIAL TERMINAL)
Assignment 4:
To control onboard LED using serial terminal.
15
Code: (Major sections)
#include "main.h"
UART_HandleTypeDef hlpuart1;
void SystemClock_Config(void);
static void MX_GPIO_Init(void);
static void MX_LPUART1_UART_Init(void);
int main(void)
{
HAL_Init();
SystemClock_Config();
MX_GPIO_Init();
MX_LPUART1_UART_Init();
HAL_UART_Transmit(&hlpuart1,
tx_buffer, 40, 10);
HAL_UART_Receive_IT(&hlpuart1,
rx_data, 1);
while (1)
{
process_command();
}
}
void
HAL_UART_RxCpltCallback(UART_Handle
TypeDef *huart)
{
UNUSED(huart);
if (huart->Instance == LPUART1) {
HAL_UART_Transmit(&hlpuart1, rx_data,
1, 100);
if (rx_data[0] != '\r') {
rx_buffer[rx_indx++] = rx_data[0];
} else {
16
rx_buffer[rx_indx] = '\0';
rx_indx = 0;
transfer_cplt = 1;
}
HAL_UART_Receive_IT(&hlpuart1,
rx_data, 1);
}
}
void process_command(void)
{
if (transfer_cplt) {
transfer_cplt = 0;
17
RESULT:
18
3.2) TESTING AND STUDY OF DIFFERENT DEVICES USED IN
COMPANY:
1) RFID READER:
An RFID reader is a device that reads and processes data stored on RFID tags using
radio frequency signals. It consists of a transmitter (to send signals) and a receiver (to
capture responses from RFID tags). RFID readers can be handheld or fixed and operate
at different frequencies (LF, HF, UHF) depending on the application.
RFID cards are Tested using Company’s build software by connecting it with Ethernet
and setting Parameters as show below:
19
CONNECTION AND RESULT:
Connection Result
A VTS (Vehicle Tracking System) device is a GPS-based system used to monitor and
track vehicles in real-time. It collects data like location, speed, route, fuel consumption,
20
and engine status, transmitting it to a central server via GSM/GPRS. VTS devices are
widely used for fleet management, logistics, theft prevention, and route optimization,
helping businesses and individuals enhance security, efficiency, and operational control
over their vehicles.
The VTS device is connected to Computer via a RS232 to USB connector and sends its
output output to any serial terminal(Here using MobaXterm). The lights indicates the
signal of GSM, GPS, Server and power.
Result (on Mobaxterm):
3) IOT CONTROLLER:
An IoT controller is a device that manages and controls connected IoT (Internet of
Things) devices in a network. It collects data from sensors, processes it, and sends
21
commands to actuators or cloud servers for automation and remote monitoring. IoT
controllers often support Wi-Fi, Bluetooth, Zigbee, LoRa, or cellular communication.
They are widely used in smart homes, industrial automation, healthcare, and agriculture
to enhance efficiency, reduce costs, and enable real-time decision-making.
This smart iot controller has built-in web server that allows users to configure and
control them via a web-based interface. When you enter device IP in a browser, your
request is sent to the IoT controller, which responds by serving the login page. This
login page is for configuring network settings, user access, and device testing.The Login
and testing page for the device is shown below.
22
FIG: TESTING PAGE
23
3.3) GETTING STARTED WITH PCB DESIGNING:
PCB (Printed Circuit Board) designing is the process of creating a layout for electronic
circuits on a board that connects components using conductive pathways. It involves
schematic design, component placement, routing, and layer management using software
like Altium Designer, KiCad, or Eagle.
Here I am using Altium Designer software.
Assignment 1: PCB Design of FULL BRIDGE RECTIFIER CIRCUIT
Schematic:
2D View:
24
3D VIEW:
25
CHAPTER 4:
Weekly work at Internship
• The following table summarises the work that has been done in the
past 2 months
26
REFERENCES
[1] https://en.wikipedia.org/wiki/Texas_Instruments
27