Home-made Heart Rate Monitor

We designed this heart rate monitor with several specifications in mind. First we wanted a mobile heart rate monitor that could record and store heart rates for 24 hours. Secondly, we wanted the heart rate monitor to be able to pick up the heart rate during normal movement and when the test subject is doing the Valsalva maneuver.

Teacher Notes

Teachers! Did you use this instructable in your classroom?
Add a Teacher Note to share how you incorporated it into your lesson.

Step 1: Step 1: Materials

To make this Heart Rate Monitor, we used the following materials:

- an Arduino Uno board

- the USB to Arduino connector to upload code

- the open source Arduino code

- a pulse sensor from http://pulsesensor.com/

- an Adafruit Data Logger Shield

- a 9V battery and cord to power the Arduino

- a red LED (color is up to you)

- an SD card

Step 2: Step 2: Putting the Board and Materials Together

The Arduino Uno board should be plugged into your computer, where you should have downloaded the free Arduino software from http://www.arduino.cc/en/main/software . Plug in the Uno and make sure it works. Then carefully place the data logger shield on top of the Uno. Plug the pulse sensor in to the data logger sheild. The Purple wire is your A0 wire, the Black is Ground, and the Red is +5V. The pulse sensor should light up green.

Step 3: Step 3: Upload Code

Open the Arduino Software. Clear everything. Copy and paste the attached code. Compile the code and see if it works with your SD card and system.

Step 4: Step 4: Measure Your Heart Rate!

Attach your LED to pin 7 and ground. Wrap the pulse sensor on your finger. Compile and upload the code. Your LED should start blinking to the beat of your heart! If you pull up the serial window, you can see your heart rate. If you power down the board and read the SD card, there should be a text file on it with the recorded heart rates.

Step 5: Step 5: Troubleshooting

If you are having trouble reading your heart rate, try changing the upper and lower limits of the loop where 'count' is being incremented.

If the LED is not blinking, make sure it is oriented correctly with respect to ground.

While we found measuring the heart rate for 5 seconds and then multiplying by 12 was ideal for the Valsalva maneuver, if you would like a slightly more accurate reading, you can change the time constant to 30000 (30 seconds) and then multiply by 2. Just change 5000 to 30000 and change the scale factor to 2.

We also found that the wires connecting the pulse sensor to the board were quite fragile. We had to re-solder them after a few days.

Be the First to Share


    • Made with Math Contest

      Made with Math Contest
    • Multi-Discipline Contest

      Multi-Discipline Contest
    • Robotics Contest

      Robotics Contest

    6 Discussions


    3 years ago

    hello there. can you help me with the code? Kind request to mail the Code to zillrules@gmail.com. :)


    3 years ago

    The author just write, but does not read. :) :)


    4 years ago

    The arduino hr code link is broken. Can you send me that? Tq kareyduane.