Introduction: Microcontroller Measures Heart Rate Through Fingertip

Picture of Microcontroller Measures Heart Rate Through Fingertip

Heart rate is a very vital health parameter that is directly related to the soundness of the human cardiovascular system. This project describes a technique of measuring the heart rate through a fingertip using a PIC microcontroller. While the heart is beating, it is actually pumping blood throughout the body, and that makes the blood volume inside the finger artery to change too. This fluctuation of blood can be detected through an optical sensing mechanism placed around the fingertip. The signal can be amplified further for the microcontroller to count the rate of fluctuation, which is actually the heart rate.

Update: For those who are interested to replicate this project, you can use Easy Pulse sensor that covers the complete sensor and instrumentation part. Easy Pulse is a photoplethysmography-based pulse sensor using a similar circuit as described in this project.

Also check out the Arduino version of this project here.

Step 1: Sensor Assembly

Picture of Sensor Assembly

The sensor unit consists of an infrared light-emitting-diode (IR LED) and a photo diode, placed side by side, and the fingertip is placed over the sensor assembly, as shown below. The IR LED transmits an infrared light into the fingertip, a part of which is reflected back from the blood inside the finger arteries. The photo diode senses the portion of the light that is reflected back. The intensity of reflected light depends upon the blood volume inside the fingertip. So, every time the heart beats the amount of reflected infrared light changes, which can be detected by the photo diode. With a high gain amplifier, this little alteration in the amplitude of the reflected light can be converted into a pulse.

Step 2: Signal Conditioning Circuit

Picture of Signal Conditioning Circuit

The reflected IR signal detected by the photo diode is fed to a signal conditioning circuit that filters the unwanted signals and boost the desired pulse signal. The circuit diagram above shows the IR LED (D1) and the photo diode (D2) along with the signal conditioning circuit made of two stage operational amplifiers configured as active low pass filters. The cut-off frequencies of both the filters are set to about 2.5 Hz, and so it can measure the pulse rate up to 2.5*60 = 150 bpm. The gain of each filter is about 100, which gives the total 2-stage amplification of 10000. This is good enough to convert the weak pulsating signal into a TTL pulse. Note that at the input of each OpAmp filter stage, there is a 1 uF capacitor to block any DC component in the signal. At the output is connected a LED that will blink with heart beat. The cathode of LED gets the ground path through the collector of BC547 transistor. In order to save the battery life, the transistor is turned on for 15 seconds by PIC16F628A microcontroller while the measurement is going on. The number of pulses counted within this interval is multiplied by 4 to get actual beats per minutes (bpm).  

Step 3: Microcontroller and Display Circuit

Picture of Microcontroller and Display Circuit

The PIC16F628A runs at 4.0 MHz using an external crystal. The two tact switches are used for Start and Clear functions. You should rest your fingertip on the sensor assembly before pressing the Start button. You can use fore finger or middle finger for this. Once the Start button is pressed, the microcontroller turns on the BC547 transistor (in the signal conditioning circuit). This turns the IR LED on, and the LED starts blinking with the fluctuation in the blood volume inside finger arteries. After 15 seconds, the measurement is completed and the result is displayed on a 3-digit seven segment LED display.

Step 4: Device in Action


This video shows the heart rate measuring device in action.

The firmware for PIC16F628A was developed in C and compiled with mikroC Pro for PIC compiler from mikroElektronika.
You can find the source code and HEX files attached here with or can also view the program on my blog site.

Comments

cooldharap (author)2014-08-16

working absolutely fine

AhmadH124 (author)cooldharap2017-12-05

Can u please sendme the details about this project to my mail ..... i am doing this as my main project so please help me..my mail is moheb2212@gmail.com

and i want to ask... can i take a sensor from pulse oximeter that generate an analog signal and use it on this code and circuit ? !

mbaydoun (author)cooldharap2016-03-20

can you send me a list of the parts that you have used please. Thank you.

Sir can you kindly send me the necessary codes ,simulation files and PCB layout file. My email address is asif.chowdhury9663@gmail.com

If you receive this info could you forward it to me as well? nlittell@iupui.edu

Ann RoseM (author)cooldharap2015-01-13

Can I ask for the program code? Please.

Please send it here: annrosejessica@gmail.com.

Thank you in advance.

mniloy (author)Ann RoseM2015-03-10

hello, do you have the details of this project? can you please send me?

mail id mitraniloy@gmail.com

thanks in advance

UmmeR1 (author)cooldharap2014-09-19

hey dude!!! can u send me the details about components!! urgent!!

ashurumarabia@gmail.com

TheMrGamer (author)UmmeR12014-10-23

Sorry for replying so late .... everything along with source code is given in thr instructable but still if u find any difficuly feel free to contact

MohamadH1 (author)TheMrGamer2015-01-10

hey dude!!! i'm interested on this project ...please save my life... :( its a urgent case

can u send me the details about this project, the programmings codes/ and other details??!....

here my email : mohamadhakim97@yahoo.com

sojan r thoma (author)cooldharap2015-01-04

i liked this circuit.buddy wil u plz snd me the program code and other detaiil to my mail id(sojanthomas966@gmail.com) plzzzzzzzzzzzzz

RevanthR (author)cooldharap2014-12-11

can you send me part list required for this

hey man. could you send me the programming codes and other details? my email address is varun9523@gmail.com

ElexE (author)cooldharap2014-11-02

heloo cooldharap can u help me pease related to this project?? I have selected it as final year project... thanks

UmmeR1 (author)cooldharap2014-09-19

please do send me the source codes dude!!

souravguragai (author)cooldharap2014-09-13

i'm interested in building this one. Could you please mail me the necessary component details at souravguragai@gmail.com

TundeI made it! (author)2017-08-19

