Open Hardware vs Proprietary Hardware
This video compares the signal between 2 type of PPG. Read on for lots of details!
This week, I have been tinkering with 3 different ways to read ones pulse. This technique is called photoplethysmography. Light is emitted into tissue with a capillary bed not far from the skin surface. One can measure how much light passes through the skin or how much light is reflected. Both type of photoplethysmography, transmissive and reflective, have pros and cons. Transmissive signals can provide information about blood oxygen content more accurately than reflective signals. But for digital signal processing (DSP) which is what I am after, they both work very well. The signal or pulse is called the photoplethysmogram or PPG. I want to display the signal in real time. Perhaps even provide some analysis of pulmonary physiological parameters such as heart rate variability or inter-beat interval.
A quick search on your favorite store or search engine will show you plenty of inexpensive, reliable home pulse oximeters (finger-in, transmissive photoplethysmographs.
But if the user wants access to the actual data without using a propriety software package, they are out of luck unless they find a way to crack the transmission protocol. I happen to have access to pulse-ox where the protocol has been cracked and the signal can be accessed directly. But if I want to share what I am doing with students, I feel like they should have access to the hardware and software information without fear of violating someone copyright. There are several different types of open hardware pulse sensors. Today I am going to compare a “raw” PPG to one provided by one of these open hardware sensors. I decided to use the Adafruit Circuit Playground Express as the platform for the “firmware”. This way, I can use both the on-board light sensor and the nearest LED to that sensor as one type of pulse sensor. I also added the Pulse Sensor Amped to the circuit as well. Then I plotted the PPG from both sensors on to one plot using the serial plotter in the Arduino IDE.
The Pulse Sensor Amped circuit has some built-in filtering to ignore the so-called “DC” component of the signal. This low frequency signal is not useful for health purposes. The red signal has the DC component filtered out (and the AC component amplified too) whereas the blue signal which is the unfiltered signal directly from the light sensor built in the board is smaller and shows a secondary trend beyond the higher frequency pulse signal.