Domain Track : Embedded System Design


Swarna Prabha Jena


Domain Courses

Course Attendees

Still no participant

Course Reviews

Still no reviews

Domain Track Title : Embedded System Design

Track Total Credits ( 4-10-6)

Domain Code : ESCU2050

Courses Division:


         1. Micro-Controller Based Embedded System Design (1-3-0)

         2. Real-Time Operating system and Porting (1-3-0)

         3. Embedded Linux on ARM (1-3-0)

         4. AUTOSAR Design using CAN, CAN Analyser, and LIN (1-1-0)

         5. Project (0-0-6)

Domain Track Objectives:

  • Develop skilled workforce with the knowledge on latest technologies to meet the need of Embedded Industry.
  • Make the student industry-ready with hands-on experience in the various Real-Time Embedded Systems.

Domain Track Course Outcomes:

COs Course outcomes Mapping COs with POs (High-3, Medium-2, Low-1)
CO1 Gain and apply Knowledge about the architectural features and instructions of 32-bit ARM microcontrollers to develop the embedded system. PO1(3)
CO2 Identify, analyze, formulate, develop and design various product-based applications based on Embedded Systems. PO(2), PO3(3)
CO3 A diversified team will learn, configure and build a customized Linux Kernel and also be able to set up and use the Cross Development platform, which will help them in Life long learning. PO9(3), PO12(3)
CO4  And apply the techniques and Knowledge gained in Embedded Systems to become an entrepreneur for sustainable development. PO5 (2), PO7(3)

Domain Syllabus:


1. Microcontroller Based Embedded System Design (57.5 Hrs)

1.1    Introduction to Embedded System

1.2    Embedded System Development Life Cycle

1.3    Introduction to ARM

1.4    AMBA & AHB

1.5    Features of ARM7, ARM9, ARM 11, ARM Cortex

1.6    Datasheet analysis

1.7    GPIO programming – LED, Seven Segment Display, LCD, Matrix keypad, Actuators ( Relay,  Motors, and valves)

1.8    System control block

1.9    ADC & DAC -- Sensors(Analog and Digital)

1.10   Timer/Counter

1.11   Pulse Width Modulation(PWM)

1.12   Vectored Interrupt Controller(VIC)

1.13   Real-Time Clock (RTC)

1.14   Watch Dog timer (WDT)

1.15   Debugging with JTAG

1.16   Inter System Protocols – UART, USART, USB,

1.17   Intra System Protocols – I2C, SPI, CAN

1.18   Wireless Protocols and its Complete setup – NFC/ RFID, ZigBee, Bluetooth, GPS, GSM Wi-Fi,  MQTT, LORA


2. Real-Time Operating System & Porting (57.5 Hrs)

2.1    Real-Time OS

2.2    Types of RTOS

2.3    GPOS vs RTOS

2.4    Task Management & its API

2.5    Scheduling Algorithms & its API

2.6    Inter Task Communication & its API

2.7    Resource Management & its API

2.8    AWS IoT Core for FreeRTOS

2.9    AWS IoT Green Grass setup on Raspberry Pi


3. Embedded Linux for ARM (57.5 Hrs)

3.1    Embedded Linux Overview

3.2    Linux File System

3.3    Types of Kernel

3.4    Shell Commands

3.5    Shell Scripting

3.6    Process Management System calls

3.7    Inter-Process Communication System calls

3.8    Linux Booting Sequence

3.9    Toolchains Configuration and Cross Compilation

3.10  Configuring & Installing Bootloaders (U-Boot)

3.11   Kernel Configuration and Compilation

3.12  Creating Custom Root File system

3.13  Remote Debugging Embedded Applications using GDB

3.14  Device Drivers- Char drivers

3.15  Static Linking & Dynamic Linking

3.16  Adding Static Module to the Kernel


4. AUTOSAR Design using CAN, CAN Analyser, and LIN (14 hours)

4.1  Introduction to Automotive Systems

4.2  Introduction to AUTOSAR

4.3  Details on CAN Protocols

4.4  SBUS CAN Analyser

4.5  LIN Protocol


      Software Handling

1.       Keil μ vision 5

2.      Arduino IDE

3.      ARM GCC Compiler

4.      FreeRTOS, Raspbian OS, Ubuntu OS

6.       Proteus Professional 8.9

7.       Node-RED


       MPU Handling

1.       ESP32

2.      ESP8266

3.      LPC2148/LPC2129

4.      Raspberry Pi

5.      STM32

