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

Operation of the Easy Pulse sensor board

The operation of the board is very simple. After powering the board from a 3-5.5V supply, the Enable (EN) pin must be pulled high to activate the IR sensor. Next, place the tip of your forefinger gently over the sensor on its face. Your finger should be still and should not press too hard on the sensor. Within a couple seconds the circuit stabilizes and you will see the LED flashing synchronously with your heart beat. You can feed the output signal (Vout) to either a digital I/O or an ADC input pin of the microcontroller for measurement of the heart beat rate in BPM. The output voltage waveform can also be viewed on an oscilloscope. I connected Digilent’s Analog Discovery tool to check the input PPG and the output waveforms from the two LPF stages. The following pictures show these signal waveforms as displayed on the PC screen when .

Placing fingertip over the sensor

Using sensor over the skin on the palm

Connecting the Analog Discovery tool to measure the signal waveforms

Raw PPG signal from the phototransistor displayed on PC using Digilent’s Analog Discovery tool

Output waveforms from the two LPF stages. Blue signal is from the second stage. (Click to enlarge)

The Easy Pulse output signal can be connected to a digital input pin of Arduino or ChipKIT board to find its frequency. If you multiply the frequency by 60, you will get the heart rate in BPM. I have written a demo code for chipKIT Uno32 and IO Shield to display the heart rate on the OLED. The VCC, EN, VOUT, Gnd pins on the Easy Pulse board are connected to 3.3V, 5.0V, Pin 2, and Gnd pins of the I/O shield, respectively.

Download the demo chipKIT sketch

Interfacing with Chipkit Uno32 board to measure heart rate

Demo video

Easy Pulse kit on sale

I have made 20 PCBs of Easy Pulse board using iTeadStudio’s 5cm x 5 cm double layer PCB service and I am giving out 15 of them in the form of kits including all the parts required to assemble the board. For those who are interested to try Easy Pulse, the price per kit is $18.00 including the shipping cost within the United States. I will accept payment through Paypal only. You have to email me first at admin (at) embedded-lab (dot) com and I will then send you my Paypal ID. Once I get the payment, I will mail your package through regular USPS (usually takes 3-5 business days). This kit can also be purchased from Tindie. The following picture shows all the parts that are included in the kit.

Easy Pulse kit

List of parts used in the Easy Pulse board

Assembled Easy Pulse board

If you want the sensor to be separate from the board as described earlier, you will need a wire to connect it to the board. The picture below shows a proper way of connecting the sensor to the board using a 4-pin jumper wire. Since the pins or legs of the TCRT1000 are thinner than the holes in the jumper wire, you may need to thicken them a little bit through soldering so that it is hold tight.

Connecting the TCRT1000 sensor using a jumper wire

Summary

Easy Pulse provides a reflective IR sensor with necessary instrumentation circuit to illustrate the principle of photoplethysmography as a noninvasive technique for measuring heart rate. In order for this sensor to work, the fingertip should be placed gently over the sensor and be kept still. The sensor may also be wired to the board through a 4-pin jumper and header pins. This gives more flexibility of using the sensor as you can place the sensor over the skin on palm, or wrap around a fingertip using paper or duct tape. A more practical way of putting a sensor would be in the form of a finger clip, like in commercial Pulse Oximeters, so that the sensor performance would not be affected too much by a slight movement of the finger.

Update (04/20/2013)

Easy Pulse Version 1.1 has been released with improved performance and features. Click here for more info.

Easy Pulse sensor (Version 1.1)

Update (05/26/2013)

Easy Pulse version 1.1 boards are now also sold by Elecrow, a China-based company, for $18.50 and ships world-wide. Please visit the following link if you are interested on getting an assembled Easy Pulse V1.1 board.

Buy Easy Pulse online

Pages: 1 2

Continue Reading ...

Related Posts

163 comments

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

  • 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 – SWHarden.com

  • 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?

    Thanks!!

  • hello hello

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

    thx
    xx

  • 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,
    Grace

  • 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
        Grace

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

  • 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,
    Grace

  • 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 edoggawa@gmail.com
      thankyou

  • 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 ( ahmadfathy620@gmail.com) 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. bmorrissey92@gmail.com

  • 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.
    Thanks.

  • SIR,COULD YOU PLEASE MAIL ME THE CODE FOR HEART RATE SENSOR,I AM USING TCRT5000 SENSOR.MY EMAIL ID IS kingmakerboss786@gmail.com

  • Can you send pcb layout of this project.Tnx. Pls email it at
    disherr91@gmail.com

  • 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: http://embedded-lab.com/blog/?p=5508#sthash.SCjZeccZ.dpuf

  • 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: florendolord@gmail.com

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

  • 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??

    mohdasif619@rockemail.com

  • hi , please can i have the circuit design thanks a lot ( please if it is possible send it to me at my email adress ch_mina@hotmail.com )
    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.

    Reply

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

    Reply

  • 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 http://embedded-lab.com/blog/?p=1671 ? 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?

    Thanks,

    Howard

  • 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?

    Thank-you

    • 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 chandandyavaishetty@gmail.com

  • 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 chandandyavarishetty@gmail.com

  • 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 chandandyavarishetty@gmail.com 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.
    Grettings.
    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 http://embedded-lab.com/blog/?p=1671 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?
    PLEASE SEND SOME SUGGETIONS FOR FILTERING THE ANALOG 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.

    Thanks
    Andrew

  • 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 midhu.cb@gmail.com

    Thankyou

  • 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,
    dee

  • 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

    http://pagesperso.univ-brest.fr/~fjean/depledge1990.pdf

    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
    Regards

  • 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 » SWHarden.com

  • 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 : http://embedded-lab.com/blog/?p=1671

    Regards,
    Peter

  • 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?
    please?

    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!
    marC:)

  • 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!
    marC:)

  • 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 | electronics-projects.info

  • 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 : http://embedded-lab.com/blog/?p=1671, do RA3 is Enable and RA4 is VSensor?

    thank you so much!
    marC:)

  • 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 (http://en.wikipedia.org/wiki/Pulse_oximetry).

  • 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

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