Introducing Easy Pulse: A DIY photoplethysmographic sensor for measuring heart rate

When I first built the Heart rate measurement through fingertip project, the infrared LED and photodiode used for finger photoplethysmography were actually from salvaged parts, and therefore, I could not provide specifications for them in the article. As a result of that it takes quite a bit of time to replicate that project with a different set of IR LED and photodiode as the values of the current limiting and biasing resistors may have to be changed for the new sensor to work properly. Today, I am going to talk about a revised version of the same project but with all the components specified this time. The new version uses the TCRT1000 reflective optical sensor for photoplethysmography. The use of TCRT100 simplifies the build process of the sensor part of the project as both the infrared light emitter diode and the detector are arranged side by side in a leaded package, thus blocking the surrounding ambient light, which could otherwise affect the sensor performance. I have also designed a printed circuit board for it, which carries both sensor and signal conditioning unit. I have named the board “Easy Pulse” and its output is a digital pulse which is synchronous with the heart beat. The output pulse can be fed to either an ADC channel or a digital input pin of a microcontroller for further processing and retrieving the heart rate in beats per minute (BPM).

Easy Pulse sensor


This project is based on the principle of photoplethysmography (PPG) which is a non-invasive method of measuring the variation in blood volume in tissues using a light source and a detector. Since the change in blood volume is synchronous to the heart beat, this technique can be used to calculate the heart rate. Transmittance and reflectance are two basic types of photoplethysmography. For the transmittance PPG, a light source is emitted in to the tissue and a light detector is placed in the opposite side of the tissue to measure the resultant light. Because of the limited penetration depth of the light through organ tissue, the transmittance PPG is applicable to a restricted body part, such as the finger or the ear lobe. However, in the reflectance PPG, the light source and the light detector are both placed on the same side of a body part. The light is emitted into the tissue and the reflected light is measured by the detector. As the light doesn’t have to penetrate the body, the reflectance PPG can be applied to any parts of human body. In either case, the detected light reflected from or transmitted through the body part will fluctuate according to the pulsatile blood flow caused by the beating of the heart.

The following picture shows a basic reflectance PPG probe to extract the pulse signal from the fingertip. A subject’s finger is illuminated by an infrared light-emitting diode. More or less light is absorbed, depending on the tissue blood volume. Consequently, the reflected light intensity varies with the pulsing of the blood with heart beat. A plot for this variation against time is referred to be a photoplethysmographic or PPG signal.

Finger photoplethysmography (reflectance approach)

The PPG signal has two components, frequently referred to as AC and DC. The AC component is mainly caused by pulsatile changes in arterial blood volume, which is synchronous with the heart beat. So, the AC component can be used as a source of heart rate information. This AC component is superimposed onto a large DC component that relates to the tissues and to the average blood volume. The DC component must be removed to measure the AC waveform with a high signal-to-noise ratio. Since the useful AC signal is only a very small portion of the whole signal, an effective amplification circuit is also required to extract desired information from it.

Circuit diagram

The sensor used in this project is TCRT1000, which is a reflective optical sensor with both the infrared light emitter and phototransistor placed side by side and are enclosed inside a leaded package so that there is minimum effect of surrounding visible light. The circuit diagram below shows the external biasing circuit for the TCRT1000 sensor. Pulling the Enable pin high will turn the IR emitter LED on and activate the sensor. A fingertip placed over the sensor will act as a reflector of the incident light. The amount of light reflected back from the fingertip is monitored by the phototransistor.

TCRT1000 used for sensing pulse from fingertip

The output (VSENSOR) from the sensor is a periodic physiological waveform attributed to small variations in the reflected IR light which is caused by the pulsatile tissue blood volume inside the finger. The waveform is, therefore, synchronous with the heart beat. The following circuit diagram describes the first stage of the signal conditioning which will suppress the large DC component and boost the weak pulsatile AC component, which carries the required information.

First stage of signal conditioning

