Advanced Diploma in Embedded Systems
Durations – 320+100 hrs. – (4 hrs./day – 2 hrs./day)
Modules
Core Programming Fundamentals
Embedded Systems Programming
- Mastering C Programming following MISRA-C Guidelines
- DSA for Problem Solving in C
- Capstone Project – Programming
Embedded Systems Programming
- Electronics and Hardware Familiarization
- ARM Cortex-M Architecture with Embedded C Programming
- Embedded Protocols and Driver Development
- Mastering OOP using C++
- Linux System Programming using C
- Capstone Project – Hardware Certification: Diploma in Embedded Programming
Experiential Project Based Learning
- A prototype embedded System development using LPC1768 and KEIL IDE
Project stream:
Core ProgrammingM
- Application development using Data Structures (e.g., Student Management System, Memory Leak Detector, E-Commerce Simulator)
- Multi-client server development using socket programming
- CLI-based system utilities following MISRA-C guidelines
- Capstone Project: Modular C-based application with DSA & file handling
- Multi-Peripheral Integration Project (GPIO, UART, SPI, I2C)
- Real-Time Data Acquisition using ADC & Timers
- Communication Interfaces (UART, SPI, I2C) with external devices
- Basic Wireless Communication (Bluetooth/Wi-Fi modules)
- Sensor Data Logging with RTC & Memory (EEPROM/SD Card)
- Embedded Driver Development for peripherals
- Capstone Project: End-to-End Embedded System (Hardware + Firmware)
Platform:
- VS Code / Code::Blocks / Eclipse CDT
- GCC Compiler
- Git & GitHub
- Debugger (GDB)
- Static Analysis (Cppcheck / PC-Lint)
| Core Programming Fundamentals | ||
|---|---|---|
| Mastering C Programming following MISRA-C Guidelines – 80 hrs. – 20 Days – 4 weeks | ||
| Introduction to C: Simple C program structure, Literals, constants, variables | 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 HackerRank |
| Learners’ outcome | ||
| Develop structured C programs using core language features and solve logical problems using arrays, functions, and algorithms. | ||
| DSA for Problem Solving in C – 80 hrs. – 20 Days – 4 weeks | ||
| Time and Space Complexity | Utopian Tree | 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 |
| Learners’ outcome | ||
| Analyze time and space complexity and implement data structures and algorithms to solve competitive programming problems. | ||
| Capstone Project – Programming – 20 hrs. – 5 Days – 1 week | ||
| Certification in Programming | ||
| Electronics 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 |
| Learners’ outcome | ||
| Understand basic analog and digital electronics, embedded system architecture, and interpret hardware schematics and datasheets | ||
| Embedded Systems Programming and Real-Time Control | ||
| ARM Cortex-M Architecture and Programming with LPC1768 – 60 hrs. – 15 Days – 3 weeks | ||
| 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 | Startup code, linker script and their use |
| Object file and map file | Debugging and Tracing | Coding standards/guidelines for secure and 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 Programing: LM35 temperature sensor interfacing and programming | Timer Peripheral Programming |
| Learners’ outcome | ||
| Develop and debug embedded firmware for ARM Cortex-M microcontrollers and interface on-chip peripherals. | ||
| Embedded Protocols and Peripheral Driver Development – 60 hrs. – 15 Days – 3 weeks | ||
| 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 |
| Learners’ outcome | ||
| Implement peripheral drivers and communication protocols for real-time embedded systems. | ||
| Mastering OOP and Data Structures using C++ — 80 hrs. — 20 Days — 4 weeks | ||
|---|---|---|
| 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 |
| Learners’ outcome | ||
| Design modular and reusable applications using object-oriented principles, STL, and modern C++ features. | ||
| Linux System Programming using C — 40 hrs. — 10 Days — 2 weeks | ||
| 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 |
| Learners’ outcome | ||
| Build system-level applications using Linux system calls, IPC mechanisms, and multithreading concepts | ||
| Capstone Project — Hardware — 20 hrs. — 5 Days — 1 week | ||
| Certification: Diploma in Embedded Programming | ||
| Implement peripheral drivers and communication protocols for real-time embedded systems. | ||
| Mastering OOP and Data Structures using C++ — 80 hrs. — 20 Days — 4 weeks | ||
| 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 |
| Learners’ outcome | ||
| Design modular and reusable applications using object-oriented principles, STL, and modern C++ features. | ||
| Linux System Programming using C — 40 hrs. — 10 Days — 2 weeks | ||
| 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 |
| Learners’ outcome | ||
| Build system-level applications using Linux system calls, IPC mechanisms, and multithreading concepts | ||
| Capstone Project – Hardware – 20 hrs. – 5 Days – 1 week | ||
| Certification: Diploma in Embedded Programming | ||
