Autoplay
Autocomplete
Previous Lesson
Complete and Continue
Practical Embedded AI from Ground Up with STM32CubeAI
Welcome
Introduction(Same as Promo) (1:46)
Course Requirements
Course Orientation and Embedded AI System Map
What is Embedded AI (2:58)
Deployment vs. Research Mindset (2:18)
Common Misconceptions About Embedded AI (1:50)
Training on PC vs. Inference on STM32 (3:20)
The Embedded AI Workflow (3:37)
Final Course Projects and Capstone Preview (1:33)
Course Resources for Initial Sections
The STM32CubeAI Toolchain
What is STM32CubeAI (3:55)
Understanding STM32CubeAI Studio, ST EdgeAI Core and Developer Cloud (2:41)
The Supported Deployment Model Formats (4:42)
The Pipeline: Analysis, Validation, Optimization and Code Generation (3:38)
What the Generated Inference Package Contains (3:26)
The No-CubeMX Integration Approach (3:57)
Programming: Creating a Professional Workspace (6:53)
Programming: Creating a Test Model (6:52)
Programming: Importing the Model into STM32CubeAI Studio (6:38)
Programming: Generating the C Code and Inspecting the Generated Package (3:01)
Programming: Running CLI Cross-Check Using ST Edge AI Core (4:45)
The STM32 and Sensor System Architecture
The Microcontroller Resource Budgeting (6:43)
Why Sensor-based Models (4:36)
The Sensor Bus Plan (3:03)
The I2C Environmental Sensors (3:44)
The SPI Motion Sensor (1:44)
The Optional GPIO Sensor (4:14)
Minimum Machine Learning Knowledge for Embedded Engineers
The Core Vocabularly: Models, Features and Labels (3:28)
Understanding the Differences between Classification and Regression (2:41)
Understanding Training, Validation and Test Data (3:17)
Accuracy, False Positives and False Negatives (2:45)
Confusion Matrix Interpretation (5:39)
Understanding Confidence Thresholds (3:02)
Why Compact Feature-Based Models are Preferred (1:54)
Quantization and Why int8 Matters (6:41)
Professional Embedded AI Engineering Discipline
Requirement Documentation for AI Firmware (2:14)
The Clean Firmware Architecture for Embedded AI (2:22)
Understanding Layer Separation (3:03)
Dataset and Model Artifact Versioning (3:18)
The Importance of Validation Before Deployment (3:10)
Professional Documentation Expectations (2:04)
Introduction to Environmental Sensing
Importance of Environmental Sensing (2:50)
Environmental Properties Measured by Modern Sensors (7:54)
Differences between Sensors and Transducers (2:25)
Setting Up
Downloading CubeIDE (2:34)
Installing CubeIDE (2:38)
Getting the Required Documentation (7:41)
Getting the Required Package for Bare-Metal Development (21:19)
Testing the Project Setup (15:54)
The System Diagnostics Module
Programming: Overview of the Base Firmware Project (8:40)
Programming: Creating the Firmware Version File (4:23)
Programming: Creating the Diagnostics Module Files (4:09)
Programming: Initializing the Diagnostics Module (4:27)
Programming: Implementing the Diagnostics Heartbeat Function (4:45)
Programming: Testing the Diagnostics Module (4:46)
The Layered Firmware Scaffold
Programming: The Sensor Manager Module (4:59)
Programming: Implementing the Feature Vector Module (5:58)
Programming: Implementing the AI App Layer (11:54)
Other Resources: Developing Drivers for Interfacing with the Environmental Sensors
Programming : Enabling the Floating Point Unit (FPU) (18:00)
Programming : Developing a UART Driver - Analyzing the Documentation (11:35)
Programming : Developing a UART Driver - Listing out the steps (4:00)
Programming : Developing a UART Driver - Implementing the Init. function (22:13)
Programming : Developing a UART Driver - Implementing the Write function (5:39)
Programming : Developing a UART Driver - Testing the Driver (6:39)
Programming : Developing the System Timebase - Analyzing the Documentation (8:28)
Programming : Developing the System Timebase - Implementing the Init. function (9:52)
Programming : Developing the System Timebase - The rest of the functions (12:15)
Programming : Developing the System Timebase - Testing the Timebase (5:34)
Programming : BSP : Listing the out the Required Functions (7:55)
Programming : Writing the LED Driver (5:01)
Programming : Writing the PushButton Driver (4:00)
Programming : Testing the Board Support Package (3:35)
Programming : Analyzing the Documentation (5:21)
Programming : Listing out the steps for developing the ADC Driver (5:27)
Programming : Writing the ADC Initialization function (13:21)
Programming : Writing the ADC Read function (14:05)
Programming : Analyzing the Documentation for the SPI Driver (7:34)
Programming : Intializing the GPIO Pins for SPI (11:00)
Programming : Implementaing Structures for Configruation Parameters (15:29)
Programming : Configuring the Parameters (15:41)
Programming : Writing the SPI Initialization function (14:55)
Programming : Writing the SPI Transmit Function (Pt.1) (9:27)
Programming : Writing the SPI Transmit Function (Pt.2) (10:26)
Programming : Transmitting 16-bit Data (17:54)
Programming : Transmitting 8-bit Data (6:46)
Programming : Receiving Data (11:05)
Programming : Testing the SPI Driver (15:47)
Programming : Analyzing the Documentation for the I2C Driver (10:47)
Programming : I2C : The GPIO Initialization (10:35)
Programming : Configuring the I2C Parameters (10:22)
Programming : Implementing the I2C Read function (13:44)
Programming : Implementing the I2C Burst Read function (7:25)
Programming : Implementing the I2C Write functions (10:17)
Programming : Introduction to the required extensions (3:27)
Programming : Implementing the I2C Request Memory Write function (8:56)
Programming : Implementing the I2C Request Memory Read function (5:36)
Programming : Implementing the I2C Memory Write function (5:54)
Programming : Implementing the I2C Memory Read function (11:46)
Temperature and Humidity Sensing
Introduction to Temperature Sensors (2:13)
Introduction to Humidity Sensors (2:45)
Overview of the DHT11 Temperature and Humidity Sensor (5:09)
Understanding the Data Packet of the DHT11 Sensor (4:59)
Programming: Updating the Workspace (1:02)
Programming: Creating the Driver Files (3:53)
Programming: Creating the Functions for Generating Milli and Micro Seconds Delays (9:29)
Programming: Sending the Start Request (5:07)
Programming: Checking for the Response fom the Sensor (5:37)
Programming: Reading the Data Packet from the Sensor (4:57)
Programming: Extracting the Temperature and Humidity Values from the Data Packet (6:06)
Programming: Testing the DHT11 Driver (5:09)
Air Quality Sensing
Common Air Pollutants that Impact Air Quality (5:17)
Understanding the Air Quality Index (6:35)
Understanding Particulate Matter(PM) Classifications: PM2.5 and PM10 (5:17)
Overview of the SGP30 eC02 Detector (3:09)
Some Common Terms (1:04)
The Indoor Air Quality(IAQ) Assement Process (3:15)
Understanding PPM and PPB (2:19)
Programming: Analyzing the SGP30 Air Quality Sensor Documentation (8:17)
Programming: Analyzing the Sensirion Driver Files for the SGP30 (5:30)
Programming: Updating the I2C Burst Functions (6:36)
Programming: Impementing the Sensirion Configuration File (5:48)
Programming: Reading TVOCs and CO2 Equivalent Values (13:02)
Pressure Sensing
Overview of the GY-BM280 Pressure Sensor (1:06)
Programming: Getting the Required Documentation (5:58)
Programming: Analyzing the Bosch Driver Files (7:10)
Programming: Creating the Device Config Files (2:29)
Programming: Implementing the bme280_read() Function (4:55)
Programming: Implementing the bme280_write() Function (2:47)
Programming: Implementing the Device Configuration Function (10:08)
Programming: Testing the BME280 Driver (11:07)
Light Intensity Sensing
Overview of the BH1750 Digital Light Intensity Sensor (2:16)
Programming: Analyzing the Documentation of the BH1750 Sensor (3:41)
Programming: Creating the Driver Files (2:42)
Programming: Implementing the Interface File (2:51)
Programming: Configuring the Measurement Time Register(MTReg) (3:30)
Programming: Setting the Mode (1:36)
Programming: Setting the Power State (2:02)
Programming: Reading the Light Intensity (6:13)
Programming Implementing the Initialization Function (3:18)
Programming: Testing the Driver (10:15)
Programming: Setting the Mode
Lesson content locked
If you're already enrolled,
you'll need to login
.
Enroll in Course to Unlock