Autoplay
Autocomplete
Previous Lesson
Complete and Continue
Wearable Innovations: Engineering Smartwatches from Scratch
Welcome
Course Introduction(Same as Promo) (1:11)
Course Requirements
The Digital Era
The Rise of Personalized Healthcare in the Digital Age (3:19)
The Triad: Data, Digital Technologies, and Advanced Analytics (3:30)
Digital Health Measures
Introduction to Digital Health Measures (1:18)
Heart Rate as a Biomarker (5:19)
Blood Oxygen Saturation as a Biomarker (4:26)
Blood Pressure and Body Temperature as Biomarkers (4:11)
Digital Health Technologies in Clinical Research and Care Delivery
Digital Health Technologies in Clinical Research (6:07)
Digital Health Technologies in Care Delivery (3:37)
Some Common Wearable Technologies (2:29)
Challenges Throughout the Life Cycle of Digital Health Solutions
Challenges in the Development and Implementation of Digital Health (3:06)
Challenges in Integration and Mass Adoption, Maintenance of Digital Health (2:41)
Photoplethysmography (PPG): The Foundational Technology of Health Tracking Wearables
What is Photoplethysmography (PPG) (3:09)
More on Photoplethysmography (4:12)
Blood Oxygenation and Cellular Respiration (6:43)
The Basic Principles of Photoplethysmography(Pt.1) (4:35)
The Basic Principles of Photoplethysmography(Pt.2) (3:03)
The Compoents of the Photoplethymogram (4:17)
Transmittance Mode and Refelctance Mode PPG (3:23)
Components of a PPG System for Pulse Oximetery (10:19)
The Beer-Lambert Law (7:56)
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)
Source Code Download
Developing Drivers for Interfacing the System Modules
Important information about this section
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)
Developing the MAX30102 Driver
Overview of the MAX30102 Pulse Oximetry Sensor (2:40)
Programming: Getting the MAX30102 Documentation (3:35)
Programming: Analyzing the MAX30102 datasheet (7:17)
Programming: Writing to Registers in MAX30102 (5:41)
Programming: Reading from Registers in MAX30102 (1:12)
Programming: Enabling FIFO and PPG Interrupts (8:09)
Programming: Selecting SPO2 Mode and Clearing FIFOs (4:18)
Programming: Configuring the LED Parameters and Samplying Rate (3:41)
Programming: Implementing the FIFO Read Function (5:47)
Programming: Reseting the MAX30102 Sensor (3:07)
Developing the MAX30102 Library
Programming: Implementing the MAX30102 Library Files (9:38)
Programming: Implementing the MAX30102 Initialization Function (3:03)
Programming: Configuring the Interrupt Pin (4:34)
Programming: Implementing the MAX30102 Process Function (3:34)
Programming: Implementing the Prototype for the hr_and_spo2_compute_function() (5:58)
Understanding Heart Rate Measurement and Algorithm Implementation
The Steps for Heart Rate Measurements from PPG (2:09)
The Heart Rate Equation and Some Considerations (5:38)
Understanding SpO2 Measurement and Algorithm Implementation
The Background of the SP02 Equation (4:20)
The SP02 Equation (3:02)
Developing the Heart Rate and Blood Oxygen Saturation(SPO2) Algorithms
Programming: Calculatting the Mean of the Signal (4:21)
Programming: Listing Out All the Required Steps (4:50)
Programming: Declaring the Required Local Variables (2:47)
Programming: Removing the DC from the Signal (6:51)
Programming: Removing the Linear Trend in the Signal (10:20)
Programming: Removing the Linear Trend in the Signal(Pt.2) (4:12)
Programming: Calculating the Root Mean Square(RMS) of the Signal (7:51)
Programming: Computng the Correlation between the Signals (8:53)
Programming: Computing the Autocorrelation at a Particular Lag (3:11)
Programming: The Periodicity Search Function (4:24)
Programming: Searching for Periodicity in the Signal (8:53)
Programming: The Prototype of the Periodicity Analyses Function (3:21)
Programming: Searching for Autocorrelation to the Left of the Lag (9:28)
Programming: Searching for Autocorrelation to the Right of the Lag (3:39)
Programming: Checking the Validity of the Found Periodicity (3:44)
Programming: Initializing the Peridocity Search Function (19:33)
Programming: Calling the Signal Periodicity Function (3:39)
Programming: Computing the Heart Rate (4:08)
Programming: Computing the SPO2 (4:55)
Programming: Cleaning Up the Project (13:31)
Programming: Calling the heart_rate_and_spo2_compute() Function (6:45)
Programming: Testing Pulse Oximeter (20:37)
The Real-Time Clock (RTC) and Timepiece Development
RTC Source Code Download
Overview of the Realtime Clock (10:49)
Programming: Listing the Steps for Configuring RTC Calendar (8:16)
Programming: Implementing the RTC Calendar Init. Function(Pt.1) (11:57)
Programming: Implementing the RTC Calendar Init. Function(Pt.2)-Setting the Date (18:19)
Programming: Implementing the RTC Calendar Init. Function(Pt.3)- Prescalers (15:10)
Programming: Implementing the RTC Calendar Init. Function(Pt.4)- Exiting Init.Mode (13:15)
Programming: Getting the Calendar Information (7:51)
Programming: Testing the RTC Calendar Driver (16:16)
Programming: Implementing the RTC Alarm Init. Function(Pt.1) (16:24)
Programming: Implementing the RTC Alarm Init. Function(Pt.2) (11:06)
Programming: Implementing the RTC Alarm Interrupt Handler (17:51)
Programming: Analyzing the Steps to Config the RTC Timestamp (5:28)
Programming: Implementing the RTC Timestamp Init. Function (7:35)
Programming: Implementing the RTC Timestamp Interrupt Handler (13:28)
Programming: Testing the RTC Timestamp Driver (10:15)
Programming: Implementing the RTC Tamper Detect Init. Function (9:58)
Programming: Testing the RTC Tamper Detection Driver (9:10)
The GC9A01 Round Display Interface
Programming: Integrating the Display (11:39)
Programming: Displaying the SPO2 and Heart Rate Values in Realtime (17:02)
System Integration- Combining RTC, Pulse Oximetry, and Display Modules
Programming: System Integration- Combining RTC, Pulse Oximetry, and Display Modules (8:06)
Teach online with
Programming: Removing the Linear Trend in the Signal(Pt.2)
Lesson content locked
If you're already enrolled,
you'll need to login
.
Enroll in Course to Unlock