This Instructable documents how to create a simple heart rate monitor using Photoplethysmography with an IR phototransistor via transmissive absorption using the Arduino to process the pulsatile data and display live results via a TFT screen.
To use the source code and create the necessary circuitry you will need a reasonable grasp of electronics, knowledge of the Arduino, a DMM and some patience.
The design has been optimised to work with easily obtainable ‘off the shelf’ commercial parts and re-purposed household items and gives reasonable results.
You will need the following parts;
- Arduino Mega 2560 (from SainSmart)
- 1 off old coat hanger as depicted in the picture in Step 2 : The Sensor
- 1 off 1.8 SPI 128×160 TFT Module. I got mine for £2.79 from ebay. Here; http://www.ebay.co.uk/itm/1-8-Serial-SPI-TFT-LCD-Module-Display-PCB-Adapter-Power-IC-SD-Socket-128×160-/381339124956?hash=item58c99544dc:g:mqcAA0SwjvvvsM13
- 2 off TL072 FET OpAmps
- 1 off T121 NPN Darlington Transistor
- 3 off 1N4148 diodes
- 1 off BZY88C 3v3 Zener diode
- 1 off BPW96B Phototransistor
- 1 off TSAL6400 940nm IR 5mm Led
- 1 off Ceramic 1uF capacitor
- 2 off 4.7uF Electrolytic capacitors
- 1 off 22pF Ceramic capacitor
- 1 off 22nF Ceramic capacitor
- 1 off 10nF Ceramic capacitor
- 1 off 50K 10 turn potentiometer
- 3 off 4K7 resistors
- 4 off 10R resistors
- 2 off 7R5 resistors
- 1 off 1M0 resistor
- 1 off 3K9 resistor
- 2 off 10K resistors
- 1 off 100K resistor
- 5 off 1K resistors
- 1 off 220R resistor
Other than the Arduino Mega 2560 (Genuino), coat hanger and the TFT display, I purchased all the parts from FARNELL in the UK.
WARNING : The details contained herein are for information only and should not be relied upon for accurate heart rate monitoring in a clinical or any other environment.
Step 1: Now for the Science Part!
So what is Photoplethysmography?
Photoplethysmography (PPG) is a simple and low cost optical technique that can be used to detect blood volume changes in the microvascular bed of tissue. It is used to make non-invasive measurements at the surface of the skin.
A PPG waveform comprises two main components; ‘AC’ arterial pulsatile changes in blood flow synchronised to heart beat and ‘DC’ elements attributed to venous blood, tissue, respiration, sympathetic nervous system activity and thermoregulation. See diagram above ‘Variation in light attenuation by tissue’.
It is these AC changes which are used to extract heart beat.
The interaction of light with human tissue is quite complex and involves; scattering, reflection and absorption. Research has shown that IR light around 940nm gives the deepest penetration and yields the best deep tissue blood flow measurement. See https://www.youtube.com/watch?v=2v3rae-73jc
Detection is achieved by shining a source of illumination (in this case an IR LED) at an optically sensitive receiver (photodiode/phototransistor).
Positioning of sensors is in one of two ways, reflective or transmissive. See diagram above ‘Transmissive and Reflective modes’. Transmissive mode yields the best results with IR illumination, which is what this project is based around.
Step 2: The Sensor
The sensor was constructed from an old clothes hanger.
I initially used the sprung metal clip to secure the device to the finger tip, but found it too tight in it’s original form, blocking blood flow.
Consequently I opened it up as shown above.
However, once I had opened it up sufficiently to allow for good blood flow in the finger tip, the clip would no longer hold together.
Read more: Photoplethysmography – IR Heart Rate Monitor