Advanced Diploma in Embedded Systems
Duration – 360 hrs. – (4 hrs./day – 2 hrs./day) Duration – 360 hrs. – (4 hrs./day – 2 hrs./day)
Modules
Core Engineering
- Electronics and Hardware Familiarization – 40hrs.
- Mastering C Programming – 40hrs.
- DSA & Competitive problem solving – 60hrs.
- Mastering OOP using C++ – 60hrs.
- Linux System Programming using C – 40hrs.
- ARM Cortex-M Architecture with Embedded C Programming – 60hrs.
- Embedded Protocols and Peripheral driver development – 40hrs.
- Embedded RTOS (Free RTOS) Firmware Programming – 20hrs.
Experiential Project Based Learning
- A prototype embedded System development using
LPC1768 and KEIL IDE
Project stream:
Core Programming
- Application development based on Data Structure (Eg: Multi Client Chat Application, memory Leak Detection tool kit, 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 – 2 Weeks / 20 Days – 4 Weeks | ||
| Analog Electronics: Passive and Active components | Circuit analysis using KCL and KVL | Diode, Transistor and Op-amp Circuits |
| Digital Electronics: 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 – 2 Weeks / 20 Days – 4 Weeks | ||
| Introduction to 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 |
| DSA & Competitive Programming – 60hrs – 15 Days – 3 Weeks / 30 Days – 6 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, Initialization, pointer to pointers | Structures and Nested Structures | Introduction to Data Structures: Stacks, Queues, Linked List |
| Dynamic Memory Allocation | Static & Dynamic Stack | Static & Dynamic Queue |
| Circular Queue | Singly Linked List | Doubly Linked List |
| File Handling Using C | Text and Binary Files | Problem Solving using HackerRank |
| Mastering OOP using C++ – 60hrs – 15 Days – 3 Weeks / 30 Days – 6 Weeks | ||
| Basic input / output: cin, cout, operators, endl, setw | Understanding namespace | Introduction to OOP |
| Classes, Objects, Encapsulation, Abstraction | Access Specifiers, This pointer | Constructors and Destructors |
| Friend functions and Operator Overloading | Inheritance | Run-time Polymorphism |
| Exception Handling | Lambda Expressions | Smart Pointers |
| Templates | STL Algorithms | STL Container Classes |
| Iterators | ||
| Linux System Programming using C – 40hrs – 10 Days – 2 Weeks / 20 Days – 4 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 Memory | Multithreading | Handling Race Condition using Mutex |
| Embedded Systems Programming and Real-Time Control | ||
| ARM Cortex-M Architecture with Embedded C Programming – 60hrs – 15 Days – 3 Weeks / 30 Days – 6 Weeks | ||
| Cross Compilers: arm-none-eabi-gcc, armclang | Conditional compiler directives in Embedded Software | Const, volatile qualifier in Embedded Systems |
| Bit-wise operators in low-level programming | Structure padding, bitfields | Function pointers |
| Make-file | Building Executables | Startup code, linker script |
| Object file and map file | Debugging and Tracing | Secure and Safe Coding Guidelines |
| Embedded Protocols and Driver Development – 40hrs – 10 Days – 2 Weeks / 20 Days – 4 Weeks | ||
| PWM peripheral Programming | RTC (Real-Time Clock) | Watchdog Timer (WDT) |
| PLL & Clock Configuration | NVIC & Interrupt Handling | UART Communication |
| SPI Communication | SSP Communication | I2C Communication |
| Embedded RTOS (FreeRTOS) Firmware Programming – 20hrs – 5 Days – 1 Week / 10 Days – 2 Weeks | ||
| Overview and Features of FreeRTOS | RTOS Concepts: Multi-threading, Real-time | Scheduling and Context switching |
| Experiential Project Based Learning | ||
| Embedded Project Work on Multi-Peripheral Integration and Real-Time Data Acquisition (AGILE + SCRUM + GIT + GITHUB) | ||
