Pulse Sensor/ Heartbeat Rate (BPM) measurement using Arduino & Pulse Sensor “Stable BPM value”

(Last Updated On: February 13, 2020)

pulse sensor


In this tutorial, you will learn how to monitor the Heartbeat rate or Heart Beats per minute using the Pulse Sensor, Arduino, and a 16×2 LCD. In this tutorial, I will explain how to get stable BPM values. In this tutorial I will also explain under what circumstances you get unstable values, While using this sensor you will definitely come across this problem, I checked so many videos and read so many articles but nobody was actually talking about this problem. In this tutorial, I will explain, when you get unstable values and how to solve this problem. Without any further delay, let’s get started!!!!!

The components and tools used in this project can be purchased from Amazon, the components Purchase links are given below:

Arduino Uno: https://amzn.to/37oaksm
Mega 2560: https://amzn.to/2ze1kdu
Pulse Sensor / HRM / BPM : https://amzn.to/2HzjIQ2
lm7805 Voltage Regulator: https://amzn.to/2IZEl5x
330-ohm resistors pack: https://amzn.to/2NtlAeh
5v 2A adaptor: https://amzn.to/2GsNfcw
2n2222 NPN transistors: https://amzn.to/2EmXsIb
10k Resistor: https://amzn.to/2KTd6OW
lm7805 Voltage Regulator: https://amzn.to/2IZEl5x
330-ohm resistors pack: https://amzn.to/2NtlAeh
female DC power jack socket: https://amzn.to/2KEo1gt
470 uf capacitors: https://amzn.to/2xDCOzf
5×7 cm Vero board: https://amzn.to/2OHGbvn
female headers: https://amzn.to/2zqmtiJ
connection wires: https://amzn.to/2DpBuW7
Super Starter kit for Beginners: https://amzn.to/2KJvmKG
Jumper Wires: https://amzn.to/2KMoVXs
Bread Board: https://amzn.to/2MS4q8X
12v Adaptor: https://amzn.to/2Ntr6h1
PCB plate: https://amzn.to/2IUwpCt
Variable Supply: https://amzn.to/2MT4Qfj
Digital Multimeter: https://amzn.to/2Nvft9i
Vero Board / strip board: https://amzn.to/2MTf9jD
Soldering iron kit: “best” You guys should definitely purchase this: https://amzn.to/2zfoNuJ
Solder wire: https://amzn.to/2ufUMWf
Wire Stripper: https://amzn.to/2KOqxfU
wire cutter: https://amzn.to/2ucIq14
PCB small portable drill machine: https://amzn.to/2Nu62XF

*Please Note: These are affiliate links. I may make a commission if you buy the components through these links. I would appreciate your support in this way!

Pulse Sensor:

pulse sensor

This is the Pulse sensor which is also known as the heart rate monitoring sensor. This sensor module is provided with the transmitter and receiver LEDs.

pulse sensor

the light-absorbing property of Hemoglobin is used in the measurement of heart rate. Light from a green LED on the underside of the monitor is shown on blood vessels just under the skin. The light that is not absorbed but reflected back is captured by a photodetector. Photodetector produces an electrical signal when light strikes it. This analog signal is converted into a digital signal, and slight changes of this signal are used to measure the heart rate.

pulse sensor

As you can see this pulse sensor has three male headers which are labeled with S, + and -. S is the Signal pin and will be connected with the analog pin of the Arduino. plus pin which is the middle pin is the VCC pin and this pin will be connected with the Arduino’s 3.3 or 5volts. While the minus pin is the ground pin and this pin will be connected with the Arduino’s Ground.

Circuit Diagram:

pulse sensor

As you can see the ground is connected with pin number 1, 5 and pin number 16…5v from Arduino is connected with pin number 2 and pin number 15…the middle pin of the variable resistor or potentiometer is connected with pin number 3 of the LCD…while the other two pins are connected with the ground and 5v. Pin’s 4 to 7 of the Arduino are connected with pins D7 to D4 of the LCD.

Pin number 8 of the Arduino is connected with the enable pin of the LCD….pin number 9 of the Arduino is connected with the RS pin of LCD…

The Vcc pin of the pulse sensor is connected with the 5v, but you can also connect this with 3.3v. the S pin of the pulse sensor is connected with the analog pin A0 and the ground pin of the pulse sensor is connected with the Arduino’s ground. Now let’s discuss the programming.


Before you start the Program, first of all, make sure you download the Library for the Pulse sensor. Watch video to learn how to download and install the library Click Here”.

You can open this program by clicking on the file menu….then examples….then pulsesensor playground …and click on the getting bpm to monitor…… The only modification that I made is the addition of the 16×2 LCD.

Watch Video Tutorial:


Another Pulse Sensor related Project:

Pulse Sensor/ Heartbeat Rate/ Heart rate measurement using Arduino & Bluetooth



Recommended For You

About the Author: Engr Fahad

My name is Shahzada Fahad and I am an Electrical Engineer. I have been doing Job in UAE as a site engineer in an Electrical Construction Company. Currently, I am running my own YouTube channel "Electronic Clinic", and managing this Website. My Hobbies are * Watching Movies * Music * Martial Arts * Photography * Travelling * Make Sketches and so on...

Leave a Reply