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)
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:08)
The Real-Time Clock (RTC) and Timepiece Development
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
Basics of Display Technologies and Their Applications in Wearables
Introduction to the GC9A01 Round LCD Display
Implementing the GC9A01 Driver
Designing a Simple User Interface for Displaying Time, Date, and Health Data
Creating an Interactive Smartwatch Interface
System Integration- Combining RTC, Pulse Oximetry, and Display Modules
Programming: System Integration- Combining RTC, Pulse Oximetry, and Display Modules(Pt.1)
Programming: System Integration- Combining RTC, Pulse Oximetry, and Display Modules(Pt.2)
Debugging, Testing, and Validation
Some Debugging Techniques
Taking the Device to the Next Step
Teach online with
Getting the required documentation
Lesson content locked
If you're already enrolled,
you'll need to login
.
Enroll in Course to Unlock