Introduction: Pulse Sensor With Arduino Tutorial

Picture of Pulse Sensor With Arduino Tutorial


Pulse Sensor Amped is a plug-and-play heart-rate sensor for Arduino and Arduino compatibles. It can be used by students, artists, athletes, makers, and game & mobile developers who want to easily incorporate live heart-rate data into their projects. Pulse Sensor adds amplification and noise cancellation circuitry to the hardware. It's noticeably faster and easier to get reliable pulse readings. Pulse Sensor Amped works with either a 3V or 5V Arduino.


  • Diameter = 0.625" (~16mm)
  • Overall thickness = 0.125" (~3mm)
  • Working Voltage = 3V to 5V
  • Working Current = ~4mA at 5V

Step 1: Material Preparation

In this tutorial , you will need :

1. Arduino Uno Board and USB Cable.
2. Pulse Sensor Arduino
3. Jumper Wires
4. LCD
5. Potentiometer 10K
6. 2 LEDs
7. Breadboard

Step 2: Pinout Details

Picture of Pinout Details

you can see the s, + and - on pulse sensor's back view as shown in the picture above.

  • S : signal, connected to any of your microcontroller's digital pin.
  • + : supply, 3V up to 5V
  • - : ground

Step 3: Pin Connection

Picture of Pin Connection

1. Connect Pulse Sensor to Arduino Uno Board as following :

  • + to +5V
  • - to GND
  • S tO A0

2. Connect LCD to Arduino Uno Board as following :

  • VSS to +5V
  • VDD to GND
  • RS to 12
  • RW to GND
  • E to D11
  • D4 to D5
  • D5 to D4
  • D6 to D3
  • D7 to D2
  • A/VSS to +5V
  • K/VDD to GND

3. Connect 10K Potentiometer to LCD as following (refer image for potentiometer pinout) :

  • GND to GND
  • Data to v0
  • VCC to +5V

4. Connect LED to Arduino as following :

  • LED1 (RED, blinkPin) to D13
  • LED2 (GREEN, fadeRate) to D8

Step 4: Connect to Your Computer

Picture of Connect to Your Computer

After u have completed your circuit, connect your Arduino Uno Board to your computer via USB Cable. You can see your LCD is on.

Step 5: Library

Picture of Library

You have to download this library before uploading the sample source code into your Arduino IDE to allow Arduino to communicate with LCD. Download the ZIP file below > Open Zip File > Extract to your Arduino Uno Library folder.

Step 6: Sample Source Code

Picture of Sample Source Code

You may download this sample source code and open it on your Arduino IDE. Choose the correct board and port. Then, upload your Code into your Arduino Uno Board.

NOTE : DO NOT connect the Pulse Sensor to your body while your computer or arduino is being powered from the mains AC line. That goes for charging laptops and DC power supplies.

Step 7: Serial Monitor

Picture of Serial Monitor

when you open your serial monitor, make sure you change your baud rate to 115200, it has to match to the baud rate stated in the sample source code.

Step 8: Result

Picture of Result

After it’s done uploading, you should see LED1 (red) blink in time with your heartbeat when you place your finger on the sensor. If you grip the sensor too hard, you will squeeze all the blood out of your fingertip and there will be no signal! If you hold it too lightly, you will invite noise from movement and ambient light. So, place your finger on the sensor lightly till you get a read on the LCD or serial monitor that shows signal is already transmitted. You will be able to get the reading on both serial monitor and LCD.

Step 9: Video

This video shows how pulse sensor work by displaying the BPM value on LCD.


aoszid (author)2017-11-14

جميل جدا

costanzad (author)2017-11-07

Hello I have used an OLED instead of an LCD and i didn't include a potentiometer. Can the lack of it influence something in the recording? I keep getting too high or too low values when i change person using it how can i fix this?

opadaki (author)2017-04-21

Hi ! The program seems complicated. Could you please explain the logic behind converting raw sensor data to BPM?

I'm getting fluctuations in BPM (it varies from 40 to 250). Most of the times, its in the 200s. Sometimes, it comes down to 90 or 80.

What could the problem be? Please help. Thank you !

chanchallanghni (author)opadaki2017-10-27

i have the same problem can u plz help me

framp (author)2017-10-16

thanks for the tutorial but for some reason, the LCD is not glowing even though it works just fine on its own.Any idea why?

AnilR45 (author)2017-07-05

What happens if potentiometer is not used

alijaniaa.68 (author)2017-06-24

hi my friend,rhe file which attache,doesnt download for me,could you help me to donload it

okudzeto osei prince (author)2017-06-01

pls i need the code

SarvjitP (author)2017-05-30

Why does my LCD display show black background?

PicsArt (author)2016-11-02

Scientific and useful.

About This Instructable




More by mybotic:How to use ESP32 to Control LED With Blynk Via WiFiTutorial for ESP8266 ESPDuino NodeMcu SPI Module Using Arduino UnoTutorial for L298 2Amp Motor Driver Shield for Arduino
Add instructable to: