Mastering Embedded AI
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
Modules
Embedded System Programming – 30 Hrs:
- Embedded C Programming following MISRA-C
- ARM Cortex-M3 Architecture and Programming with LPC1768
Driver Development and AI – 30 Hrs:
- Embedded Protocols and Driver Development
- Embedded AI and Edge Intelligence
Experiential Project Based Learning
- A prototype embedded System development using LPC1768 and KEIL IDE
Project Stream:
- ARM Controller, Protocols, Machine Learning, Deep Learning
Experiential Project Based Learning:
Embedded Linux with Pi & Sensors
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
Tools / Platform
- Ubuntu (Linux OS, with gcc compiler)
- WSL (Windows Subsystem for Linux)
- Code: Blocks, VSC, Dev-C++
- LPC 1768 development board
- Keil uVision IDE, Flash Magic
- Raspberry PI 4 Board, Raspberry OS
- Arduino IDE, Arduino Uno Board, ESP32 Board, Micropython, Thonny IDE
| Embedded C Programming following MISRA-C Guidelines | ||
|---|---|---|
| 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 | Makefile | 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 and Programming with LPC1768 | ||
| ARM Cortex-M3 Architecture & LPC1768 Overview | GPIO Registers, GPIO Programming: LED Programming | Buzzer and Switch Programming |
| IO Device Programming: 16x2 LCD Interfacing and Programming | ||
| 4x4 Matrix Keypad Interfacing and Programming | ||
| ADC Programming: LM35 Temperature Sensor Interfacing and Programming | ||
| Timer Peripheral Programming | ||
| Embedded Protocols and Driver Development | ||
| PWM Peripheral Programming | RTC (Real-Time Clock) | Watchdog Timer (WDT) |
| PLL (Phase-Locked Loop) & Clock Configuration | NVIC & Interrupt Handling | UART Communication |
| SPI Communication | SSP Communication | I2C Communication |
| 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 | ||
|
Project: Embedded Project Work on Multi-Peripheral Integration and Real-Time Data Acquisition Tools & Practices: AGILE, SCRUM, GIT, GitHub | ||