6.      Beagle Bone Black


      Reference Datasheets

  1. LPC2148 Datasheet
  2. BeagleBone Datasheet
  3. ESP32 Datasheet

Session Plan for the Entire Domain:

1. Microcontroller Based Embedded System Design (57.5 Hrs)


Session 1:      Embedded System Definition, Examples and Classifications

Session 2:      Career in Embedded System

Practice:-1 -Familiarization of Keil Vision IDE and proteus professional.


Session 3:      Difference between GPCS and ES



Session 4:      Understanding Microprocessor

Practice:-2 -Interface 8 no of LED wit LPC2148 microcontroller and implementation dancing LED.

Session 5:      Microprocessor Internal Architecture and Pipeline


Session 6:      Big Endian vs Little Endian

Session 7:      Embedded System Block Diagram & Components

Session 8:      Difference Between Microprocessor and Microcontroller

Session 9:      Introduction to ARM Processors and its versions 

Session 10:      ARM7, ARM9, ARM11 features, Advantages and Suitability in Embedded Applications


Session 11:      ARM Programmers Model

Session 12:      ARM RISC Design Philosophy

Session 13:      ARM7 Fundamentals, Data Flow model , Programmers Model


Session 14:      ARM7 based LPC2148 – Features and Architecture

Session 15:      System Control Block(PLL and VPB Divider)

Session 16:      Memory Map of LPC2148

Session 17:      Software Compilation


Session 18:      Memory EEPROM & Flash it's application


Session 19:      Scripting Language vs Programming Language


Session 20:      Getting Started with Keil uVision & its legacy Software installation


Session 21:      Getting started with Proteus Professional software


Session 22:      Arduino IDE and Proteus simulation


Session 23:      GPIO Configuration and Application


Session 24:       GPIO Pull UP, Pull Down, Output Configuration


Session 25:      Bit Masking and its Type


Session 26:      GPIO Programming of ARM7


Session 27:      ARM7 GPIO


Session 28:      Pin connect Block


Session 29:      Communication Protocols


Session 30:      UART Protocols and Configuration


Session 31:      ARM7 UART


Session 32:      Serial Communication Between ARM7 LPC2148 And PC


Session 33:      Bluetooth Interfacing with LPC2148


Session 34:      Interfacing and Programming GSM and GPS using LPC2148


Session 35:      RFID based simulation in Proteus professional


Session 36:      GSM Module Interfacing with LPC2148


Session 37:       GPS Module Interfacing with LPC2148


Session 38:      I2C Protocol and Driver Development


Session 39:       EEPROM interfacing with LPC2148 using I2C Protocol


Session 40:       ARM7 SPI


Session 41:       SPI Protocol & driver development


Session 42:      SD card Interfacing with LPC2148 using SPI Protocol


Session 43:      Difference between SPI & I2C


Session 44:      CAN Protocols and Architecture


Session 45:       CAN Frame Format


Session 46:      CAN Bus Arbitration


Session 47:      ARM7 Timers


Session 48:       ARM7 Interrupts


Session 49:     ARM7 PWM


Session 50:      ARM7 WDT


Session 51:      ARM7 RTC


Session 52:      ARM7 ADC


Session 53:      ADC without Interrupt


Session 54:      ADC with Interrupt


Session 55:      ARM7 DAC


Session 56:      Setting up MQTT using DHT11/DHT22 and NodeMCU


Session 57:      Wi-Fi setup with NodeMCU


Session 58:      LoRa features, Configuration and setup to Things Network


2. Real-Time Operating System & Porting (57.8 Hrs)


Session 1:      Operating System, Objective, Function and types


Session 2:      Introduction to RTOS


Session 3:      RTOS Software Architecture


Session 4:       Multitasking and Multiprogramming


Session 5:       RTOS Task Scheduling


Session 6:        Types of Scheduling & its difference


Session 7:       RTOS shared data problem and Mutual exclusion


Session 8:       RTOS Semaphore, Mutex and synchronization


Session 9:       RTOS Scheduling


Session 10:       RTOS Inter task communication


Session 11:      RTOS Time & Memory Management


Session 12:       RTOS Events and ISR


Session 13:       RTOS Design


Session 14:       FreeRTOS Introduction


Session 15:       Downloading & Installing FreeRTOS on Arduino IDE


Session 16:       Downloading & Installing FreeRTOS on Keil uVision


Session 17:       FreeRTOS Creating New Project, files in CCS


Session 18:      Setting up FreeRTOS on Atmel Studio


Session 19:       Setting up FreeRTOS on Eclipse Based IDE


Session 20:      FreeRTOS app debussing using SEGGER SystemView Tools