In the circuit shown above, the sensor output is first passed through a RC high-pass filter (HPF) to get rid of the DC component. The cut-off frequency of the HPF is set to 0.7 Hz. Next stage is an active low-pass filter (LPF) that is made of an Op-Amp circuit. The gain and the cut-off frequency of the LPF are set to 101 and 2.34 Hz, respectively. Thus the combination of the HPF and LPF helps to remove unwanted DC signal and high frequency noise including 60 Hz (50 Hz in some countries) mains interference, while amplifying the low amplitude pulse signal (AC component) 101 times.

The output from the first signal conditioning stage goes to a similar HPF/LPF combination for further filtering and amplification (shown below). So, the total voltage gain achieved from the two cascaded stages is 101*101 = 10201. The two stages of filtering and amplification converts the input PPG signals to near TTL pulses and they are synchronous with the heart beat. The frequency (f) of these pulses is related to the heart rate (BPM) as,

Beats per minute (BPM) = 60*f

A 5K potentiometer is placed at the output of the first signal conditioning stage in case the total gain of the two stages is required to be less than 10201. An LED connected to the output of the second stage of signal conditioning will blink when a heart beat is detected. The final stage of the instrumentation constitutes a simple non-inverting buffer to lower the output impedance. This is helpful if an ADC channel of a microcontroller is used to read the amplified PPG signal.

Second stage of signal conditioning

The operational amplifiers used in the instrumentation circuit described above are from the MCP6004 IC, which has got four general purpose Op-Amps offering rail-to-rail input and output over the 1.8 to 6V operating range. The picture below shows an assembled Easy Pulse board designed using the above circuit.

Easy Pulse board with fixed TCRT1000 sensor

Instead of fixing on the board, the TCRT1000 sensor can also be wired to the board through header pins and jumpers. This way you have more flexibility in using the sensor. You can hold the sensor between two fingers or you can face it down on the skin on your palm, and so on.

Easy Pulse with sensor wire to the board through jumpers

The board operates from 3-5.5V and therefore, it can be used with both 3.3V and 5.0V microcontroller families.

Click on Next below to continue reading this article

Pages: 1 2

Continue Reading ...

