Advanced Diploma in Embedded Systems
Durations – 300Hrs – Offline
Modules
Core Engineering
- Electronics and Hardware Familiarization
- Mastering C Programming
- DSA & Competitive Problem Solving
- Linux System Programming using C
- ARM Cortex-M Architecture with Embedded C Programming
- Embedded Protocols and Peripheral Driver Development
- Embedded RTOS (FreeRTOS) Firmware Programming
Experiential Project Based Learning
- A prototype embedded System development using LPC1768 and KEIL IDE
Duration Break up:
- Training – 55 Days (Excluding EHF)
- Project, Assessment & Technical Mock – 10 Days
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, Visual Studio Code (VSC), Dev-C++
- LPC1768 Development Board
- FreeRTOS
- Keil µVision IDE, Flash Magic
- Raspberry Pi 4 Board, Raspberry OS
| Core Engineering | ||
|---|---|---|
| Electronics and Hardware Familiarization – 36hrs. – 6 Days – 1Weeks ( Self learning ) | ||
| 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 |
| Assessment – Module Test – MCQ, Theory | Technical Mock | |
| Core Programming Fundamentals | ||
| Mastering C Programming – 48 hrs. – 8 Days – 1.5 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 Hacker rank |
| Project- Intermediate project & Demo | Assessment – Module Test – MCQ, Theory | Technical Mock |
| DSA & Competitive problem solving– 90 hrs. – 16 Days – 2.5 Weeks ( Including Project ) | ||
| 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 | Git and Github | Problem Solving using Hacker rank |
| Project- Advanced project & Demo | Assessment – Module Test – MCQ, Theory | Technical Mock & Skill Gap Analysis |
| Linux System Programming using C – 48 hrs – 8 Days – 2.5 Weeks ( Including Project ) | ||
|---|---|---|
| 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 |
| Project- Intermediate project & Demo | Assessment – Module Test – MCQ, Theory | Technical Mock |
| Embedded Systems Programming & Real-Time Control | ||
| ARM Cortex-M Architecture with Embedded C Programming – 36 hrs. – 6 Days – 1 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 |
Embedded Protocols and Driver Development – 36hrs. – 6 Days – 1 Week
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 – 24hrs. – 4 Days – 0.5 Week
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)