Session 21:       FreeRTOS Task & its API


Session 22:      FreeRTOS Task Control


Session 23:      FreeRTOS Task - Creating & Deleting


Session 24:      FreeRTOS suspending and Deleting Task


Session 25:      Changing Task Priorities


Session 26:      FreeRTOS Task Utilities


Session 27:       FreeRTOS Direct to Task Notifications part 1


Session 28:       FreeRTOS Direct to Task Notifications part 2


Session 29:       FreeRTOS Kernel Control


Session 30:       FreeRTOS Delays


Session 31:       FreeRTOS Binary Semaphore


Session 32:      FreeRTOS interrupt Processing with Semaphore


Session 33:      FreeRTOS Counting Semaphore


Session 34:      FreeRTOS Mutex


Session 35:      FreeRTOS Recursive Mutex to avoid Deadlocks


Session 36:      FreeRTOS Software Timer


Session 37:      Update & Query timer ID


Session 38:       Change Period Timer and Reset Timer


Session 39:       FreeRTOS Queue Management


Session 40:       FreeRTOS structure Queue to Receive Data from multiple Task


Session 41:       FreeRTOS Queue set


Session 42:       Creating MailBox with Queue


Session 43:      FreeRTOS Queue part 1


Session 44:      FreeRTOS Queue Part 2


Session 45:      FreeRTOS Events


Session 46:      FreeRTOS handling Interrupt


Session 47:      FreeRTOS Stack & Heap Management


Session 48:      FreeRTOS Stack Space


Session 49:      ESP8266 with AWS IoT


Session 50:      Setup AWS IOT with Raspberry pi


Session 51:      Amazon FreeRTOS


Session 52:      AWS IoT Device Tester for Amazon FreeRTOS using STM32


Session 53:      Introduction to IoT Greengrass


Session 54:      AWS Greengrass Setup on Raspberry Pi


Session 55:      Managing Smart Camera and bulb with Greengrass using Raspberry pi


Session 56:      AWS IoT Device Tester for Amazon Greengrass STM32


Session 57:      Perform Object Detection at the Edge with AWS IoT Green grass,the%20bulb%20and%20the%20camera.


3. Embedded Linux on ARM (57.5 Hrs)


Session 1:      Installation of Ubuntu on Virtual box in Windows


Session 2:      Embedded Linux


Session 3:      Installation of Raspbian OS on Raspberry pi


Session 4:      Linux Architecture


Session 5:      Linux shell commands


Session 6:      Linux shell commands-I


Session 7:      Grep in Linux


Session 8:      Linux File System


Session 9:      Create own Linux command


Session 10:      Inode number, soft-link, hard-link in Linux


Session 11:      Shell Scripting


Session 12:      Shell scripting – 1 File test operator


Session 13:      Shell Scripting – 2


Session 14:      Shell Scripting – 3


Session 15:      Shell scripting – 4


Session 16:      I/O Linux System Calls - open(), write


Session 17:      I/O Linux system calls - Creat()


Session 18:      I/O Linux System calls- close() and ulink()


Session 19:      Linux system calls – execl (), execlp(), dup(), dup2()


Session 20:      Linux system call fcntl() as dup ()


Session 21:      File locking in Linux


Session 22:      Process, PCB, File Descriptor


Session 23:      How to create a child process with fork in Linux


Session 24:      Zombie and Orphan


Session 25:      Daemons in Linux


Session 26:      Semaphores implementation in Linux


Session 27:      Semaphores and Mutex


Session 28:      Signals in Inter-process Communication


Session 29:      Pipes in Inter-process Communication


Session 30:      Inter-process communication-Named Pipes or FIFO


Session 31:      Message Queue-IPC Mechanism


Session 32:      Shared Memory


Session 33:      Socket in Linux System programming


Session 34:      Threads in Linux


Session 35:      BBB board and SOC


Session 36:      AM335 Functional block overview


Session 37:      BBB networking Configuration


Session 38:      Linux booting process


Session 39:      Embedded Linux Toolchain


Session 40:      uBoot


Session 41:      Busybox


Session 42:      Buildroot


Session 43:      Eclipse setup for BBB


Session 44:       Linux Device Drivers


Session 45:      System Memory, Static Modules and Dynamic Modules


Session 46:      Process and Memory Management, Device Control


Session 47:      Linux Kernel Modules, User Space and Kernel Space


Session 48:      Implementing Device Driver and Running


Session 49:      Loading and unloading Kernel Modules


Session 50:      Kernel Modules Vs Applications