Related Posts


  • i am connecting my sensor output to arduino analog pin. How to analyze serial monitor output on serial monitor of arduino. I am getting the pulse wave at output.

  • Hello my lab partner and I are trying to replicate this PPG on a breadboard. Is there any chance you would be able to email us the wiring scheme? If so, my email is

  • Hi there!
    Do you have the C code for this? I want to use a 8051uC.

  • Hi! Im working on the same project that needs for me to have an output of pulse rate and blood oxygen saturation level, I figured the circuit diagram, but can I ask for the arduino code to program if you dont mind

  • Pingback: Single Wavelength Pulse Oximeter –

  • can i use the code for IC-PIC16F628 ?

  • Can I have Schematic of Printed Circuit Board of the Pulse Sensor. Im doing my Final year project “Heart beat Detecting using IoT and upload it through wifi module to Thingspeak” but i dont want to use a pulse sensor already bought outside… I want to make own pulse sensor from the description u have given… SO can u please help me

  • sir could you please tell me whether the previous version microcontroller(PIC16F628A) can be work with this version with the same progeram…????
    please sir reply me …i am in trouble

  • sir could you please tell me whether the previous version microcontroller(PIC16F628A) can be work with this version with the same progeram…????
    please sir reply me

  • Pingback: Help with Programming (mikroC heart rate detect, count, calculate)

  • Hi, Great product!
    I have 2 questions:
    Can it measure blood volume or only pulse?
    And – does it have to be from 2 directions – like 2 sides of the finger, or can you just put it on the body?


  • hello hello

    >> (How) Can I measure/display the oxygen saturation with this tool ?


  • have built the easy pulse heart rate monitor . i change some value of capacitor and resistor before the led start blinking and i change the sensor also. in the circuit. the i c I use is lm342. since I don’t have access to microcontroller to count the pulse in my country I have to manipulate clock to count the pulse and 555 timer ic to time the clock to stop counting for every 1 minute to get the BPM reading

  • i want to buy easy-pulse-a-diy-photoplethysmographic-sensor …..
    but when i m clicking BUY EASY PULSE ONLINE then they show me the error page.. so what i do?

  • Dear sir,

    May I ask if there is a version of this module with bluetooth ?

    Thank you for your help once again.

    Yours sincerely,

  • Hi… May I ask how I may interface the easy pulse sensor with CC2541/CC2540? Thanks

    • Sorry, I don’t have an example for that.

      • Oh… Well, thanks for your help and for replying 🙂

        I finally managed to interface this sensor with CC2541. However, there is a small peak between each diastolic peak and each systolic peak. Would that be a result from noise? And if so, how would you suggest I get rid of it?

        Thanks again

  • Hi, may I know is it possible to purchase the Easy Pulse kit?
    I’m staying in Malaysia.
    Thank you.
    Please contact me :

  • Dear Sir,

    I would like to ask for your permission to use your schematic in a project I am working on to measure blood pressure.

    Thank you for your kind attention.

    Yours sincerley,

  • I have change this sensor with 1450nm and not using pulse indicating LED. please help me, how I can show signal ppg to matlab? I have send serial port from arduino to matlab, but not show ppg signal, its awkward signal

  • Can we use the same sensor for glucose measurement?
    Thank you

    • for measure glucose I have read several journals mention the IR LED should have a wavelength of 1450 or more.
      and my final project is mesure glucose with ppg, if you done, can you share to me? please email

  • I am working on a similar thing but am using Tcrt5000 sensor and my codes are giving me a lot of problems am in need of urgent help ( thanks

  • hi,nice project but can we use this in real time or only for learing purpose?

  • Dear sir,
    By seeing this project views,we plan to make this project as our final year BE project.
    So we want a conformation from your side about the circuitry. so please help us.
    thank you

  • Hi there, i am doing a similar experiment measuring the same input. could you send me on the code for the micro controller please.

  • hello my self abdul i am doing project to measure blood pressure via wrist with tcrt 1000 sensor so please can you guide in programming of code .

  • Hi,

    Does this circuit work with other microcontrollers other than Arduino? I’m using mbed LPC1768.


  • Can you send pcb layout of this project.Tnx. Pls email it at

  • Sir, can this circuit be implemented first on Breadboard 4 verification .?

  • Hy, I am using Arduino Uno to implement this project and I am using lm358 and tcrt5000 rest is same as yours circuit. I am connecting the LED port to 5V but in which port of Arduino Uno i have to connect Vout.please let me know…
    thanks in advance.

  • Hello,
    Do you have any Easy Pulse kit on sale?
    The total price is $18.00, I live in Taiwan,taipei,
    so may you send me a kit to Taiwan? I pay all shopping cost.
    Grettings. –

    See more at:

  • Hello, there’s no available sensor in our area, what alternative component should i use for this kind of ckt? And would you mind sending me the pcb layout on my email? Please, your assistance in this matter is very much appreciated. God bless

    My email:

  • Can i get the pcb layout of this project. I badly need it. Tnx. Pls email it at

  • can i get layout of this design.

  • hello,
    is it possible to measure Glucose concentration in the blood continuously using this same phenomenon, i mean with the same kind of sensor…?

  • Anthonette Cantara

    What is p32xxxx.h? We had that error when we compiled.. T.T

  • The frequency of the pulse is 0.7 hz to 2 hz ….right???
    bandpass filter can also work ???

  • Can you please elaborate the counting of the pulse step. I have a MSP430G2 Microcontroller board and i have made this sensor all i can’t figure out is how to count the pulses. Please explain it further

  • sir i want the circut diagram to connect the components and to make the PCB layout so plsss help me

  • Quiet interesting….
    Can i get details mailed?

    It wiil be a big help for my project…

    can i use any other opp instead of MCP6004??

  • hi , please can i have the circuit design thanks a lot ( please if it is possible send it to me at my email adress )
    i have i project in my school and i did already a circuit but it doesn’t work so i want to check yours

    thanks in advance

  • Sir,
    can I use MCP6024 for the revised version too? MCP6004 in not really available in the market here. If not would u jst suggest me an alternative.
    Thank u in advance.

  • From Where I Get TCRT1000 sensor

  • i want to know minimum cost of heart beat senosr , please pass the message

  • sir ,could you please send this project of programing code . I can need this programing code interfacing with microcontroller.


  • sir ,could you please send this project of programing code . I can need this programing code interfacin with microcontroller.


  • Hello, can the sensor measure the puls at the wrist?

  • hello, thanks for the project, i have tried my own project with my own circuit. change log from provided circuit are :
    1. i use arduino unoR3 clone
    2. i use pot 50
    3. i use LM741 to replace MCP6004
    4. i use TCRT5000

    but my project doesn’t work at all, any idea? i have assembled all of them, but led was turning on, not blinking as we expected for heart rate/PPG, when i tried them. thanks

  • Hi.what is the differences between two projects this project and ? I want to display the graph using arduino on tft display but is it possible ?and the project giving with website different filter level. I can get useful ppg graph ?

  • Is possible to view the data on a pc using a microcontroller and xbee module interconnection

  • Hi,

    I’m using 2 LF353N op-amps instead of the MCP6004, and I’m using a 1 uF cap with 220k resistor to create the .7 Hz cutoff. I’ve connected everything correctly multiple times, but I still get nonsensical data resulting from Vout. What would you suggest would be the problem?



  • Hello, I am planning to build this circuit by buying all the separate materials and I just want to be able to see the LED flash. What is the use of the 2-pin enable jumper and could you also send me the wire connections?


    • The 2-pin enable jumper connects the Enable pin to VCC in the circuit.

      • O meu sensor TCRT 1000 não está gerando o sinal nessa faixa de frequencia. Ele só pisca o LED quando mexemos o dedo, mas essa não é a ideia do trabalho. Como posso conseguir o sinal apenas colocando o dedo sobre o sensor. Fiz o circuito da maneira como está no KIt, troquei o sensor, mas nao deu certo. Obrigado!

  • Guys can i know if i can buy the sensor online an for hw much ???

  • i need wire connections for this project .. i have soldered the components on a normal pcb board so please provide me wire connections so that i can procee further please mail me connections on

  • Please send me wire connections for this project.. i have soldered the components on a normal pcb board so please i need wire connections for this project.. please do mail me on

  • can you please mail me wire connections for this project please.. i have soldered the components on a normal pcb board so i need wire connections for that please mail me the connections on awaiting your reply..thank you

  • can u please inform me what is the biasing voltage vcc for the sensor tcrt1000….also what is the enable voltage?

  • To: rgv You need 3 tries? 🙂 It did not work with these elements? Can you describe what changed? It will be useful to everyone, the device does not work.

  • To: rgv. Potrzebne ci były 3 próby ? 🙂 Nie działało z tymi elementami ? Może opiszesz co zmieniłeś ? Przyda się wszystkim, którym urządzenie nie działa.

  • great work dude (y) !!!
    i m a biomedical engg, so got a lot amount of interest in this topic for obvious reasons.
    i worked on the circuit exactly as given here
    and after two to three trails got the heart beating electroniically 😀 🙂 (y) !!!
    thanks dude!!!
    great work!!!
    mark of a true engineer !
    u have owned my respect dude!

  • I used t h e i d e n t i c a l elements as in the diagram. The device does not work. Do not be fooled. I lost two days of the trial.

  • Hi fellas,
    I was just wondering where the code for interfacing the board with the arduino is?
    I’ve seen the code for the ChipKit but I want the code for the arduino. Loving the style and tone of the
    device already.

  • nir sensor is also used for measuring glucose .can the same circuit be used to measure it as only the final calibration is different?

  • I did it! My project worked, but I made some changes:
    The sensor I used was the TCRT5000, the op-amp used was two LM741, and to activate the sensor used a 330R resistor instead of the transistor.

    • Boa tarde Raniere, Você pode me ajudar fornecendo informações de como conseguiu fazer funcionar??
      Estou utilizando o TCRT5000 também com resistor de 560 para ativar o sensor. Estou usando dois ampops LM358, mas não estou obtendo sucesso. Tem como passar o seu circuito por favor??

  • can anyone plz tel y gain of 101 is necessary @ amplification stage??

  • Hello,
    Do you have any easy put kit on sale?
    The total price is $18.00, but I live in Brazil,
    so may you send me a kit to Brazil? I pay all impost.
    Keven Gomes

  • can anyone tel me, how amplification and filtering coverts signal to TTL pulses??

  • hi… without givin enable it was workin.. nd the blinkin of LED was synchronous to my pulse is well…. but when i give that connection the IR LED is not turnin on…bcz the o/p @ emitter is very low… any suggestions plz…

  • wats that enable pin does…. ??

  • Instead of TCRT1000 can v use TCRT5000/TCRT5000L… plz reply

  • Could the Easy Pulse be modified to provide an arterial pressure measurement?

  • using the LM358 as suggested to others,
    my led not blinking any suggestions

  • Can anyone tell me why filtering is done twice. Once high pass and low pass is used, the other frequencies less than .7 hz and greater than 2.34hz should have been removed?

  • can i use a lf353 instead of MCP6004 opamp

  • Can I use LM324 instead of MCP6004??

  • The TCRT1000 is not detecting pulses, I have changed it 3 times and it’s still not working. I have connected EXACTLY as you have told. Please help

  • Just ordered one of these for a Raspberry Pi project!

  • hello R-B
    TNX 4 ur good information and tnx 4 sharing with every one
    i want to measure this pulse with microcontroller pic16f628a as u do it in the first project about heart beat monitoring but when i simulate this project with the program of seven segment doesnt work well i use proteus for simulation
    plz help me
    tnk u in advance 🙂

  • I need the complete circuit diagram of this project. Please help.

  • i have tried to make at home but signal is very noisy on CRO. how can i can remove noise from the output signal?

  • Pingback: Heart Rate Circuit | Question and Answer

  • there is a problem with fluorescent lamp
    how filter them?

  • Sir,
    I tried it with mcp602,it isn’t working.The o/p from my tcrt1000 sensor is not like d one shown above.Any guesses what the problem might be?

  • how i can parches TCRT1000 & MCP6004 BECAUSE IT NOT PRESENT IN MY CITY

  • hello,

    you said pulling the Enable pin high will turn the IR emitter LED on and activate the sensor. If without microcontroller and “Enable” directly connect to 5V is’t still can on activate the sensor?

    Thanks in advance

  • Sir,
    can I use MCP602 for the revised version too? MCP6004 in not really available in the market here. If not would u jst suggest me an alternative.
    Thank u in advance.

  • Hello,

    Very nice project. I would like to ask you firstly how did you figure out the cut-off frequency needed for the HPF and the LPF, and also about the equation Beats per minute (BPM) = 60*f how did you derive this equation.


  • How does this compare with a standard pulse oximeter? I think this is just a bit too techie for my understanding:)

  • i want to parches TCRT1000 and MCP6004

  • Pingback: DIY a Easy Pulse sensor——measuring heart rate | A Maker's Dream Factory

  • Hi

    I made the complete circuit on a breadboard. To check he o/p i used an CRO. The CRO shows a signal of arnd 15Khz without any proper shape whenever i put my finger on the sensor, probably just some noise. I have all the parts as per your specs. What can be the reasons for this, I really need this project to work!!

  • hello..nice to meet u all.. im doin a final year project regarding pulse oximeter system. so here i need a circuit based on pulse oximeter system where consist of 2 readings which is heart beat and oxygen saturation. im too confused with this system. can anyone help me to give me a suitable and simple spo2 circuit. im very hoping for your help. tq very much.

  • hello sir ,
    can u send me the program for sending the value serially using rs232..and can i use pic16f877a microcontroller plz forward it to


  • doesn’t work…. doesn’t work…. doesn’t work…. doesn’t work….!!!!!!!!!!!!

  • hi,
    MCP6004 and TCRT1000 are not available in market. can i use lm741 at the place of MCP6004 and simple IR tx and IR rx?

  • I bought the kit, the LED flashes a few times but does not flash synchronously with the pulse of the heart, not the perceived

    • Hi Andrea,
      Can you send me the picture of your assembled board? Make sure you have a jumper placed on between VCC and EN header pins. You said it worked first time. Did you do any changes to it later?

  • doesn’t work….

  • why the sensor don’t detect pulses? first worked fine now no longer captures the pulse

  • Hi
    I thinking about plug this board as external mic to smartphon and use with some free heartbeat app. I want remove mic from headset cable and then solder there output from hear rate sensor board. Can I do this directly?

  • hello,
    i have a question please, why is the output TTL pulses? what is the explanation for that?
    thank you,

  • hello I wanted to ask if you feel the potentiometer 5k could affect the second high-pass filter … I also see the waveform on the oscilloscope and there is a negative side … where it comes from, how it is caused? the amplitudes of the signals of the sensor, first and second op amp op amp are respectively: 1.2 mv, 50 or 60 mv, 0.6V … sorry for my english I’m Italian and use google translator

  • Very nice work !

    As a marine biologist, I’d like to measure heartbeat in mussels or limpets, using an infrared device. I would appreciate your advice as it already exist, but not as an embedded (and waterproof) system ; the whole old setup, which seems to need many filters (as far as I understand the scheme), is visible in

    I would like to build an arduino based autonomous system wich could record for weeks the heartbeat of a mussel on a SD card. However, I’m not an electronician ; do you think “easy pulse” output could be similar to what they obtained in the article mentionned above ?

    Thanks in advance for your comments

  • good piece of working!!
    can u plz answer my ques
    Scenario 1
    we know that based on the changes of the blood volume, the output voltage from the sensor also changes (as u R-B said). Blood volume will be different for each and it will be also different for the individual at times, based on the function of heart. Yet, the amplification factor of the design is fixed (101*101 = 10201). we know that the micro controller is compatible with only in digital(TTL) signals (1 or 0) and normally 5V – “1” and 0V – “0”.
    we are using TMRO (timer) module (counter mode) so that we can count the pulses recieved at RA4 (TMRO). As we know we cannot convert the analogue into digital signal while using the TMRO (Pin4).
    Suppose when measuring the heart rate we come across a situation where the fixed amplification factor(101*101 = 10201) is not enough to drive the signal to 5V, since the signal from the sensor is weaker than expeceted.
    1. Since the amplification factor is not enough to drive the voltage to 5V (logic 1), the micro controller will not function since the signal is analogue. we also cannot use A/D conversion here??? is that the reason why you are using 5k potentiometer at the end of amplification stage???

    Scenario 2
    15sec delay is created in the program using timer module (Delay 15000), so that when it is executed “Enable” also in high so the transmission takes place and the signal goes to RA4 pin(TMRO). I think that the timing delay and counting the pulse is functioning in same memory location, which will overwrite themselves and program will stop functioning.

    1. Is it possible to use both delay and counting operation at same time???At the same time TMR0 is used to count the pulse from the output of the signal conditioning as well as for delay. PLZ enlighten me on this issue….

  • Pingback: Single Wavelength Pulse Oximeter »

  • Pingback: Ding des Monats 11/2012 – Biofeedback mit Arduino | Dingfabrik Köln e.V. | Deutz-Muehlheimer Straße 129 | 51063 Koeln

  • I replace TCRT1000 with L-53P3C 5mm phototransistor and MCP6004 with LM324D, for TX led I use red 5mm high bright 15000mcd, and all works fine. All is made in smd double sided PCB fashion, and all is very small W 4,5cm x H 3,8cm. Now I making PCB for 3-digit led counter with PIC16F628. Firmware source is made in MikroC and you can adjust time for counting (number of pulses x 60). Project is located here :


  • Thank you for sharing your project.
    I asked permission to download image and upload it to Facebook
    then translate into Indonesian so my friends can make this project.
    Thanks before.

    • You can translate a part of it or write a summary in Indonesian and link to the original URL for full description of the project. You can also share some pictures on Facebook too.

  • Thanks for sharing the circuit really nice work!!!!.But i have a small problem.Sometimes when i have my finger on it does not recognize my pulses.Can you imagine why is this happening?I used the values that Alireza said and because i didn’t have to my stock resistors 47k i used 50k.Also i have it on a breadboard .Thanks again Panagiotis

  • Thanks for posting this design. Nicely done. Just got the kit today. Have a few questions:

    1) The raw PPG you showed (~1.7V) is measured at pin 4 of the the sensor TCRT100? I always got ~ 0.2V. Is that normal?

    2) Is it hard to get the signal from your finger? I tried to place my finger at different orientations from the sensor but it seems quite sensitive to the position. In fact, if placing finger to close give no signal at all. Have you experienced something similar?

  • How to get meter pulse up to 220-230 ?

  • What is maximum metering pulse for actual circuit ?

    Can I change MCP6004 with LM324 ? They looks the same both are 1MHz quad opamp with the same pins.

  • thanks very much the circuit works fine.
    I do it myself again on a bread board with TCRT5000 sensor I couldn’t find TCRT1000 in my city.
    again thanks you very much for your circuit and sharing it for free.
    after that I change some values in the circuit because of heart rate frequency it works better after that. I changed HPF values to 1 uF cap. and 330 K-ohm for cut-off freq. .48 Hz and the LPF cap. value to 78 nF for cut-off freq. 3 Hz. I change values to tune up circuit for faster response and also wider bandwidth for heart rate freq. the min and max values of possible heart rate is 40 to 170. this values works fine now.

  • Hey Raj!
    Can you tell when you have this kit for sell again?

    thank you!

  • Pingback: Problem Identifying the Light / IR detector

  • Raj! Can you help me with car voltage monitor circuit, i really want to do this for my mother? thank you so much!

  • I post a question in car voltage monitor, i have two wire from car charger, white wire and red wire, how do i connect them on pic16f1827??

  • I won’t buy from China too long waiting too bad!!!!

  • Raj? I requested the shipping cost to canada to send you the money, and you don’t answer… ??

  • Raj?
    Is Vout is Vsensor pin?

    thank you!

  • Pingback: A DIY photoplethysmographic sensor for measuring heart rate « Medical and Health Related Projects with Arduino

  • Do you have a complete schematic for this version?

    • Hi Walt,
      The complete schematic is divided into three parts as shown in the article. The O/P from the first part goes into the second, and o/p from the second goes into third stage. I think the circuit diagrams are easy to follow. Let me know if you have any further questions.

      • Thanks for the very well written article. I built a brass board version with your exactly specified components. Unfortunately, the LED pulses at 60 flashes per minute, even when the sensor is not attached. I have checked and re-checked the wiring but can’t find the problem. I will drive a stake through its heart and start over.

        I realize your article was written 5 years ago, so I don’t really expect a reply.

  • What was stopping you from doing the filtering digitally?

  • Pingback: DIY Photoplethysmographic sensor for measuring heart rate |

  • Hi. I plano to build this from scratch just for fun, but don’t know what the right VOLTAGE values of the capacitors are. Can you tell me what is the voltage value of the 1uF and 100 nF capacitors, please?

  • Hi!
    From this project :, do RA3 is Enable and RA4 is VSensor?

    thank you so much!

  • beautiful, never thought filters could result on a so well shaped curve of the real thing !

  • Hi, thank you very much to this sit witch is the best in micro controller field.
    could you pleas tell me what the right method to calculate the values of cut-off frequencies for the filters and why the ??or give me name of book about the filters and the practical application of it.

    thank you again

  • Pingback: Indagadores |Seguridad informatica |Seguridad en internet » La medición de un pulso de luz infrarroja

  • One thing you MAY want to consider is to modulate the intensity of the LED light (say at 10-100 kHz) and then detect the signal synchronously (i.e., similarly to the way a lock-in amplifier works). That way you can move your entire signal to a higher frequency far away from typical noise that is more prevalent at low frequencies. Just a thought… Also, if you use 2 wavelengths, can you also make a pulse oximeter (

  • Pingback: Measuring a pulse with infrared light | vis a vis | visual mind

  • Pingback: Measuring a pulse with infrared light - Hack a Day

Leave a Reply to Mansi Jain Cancel reply

Your email address will not be published. Required fields are marked *