Thanks to the author, I implemented this design with the Codes provided. I used LM358 instead of MCP602 and I had to tune the Variable Resistor to the value that makes the IR sensor unit works fine. Major challenge is interference caused by ambient light in the environment.

JoseJ81 (author)TundeI2017-11-27

Good day friend you will have the code of the pulse oximeter and if so, what could you please? This is my run a291451@uach.mx

TundeI (author)JoseJ812017-11-29

is this your email: a291451@uach.mx

JoseJ81 (author)TundeI2017-11-18

good day friend could you send me the code to my mail, what happens is that the code that I find here did not work, if you could do that it would help me a lot.

AbK5 (author)TundeI2017-09-24

Hello to you, sir. I find your project is similar to my project and would like to see your project as a revision. Would you mind sending the list of components, circuit diagram and full program? Here’s my email abkimie@gmail.com. Thanks you so much

jalal afghan (author)2017-11-16

hello sir, i am going to do this project for my final year project submission. can you please mail me the details and source code for this project? it will help me a lot.

my email address

jalaldinafghan17@gmail.com

burock54 (author)2017-10-31

Hello. I ll make this project with arduino. Can u send me software ? burakgungor54@gmail.com

xyphersoftware (author)2017-10-27

I hope to the same thing with my company, only for people. We start with apps and it;s microcontrollers

galvakojis (author)2015-01-05

Done it, it was my first bigger project, and maybe too hard for beginner. But code is working only on PIC16F628A, but not on a PIC16F628

AbK5 (author)galvakojis2017-09-24

Hello to you, sir. I find your project 'heart beat monitoring system using microcontroller' is similar to my project and would like to see your project as a revision. Would you mind sending the list of components, circuit diagram and full program? Here’s my email abkimie@gmail.com. Thanks you so much

Navi lnm (author)galvakojis2017-02-01

Can u please sendme the details about this project to my mail ..... i am doing this as my main project so please send me....my mail is navyvijay187@gmail.com

Khushall (author)galvakojis2017-01-24

Hello
If u really made it plZ snd me code and pcb layout....To my mail--- khushlingayat25@gmail.com

Ishuu abi (author)galvakojis2017-01-06

sir,can u please send me this poject details to my mail id ishuuabi@gmail.com

VidyaC4 (author)galvakojis2016-12-14

could you please send me the programming commands of this project.

mail it to viddu_cm@yahoo.com

chinmays14 (author)galvakojis2016-10-07

sir can you please send mi the source code and if possible please provide me entire details, mail id- chinmayshinde95.co.in@gmail.com

Vipulv5 (author)galvakojis2016-04-04

hello brother if u had really made it then plz mail me full details at .

vipulverma266@gmail.com

ImaniA1 (author)Vipulv52016-05-03

hello did you get the details on microcontroller measures heart rate through finger tip and if so can you please send me the details my email is imaniamani10@yahoo.com

ShaileshS17 (author)galvakojis2016-04-23

Nice

mbaydoun (author)galvakojis2016-03-20

Hi

Can you send me the code for the project. Thanks.

vinay0745 (author)galvakojis2015-09-29

Hey i have a question have made the IR led at the sensor on/off(blinking) for few secs or just kept on ???

galvakojis (author)vinay07452015-09-29

keep on, your blood pressure will "imitate the blinking"

vinay0745 (author)galvakojis2015-12-12

what is the logic used to calculate heart rate ?

IqramR1 (author)galvakojis2015-11-29

did u have the source code and the schematic??i want it please iqramkyoya@gmail.com

galvakojis (author)IqramR12015-11-30

yes, but everything is in subscription

bungasakura (author)galvakojis2015-10-17

hello sir ! do u have any kind of project details? can u send to me

bungatulip6617@rocketmail.com

tq sir..

derekgabs (author)galvakojis2015-09-16

good day sir, can you please send me the pcb layout that you made im kind of new to this project. please help me.

email add: derek.gabs@gmail.com

mniloy (author)galvakojis2015-03-10

hello sir, i am going to do this project for my final year project submission. can you please mail me the details and source code for this project? it will help me a lot.

my mail id mitraniloy@gmail.com.

thanks in advance.

Good Day Sir!

Can you give me the pcb layout of your project.??? :)

And the simulation of this project if you don't mind.

Hope to reply as soon as possible.

Thank You so MUCH.

GODBLESS.

This is my e-mail address.

skyweak0024@gmail.com

Good Day Sir!

Can you give me the pcb layout of your project.??? :)

And the simulation of this project if you don't mind.

Hope to reply as soon as possible.

Thank You so MUCH.

GODBLESS.

This is my e-mail address.

skyweak0024@gmail.com

akram44444 (author)galvakojis2015-01-30

my dear .. plz connect this project but it not work >> i was using pic16f628a

but it not work !!

plz send me the source code and all names of all components and explain to me how you connect the circuit on akrm33766@yahoo.com

or on facebook https://www.facebook.com/akram44444

Vhonani (author)2017-07-27

kelsey.mudau@gmail.com ; is my email , may you please send me ALL the details for this project.

Thank you

Vhonani (author)Vhonani2017-07-27

I would really appreciate it is it were really soon.

Vhonani (author)2017-07-27

Hello sir. I am very fascinated with this project, may you please send me all the details, components needed and all i need to make one. i would really appreciate it if you send everything to this email kelsey.mudau@gmail.com

Vhonani (author)2017-07-27

Hello Sir. I am really fascinated about this, may you please send me all the details of this project. At this email: kelsey.mudau@gmail.com

About This Instructable

336,531views

321favorites

License:

More by rajbex:Stand-alone Heart Rate MeterArduino powered digital pulse meterEasy-to-build digital thermometer and hygrometer for indoor use
Add instructable to: