Mastering Embedded AI
Duration: 120 Hrs
Level 1 – 60 Hrs
Level 2 – 60 Hrs
Program Objective :
To equip learners with industry-relevant technical skills and enhance their job readiness through project-based learning, hands-on tool exposure, and real-world application deployment, thereby preparing them for successful employment in core domain areas
Program Outcomes:
- Build strong logical, structured, and systems programming skills
- Build a strong foundation in embedded programming, microcontroller interfacing, and real-time system
- Empower students to design intelligent embedded systems and gain expertise ii communication protocols
- To equip engineering students with industry- relevant software and hardware skills, enhancing their employability in the embedded systems and AI domains
- Integration of hardware and software skills, enabling participants to contribute effectively to cross-functional teams
Modules:
Level 1 – Embedded System Programming – 60 Hrs:
- Mastering C Programming
- Embedded C Programming following MISRA-C
- ARM Cortex-M3 Architecture and Programming with LPC1768
Level 2 – Driver Development and AI – 60 Hrs:
- Embedded Protocols and Driver Development
- Embedded RTOS (FreeRTOS) Firmware Programming
- Embedded AI and Edge Intelligence
Experiential Project Based Learning
- A prototype embedded System development using LPC1768 and KEIL IDE
Self-Learning (Recorded Sessions) Modules
- Electronics and Hardware Familiarization
- Basics of Python Programming
Tools / 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
LEVEL 1: Embedded System Programming (60 Hours) | ||
Module: Mastering C Programming | ||
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 |
Storage classes | Pointers | Structures |
Searching algorithms | Sorting Algorithms | Problem Solving using HackerRank |
Module: Embedded C Programming following MISRA-C Guidelines | ||
Cross Compilers: arm-none-eabi-gcc, armclang, Toolchain (compiler, assembler, linker, debugger) | Conditional compiler directives and significance in Embedded Software | Const, volatile qualifier in Embedded Systems |
Bit-wise operators 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 |
Module: ARM Cortex-M3 Architecture and Programming with LPC1768 | ||
ARM Cortex-M3 Architecture & LPC1768 Overview | GPIO Registers, LED, buzzer, switch programming | 16x2 LCD interfacing and programming |
4x4 matrix keypad interfacing and programming | ADC Programming: LM35 temperature sensor | Timer Peripheral Programming |
LEVEL 2: Driver Development and AI (60 Hours) | ||
Module: Embedded Protocols and Driver Development | ||
PWM Peripheral Programming | RTC (Real-Time Clock) | Watchdog Timer (WDT) |
PLL & Clock Configuration | NVIC & Interrupt Handling | UART Communication |
SPI Communication | SSP Communication | I2C Communication |
Module: Embedded RTOS (FreeRTOS) Firmware Programming | ||
Overview of FreeRTOS: Features, Source Code Organization | RTOS Concepts: Multi-threading, Scheduling, Context switching | Memory management: Heap vs Stack, Allocation Schemes |
FreeRTOS Heap Utility Functions, Optimization | Concept of Tasks, Task APIs, Task Priorities | Scheduler: Tick Interrupt, Idle Task |
Inter-task Communication: Queues, Blocking Read/Write | Receiving Data from Multiple Queues, Mailbox | Interrupt Management: Events, ISRs |
Semaphores: Binary & Counting | Shared Resources, Mutual Exclusion | Resource Management |
Module: Embedded AI and Edge Intelligence | ||
Introduction to TinyML & Edge AI: Edge AI vs. Cloud AI, Embedded AI use cases | Sensor Data Acquisition: Real-time data collection and visualization (e.g., using Serial Plotter) | Feature Extraction Techniques: Python/MATLAB-based feature extraction from sample sensor data |
Intro to ML for Microcontrollers: Basic ML concepts - classification, regression, training, testing | TinyML Model Optimization: Quantize and test model using TensorFlow Lite | AI Model Deployment |
Experiential Project based Learning |
Embedded Project Work on Multi-Peripheral Integration and Real-Time Data Acquisition (AGILE+SCRUM+GIT+GITHUB) |