Table of Contents

About

This project showcases an embedded heart rate (HR) estimation device. Using machine learning and TensorFlow lite, a trained algorithm can be deployed to an Arduino Nano 33 BLE Sense to make heart rate predictions in real time based on a wearable photoplethysmogram (PPG) and tri axial accelerometer.

Keywords

Embedded Machine Learning, Python, Arduino/C/C++, Sensor systems, Wearable Device

Description

This project was expanded on in my dissertation. From the demo video below, it can be seen that the system has some issues with accurate HR estimation. However, it shows promise compared to the spark fun sensor as it can still provide a prediction even with motion artifact. Extensive preprocessing of the accelerometer and PPG data was done both on the database used, found here, and the incoming sensor data. The slideshow below displays the steps used to create the final project. Extensive work was done in Python (specifically in Jupiter/ google collab) to train a deep NN from scratch, and to convert the trained model to TensorFlow lite. Arduino code was written to read the TensorFlow lite model, read the sensor data, preprocess the sensor data, and provide a prediction. Future work on this project focus on getting an accurate HR reading, as well as allowing for the code to work with new PPG and accelerometer sensors. Edge Impulse was explored to streamline the machine learning pipeline.

Video Demonstration

Descriptive Slideshow



Return to top