Embedded & Automotive System with AI
Semester-wise Duration – 60 Hrs/75 Hrs per ( 300 Hrs )
Program Objective:
Embedded & Automotive Systems with AI equips learners to design
intelligent embedded applications and understand key automotive
protocols and electronics. Students gain hands-on experience with
microcontrollers, RTOS, device drivers, and industry-standard
embedded C (MISRA-C).
With a focus on project-based learning and tools like ARM,
FreeRTOS, Qt, and MATLAB/Simulink, the program prepares
students for cross-functional engineering roles which enhances the
employability of a student.
Program Structure
Semester 3: Competitive Programming using C & DSA
- Mastering C Programming
- Data Structures and Algorithms for Problem solving in C
- Mastering OOP and Data Structures using C++
- Embedded C programming following MISRA-C Guidelines
- Embedded Protocols and Peripheral driver development with ARM Cortex-M
- Linux System Programming
- Embedded RTOS (FreeRTOS) Firmware Programming
- Embedded AI and Edge Intelligence
- Automotive Electronics Foundations
- Qt Application Development for Automotive system
- Model based Design using MATLAB & Simulink
- Experiential Project based Learning
- A prototype embedded System development using LPC1768 and KEIL IDE
- Electronics and Hardware Familiarization
- Basics of Python Programming
Program Outcomes
- Build strong programming foundations in C, C++, Embedded C, and Linux system programming, aligned with industry standards like MISRA-C.
- Design and develop embedded systems using ARM Cortex-M, integrating RTOS, peripheral drivers, embedded protocols, and AI-based edge computing.
- Apply skills in model-based design, Qt application development, and automotive electronics to create and deploy complete embedded system prototypes through hands-on, project-based learning
Experiential Project Based Learning:
Embedded Linux with Pi & Sensors
Project streams
Core Programming
- Application development based on Data Structure (Eg: Flood fund releasing data, cyber management systems, Bank management system, contact management system)
- A concurrent server to replicate a chat application using socket programming.
- Multi-Peripheral Integration Project (Combining GPIO, UART, SPI, I2C)
- Real-Time Data Acquisition using ADC & DMA
- Wireless Communication using LPC1768 + GSM/Bluetooth/Wi-Fi Modules
- Automated Sensor Data Logging with RTC & SD Card Storage
Technology Platforms
- Ubuntu (Linux OS, with gcc compiler)
- WSL(Windows Subsystem for Linux)
- Code::Blocks , VSC , Dev-C++
- LPC1768 development board
- FreeRTOS
- Keil uVision IDE , Flash Magic
- Raspberry PI 4 Board, Raspberry OS
- Arduino IDE, Arduino Uno Board
- ESP32 Board , Micropython, Thonny IDE
- MATLAB and Simulink
- Qt Framework
Semester 3: Competitive Programming using C & DSA (60 hours) | ||
---|---|---|
Mastering C Programming - 15 sessions : 30 hours | ||
Introduction to C: Simple C program structure, Literals, constants, variables and data types | Operators with precedence and associativity | Control flow statements with Examples |
Modular Programming using functions | Numeric Arrays :1D and 2D arrays | Character Arrays, String functions |
Searching algorithms | Sorting Algorithms | Problem Solving using Hacker rank |
Data Structures and Algorithms for Problem Solving in C - 15 sessions : 30 hours | ||
Pointers: Declaration and Initialization, Types of pointers | Structures: Definition, Variable declaration, Accessing members | Introduction to Data Structures: Stacks, Queues, Linked List |
Dynamic Memory Allocation | Static Stack and Dynamic Stack, Static Queue and Dynamic Queue | Circular Queue |
Linked List: Singly Linked List | Doubly Linked List | File Handling Using C |
Git and Github | Problem Solving using Hacker rank | |
Semester 4 : Object-Oriented Programming (60 hours) | ||
Mastering OOP and Data Structures using C++ - 20 sessions : 40 hours | ||
Introduction to C++, Structure of a C++ program | Procedural overview of C++ | Objected Oriented Approach in C++ |
Classes and objects, Encapsulation, Data hiding, abstraction | Access Specifiers – Private and Protected, This pointer | Constructors and Destructors |
Friend functions and operator overloading | Inheritance | Run time polymorphism |
Exception Handling | Lambda Expression | Smart Pointers |
Generic functions and Classes: Templates | STL | Problem Solving using Hacker rank |
Embedded C Programming following MISRA-C Guidelines - 10 sessions : 20 hours | ||
Cross Compilers- arm-none-eabi-gcc , armclang, Toolchain: compiler(gcc), assembler(as),linker(ld),debugger(gdb) | Conditional compiler directives and their significance in Embedded Software | Const , volatile qualifier and their use in Embedded Systems |
Bit-wise operators and their use in low level programming | Structure padding, bitfields | Function pointers |
Make-file | Building an Executable | Stratup code, linker script and their use |
Object file and map file | Debugging and Tracing | Coding standards/guidelines for secure and safe coding |
Semester 5: Embedded System programming (60 hours) | ||
Embedded Protocols and Peripheral Driver Development with ARM Cortex-M - 20 sessions : 40 hours | ||
ARM Cortex-M3 Architecture: Processor | Register set, memory address space, Operating modes | LPC1768 Architecture, Block diagram, Buses, Memory, Pins, GPIO Ports |
GPIO Registers, GPIO Programming: LED, buzzer and switch programming | IO device programming | 16 X 2 LCD programming |
4 X 4 KEYPAD programming | ADC & DAC Programming | Timers & PWM Programming |
RTC (Real-Time Clock) & Watchdog Timer (WDT) | PLL (Phase-Locked Loop) & Clock Configuration | NVIC (Nested Vectored Interrupt Controller) & Interrupt Handling |
UART (Universal Asynchronous Receiver Transmitter) Communication | SPI (Serial Peripheral Interface) Communication | SSP (Synchronous Serial Peripheral) Communication |
I2C (Inter-Integrated Circuit) Communication | ||
Linux System Programming - 10 Sessions ( 20 Hours ) | ||
Linuc OS Structure , Linux Commands, Kernal Vs User space, Boot Process | Shell Scripting Basics – Variables, Conditionals, Loops, Writing Scripts | Process management and package handling, process life Cycle, Ps/Top/Kill, background / foreground jobs |
Domain Specialization : EMBEDDED AI and AUTOMOTIVE SYSTEMS | ||
Semester 6 : RTOS , Embedded AI and Automotive Systems (60 hours) | ||
Embedded RTOS (FreeRTOS) Firmware Programming – 10 sessions : 20 hours | ||
Overview of FreeRTOS: Features of FreeRTOS, FreeRTOS source code organization | RTOS Concepts: Hard real time vs soft real time, Multi-threading/ Multi-tasking / Concurrent execution | Scheduling and Context switching |
Memory management: Heap vs Stack memory, program memory vs data memory | FreeRTOS Heap Memory Management, different memory allocation schemes | FreeRTOS Heap Utility Functions, Optimizing memory |
Concept of FreeRTOS Tasks : freeRTOS Tasks APIs, Creating Tasks, Task Priorities, Task State Transitions | Scheduler: Scheduler Algorithms, Tick Interrupt, Idle task | Inter task Communication and synchronization: FreeRTOS Queue APIs |
Data storage for Queue | Blocking read, write | Receiving data from multiple queues |
Mailbox (using queue) | Interrupt Management Events and ISRs, Tasks vs ISRs | Semaphores: Concept of semaphores, Binary Semaphores, Counting semaphores |
Resource Management: Shared resources | Mutual Exclusion, Critical Section | |
Embedded AI and Edge Intelligence - 10 sessions : 20 hours | ||
Introduction to TinyML & Edge AI: Edge AI vs. Cloud AI, Embedded AI use cases | Sensor Data Acquisition: Real-time data collection and visualization (e.g., using Serial Plotter) | Feature Extraction Techniques: Python/MATLAB-based feature extraction from sample sensor data |
Intro to ML for Microcontrollers: Basic ML concepts-classification, regression, training, testing | TinyML Model Optimization: Quantize and test model using TensorFlow Lite | AI Model Deployment |
Automotive Foundations - 10 sessions : 20 hours | ||
ECUs, Types of ECU, Sensors and Actuators, ESD and Safety basics | Automotive Systems Overview | CAN Architecture |
CAN Frames: data, remote, error frames | CAN arbitration | CAN programming |
Message Filtering and Error Handling | CAN Frame Analysis Using CAN- BUSMASTER Analyzer | LIN Bus : Working Principle and Applications, Frame format |
Intro to Automotive Functional Safety: Overview of ISO 26262, ASIL levels, safety lifecycle | Autosar Architecture Basics: Classic vs. Adaptive Autosar, Basic software components | |
Semester 7 : Qt , MBD and Experiential Project based Learning (60 hours) | ||
Qt Application Development for Automotive System - 10 sessions : 20 hours | ||
Introduction to Qt Framework | Setting up the Qt Development Environment | Creating Your First Qt Widgets Application |
Qt Widgets and Layouts | GUI Design using Qt Designer | Integrating C++ Classes with Qt |
Model-View-Controller Basics | Signal-Slot Mechanism: Connecting UI actions with logic | Develop a simple infotainment UI |
Model Based Design for Autosar Model Deployment using Matlab & Simulink - 10 sessions : 20 hours | ||
Introduction to MATLAB and Simulink | Data Types, Addressing Techniques, linear Equation | Creating and manipulating matrices- Data Visualization-2D and 3D plots, Digital image processing, |
Programming in MATLAB | Graphical User Interface | Logic Driven Modeling |
Finite state machines | Introduction to Simscape | Build and simulate a DC motor control system |
Model a basic software (BSW)component using Simulink + Embedded Coder | Model-Based Design for ECUs: Control logic modeling, automatic code generation | Experiential Project based Learning (20 hours) |
A prototype Embedded System Development using Multi-Peripheral Integration and Real-Time Data Acquisition (AGILE+SCRUM+GIT+GITHUB) | ||
Self-Learning or Recorded Session Modules | ||
Electronic and Hardware Familiarization | ||
Analog Electronics: Passive and Active components | Circuit analysis using KCL and KVL | Diode, Transistor and Op-amp Circuits |
Digital Electronics: Combinational circuits design: Adders, Multiplexers, Encoders, Decoders | Sequential circuits design: Flipflops, Registers, Counters | Microprocessors and Microcontroller architecture |
Basic Embedded System Architecture | Standard Interfaces | Understanding schematics/datasheet |
Basic Python Programming | ||
Variables,operators, Standard IO operations | Control Statements :if, while, for, break, continue | List and Tuples |
Set and dictionary | Functions , Scope of variables | Modules, libraries, Packages |
Semester-wise Course Objectives and Course Outcomes
Semester 3: Competitive Programming using C & DSA
- Mastering C Programming
- Data Structures and Algorithms for Problem Solving in C
Learning Objectives with Bloom's Taxonomy
# | Learning Objective | Bloom’s Level |
---|---|---|
1 | Describe the basic syntax, data types, operators, and control structures of C programs. | Remember / Understand |
2 | Apply modular programming principles to write efficient and reusable C functions. | Apply |
3 | Implement standard searching and sorting algorithms using arrays in C. | Apply / Analyze |
4 | Analyze memory management techniques and manipulate pointers and structures in C. | Analyze |
5 | Design, implement, and manage data structures and use Git/GitHub for project collaboration. | Create / Evaluate |
Learning Outcomes with Bloom's Taxonomy and Assessment Criteria
# | Learning Outcome | Bloom’s Level | Assessment Criteria |
---|---|---|---|
1 | Construct C programs using variables, control structures, and modular functions. | Apply | Correct syntax, structured logic, modularity using functions. Assessed via coding assignments and quizzes. |
2 | Implement searching and sorting algorithms using arrays and evaluate their performance. | Apply / Analyze | Ability to write correct code and analyze time complexity. Assessed via problem-solving tasks on HackerRank. |
3 | Use pointers and structures to solve memory-related problems efficiently. | Analyze / Apply | Proper pointer usage, dynamic memory allocation, and structure manipulation. Evaluated via mini-projects. |
4 | Design and implement static and dynamic stacks, queues, and linked lists using C. | Create | Correct implementation and manipulation of data structures. Assessed via lab exercises and unit tests. |
5 | Perform file operations in C and use Git/GitHub for version control and collaborative programming. | Apply / Evaluate | Accurate file read/write operations and Git workflows (clone, commit, push). Assessed via lab and Git logs. |
Semester 4: Object-Oriented Programming
- Mastering OOP and Data Structures using C++
- Embedded C programming following MISRA-C Guidelines
Learning Objectives with Bloom's Taxonomy
# | Learning Objective | Bloom’s Level |
---|---|---|
1 | Understand the structure and features of C++ and the principles of object-oriented programming (OOP). | Understand |
2 | Apply OOP principles (encapsulation, inheritance, polymorphism) and STL for modular C++ programming. | Apply |
3 | Analyze and solve problems using advanced C++ features such as templates, exception handling, and lambdas. | Analyze |
4 | Apply Embedded C concepts by adhering to MISRA-C coding guidelines and low-level memory practices. | Apply / Evaluate |
5 | Evaluate and debug embedded C programs using build tools, compiler outputs, and map files. | Evaluate / Create |
Learning Outcomes with Bloom's Taxonomy and Assessment Criteria
# | Learning Outcome | Bloom’s Level | Assessment Criteria |
---|---|---|---|
1 | Develop C++ programs using classes, constructors, destructors, and access specifiers to implement OOP concepts. | Apply | Demonstrated through class-based program implementation in assignments and lab sessions. |
2 | Implement operator overloading, inheritance, and runtime polymorphism for reusable, extensible code. | Apply / Analyze | Evaluated through coding challenges and HackerRank problems involving OOP constructs. |
3 | Solve generic problems using function and class templates, and utilize STL containers and algorithms efficiently. | Analyze / Evaluate | Judged through code quality, STL usage, and correctness in algorithm implementation tasks. |
4 | Write Embedded C programs using preprocessor directives, bit-wise operations, and memory-efficient constructs. | Apply | Assessed via embedded C assignments adhering to MISRA-C rules and static analysis feedback. |
5 | Build, debug, and analyze embedded projects using Makefiles, cross compilers, startup code, and linker scripts. | Evaluate / Create | Validated by ability to generate executables, interpret map/object files, and correct startup configuration. |