Class Name: BE/EE/MedE 189 a (Design and Construction of Biodevices)
Institution: Caltech (Undergrad)
Project Duration: May 2024
Project Description: Build an Arduino-based pulse measurement and blood oxygen detecting device.
Demonstration on my own finger in the video below. The red line shows pulses as read by the red LED in the finger clip, while the pink one shows pulses as read by the IR LED.
To the right is the write-up debriefing the design and post-processing of pulse data.
Materials used:
Nellcor™ OxiMax-compatible sensor probe
Arduino Uno
Digilent 5V Power Brick for op amp power
Python and Arduino code here.
Project report: Includes schematic, how I analyze pulse data both in real-time and in post-processing, and the formula I used for blood oxygen saturation (adapted from here).
Creating a Bokeh app with Python and Arduino
Filtering in hardware and software
Absorption and attenuation physics
Analog circuit design
This is just a disclaimer that, as described in my report, that the measured pulse rate and especially blood oxygen level can be quite inaccurate. This project is merely meant to be a demonstration of the finger-clip technology.
Medical-grade pulse oximeter clips can be in the hundreds of dollars. This project was only a few weeks long and used inexpensive disposable finger probes that are known to be finicky.