Embedded Systems- Tailored For Working Professionals
Durations – 360 Hrs.
Modules
Core Engineering
- Electronics and Hardware Familiarization
- Mastering C Programming
- DSA & Competitive Problem Solving
- Mastering OOP using C++
- Linux System Programming using C
SPECIALIZATIONS
Embedded Systems Programming & Real-Time Control
- ARM Cortex-M Architecture with Embedded C Programming
- Embedded Protocols and Peripheral Driver Development
- Embedded RTOS (Free RTOS) Firmware Programming
Projects:
- Apply statistical methods to make decisions in various business problems, including banking, stock market, etc.
- Apply regression to predict future flight prices
- Apply classification to classify customers
- Use clustering to segment banking customers
- Gesture recognition captured through image or video data
Experiential Project Based Learning
- A prototype embedded System development using LPC1768 and KEIL IDE
Project stream:
Core Programming
- Application development based on Data Structure (e.g., Multi Client Chat Application, Memory Leak Detection Toolkit, E-Commerce Cart Simulator)
- A concurrent server to replicate a chat application using Socket Programming
Embedded Systems
- 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
- Developing a Custom CAN-based Protocol for Vehicle Networks
Platform:
- 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
Core Engineering
Electronics and Hardware Familiarization – 40hrs. – 10 Days – 2Weeks/ 20 Days – 4Weeks
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
Core Programming Fundamentals
Mastering C Programming – 40hrs. – 10 Days – 2Weeks/ 20 Days – 4Weeks
Introduction to C: Simple C program structure, Literals, constants, variables and
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 |
| DSA & Competitive Programming – 60hrs. – 15 Days – 3Weeks/ 30 Days – 6Weeks | ||
| Time and Space Complexity | Utopian Tre | Viral Advertising |
| Birthday Cake Candles | Migratory Birds | Kaprekar Number |
| Pangram String and Anagram String | Palindrome Index | Array Rotation |
| Pointers: Declaration and Initialization, types, pointer to pointers | Structures: Definition, structure variable, member access, nested structures | 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 | Text and Binary Files | Problem Solving using Hacker rank |
| Mastering OOP using C++ – 60hrs. – 15 Days – 3Weeks/ 30 Days – 6Weeks | ||
| Basic input / output: cin, cout, >> and << operators, endl, setw | Understanding namespace Introduction to Object-Oriented Programming | 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 | Templates |
| STL Algorithms | STL Container Classes | Iterators |
| Linux System Programming using C – 40hrs. – 10 Days – 2Weeks/ 20 Days – 4Weeks | ||
| Linux Shell Commands | Manipulating files and directories | Manipulating data |
| Find and Grep | Variables in Bash Scripting | Control Statements in Bash |
| File Related System Calls | Process Management | Signal |
| IPC – Pipes, Message Queue, Shared Mem | Multithreading | Handling Race Condition using Mutex |
| Embedded Systems Programming and Real-Time Control | ||
| ARM Cortex-M Architecture with Embedded C Programming – 60hrs. – 15 Days – 3Weeks/ 30 Days – 6Weeks | ||
| 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 secureand safe coding |
| ARM Cortex-M3 Architecture & LPC1768 Overview | GPIO Registers, GPIO Programming: LED Programming | buzzer and switch programming IO device programming: 16 x 2 LCD interfacing and programming |
| 4X4 matrix keypad Interfacing and programming | ADC Programming: LM35 temperature sensor interfacing and programming | Timer Peripheral Programming |
| Embedded Protocols and Driver Development – 40hrs. – 10 Days – 2Weeks/ 20 Days – 4Weeks | ||
| PWM peripheral 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 |
| Embedded RTOS (Free RTOS) Firmware Programming – 20hrs. – 5 Days – 1Weeks/ 10 Days – 2Weeks | ||
| 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 free RTOS 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, |
| Experiential Project based Learning | ||
| Embedded Project Work on Multi-Peripheral Integration and Real-Time Data Acquisition (AGILE+SCRUM+GIT+GITHUB) | ||

