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 |