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) |