Session 51:      Kernel Symbol Tables


Session 52:      Kernel Symbol tables


Session 53:      Kernel Symbols and Symbol Tables


Session 54:      Module Parameters and Array Module


Session 55:      Device Driver Types


Session 56:      Major and Minor Numbers


Session 57:      Allocating device Numbers


Session 58:      File structure, File Operations, and Inode Structure.


Session 59:      Adding and Removing character device from Linux System


session1:   Introduction to AutoSAR: History, goals, and benefits

Class Note:Introduction

session2: Overview of automotive software development process

session3: AutoSAR Architecture: Layered architecture and software components

session4: Autosar Basic Software (BSW) stack overview

session 5: AutoSAR Communication Mechanisms: Inter-ECU communication and protocols

session6: Introduction to the Communication Stack (COM)

session7: Diagnostic Communication Manager (DCM): Diagnostic services and diagnostic protocols

session8: Introduction to AUTOSAR Runtime Environment (RTE)

session9: RTE Configuration and Code Generation

session10: Software Component Template (SWC): Definition and structure

session 11:SWC Configuration and Integration

session12:Error Handling in AutoSAR: Diagnostic Event Manager (DEM) and Error Tracer (DET)

practice session1:Develop AUTOSAR Software component model using Matlab |simulink

session 2:Designing Software Architectures Using AUTOSAR Blockset

session3:Interfacing MCP2515 CAN Module with Arduino

session4:sending sensor data over CAN bus

session5:Develop AUTOSAR Classic & Adaptive Applications with Model-Based Design

session6:Simulate and Generate Code for Adaptive AUTOSAR Methods in Simulink

session7:How to Unit-Test an AUTOSAR Software Component Using Simulink Design Verifier

session8:AUTOSAR Software Interfaces and Types Using the Interface Dictionary

List of Projects to be done in Domain:


1. Real-Time IoT based Apparel Tracking System using Apriso Solution

2. Real-Time IoT based Smart Agriculture Monitoring & Controlling

3. Design and Development of Insulin Pump

4. IoT -Based Covid Patient Blood Oxygen Monitor and Calling an Ambulance on critical blood oxygen levels

5. Portable IoT Based Fingerprint Biometric Attendance System

Gate Process for Project


Gate 0:       Idea

Gate 1:       Scope

Project Scope(Video)

Gate 2:       Development (Work Breakdown Structure)

Project Life Cycle(Video)

Work Breakdown Structure(Video)

Gate 3:       Testing and Validation

Gate 4:       Documentation

Our Main Teachers

Swarna Prabha Jena

Assistant Professor, Department of ECE, SoET

She is currently working as an Assistant Professor in the Department of Electronics & Communication Engineering under Centurion University of Technology and Management, Odisha. She is pursuing her Ph.D. in the field of IoT & Smart Agriculture at the Centurion University of Technology & Management and received, MTech Degree from SOA University in the year […]

Assistant Professor in the Department of Electronics and Communication Engineering, Centurion University of Technology and Management, Odisha. Pursuing PhD in the field of IoT and Smart Agriculture at Centurion University of Technology and Management, Odisha. Completed masters during 2012 in VLSI and Embedded Systems from S’O’A University, Bhubaneswar. Trained and experienced in Circuits Design, Analysis […]

Debaraj Rana

Assistant Professor, Department of ECE, SoET Bhubaneswar Campus

Mr. Debaraj Rana , working as Asst. Professor in the Dept of Electronics & Communication Engineering, School of Engineering and Technology, Bhubaneswar Campus. He has nine years of teaching experience in the field of Electronics and Communication. He has completed his B.Tech from Biju Pattnaik University of Technology and completed in the year 2007 and […]

Rajesh Kumar Misra

Assistant Professor in School of Engineering & Technology, Department of ECE

Rajesh Kumar Misra is  currently working as Assistant Professor in the Department of Electronics and Communication Engineering at Centurion University of Technology and Management, Odisha. His research interests include Embedded System Design,Internet of Things. He has received his M.Tech from Tezpur Central University ,Assam, India in the Year 2009 and Currently Pursuing his PhD. He has […]

N Jeevaratnam

Assistant professor,Department of ECE, SoET Paralakhemundi Campus,Odisha,India

She is Currently Working As an Assistant Professor In The Department of Electronics & Communication Engineering Under Centurion University of Technology and Management, Odisha. She Has Over 10 Years Of Teaching Experiences. She has published 5 research articles in National and International refereed journals.  She is pursuing her Ph.D. in the field of signal processing […]