Pulse Sensor Using Arduino – Complete Guide with Simulation

 

 Arduino Pulse Sensor Heart Rate Monitoring System (BPM)

The Arduino Pulse Sensor Project is a beginner-friendly biomedical electronics system that measures heart rate in real time. Built using the reliable Arduino Uno and the easy-to-use Pulse Sensor, this project calculates BPM (Beats Per Minute) and displays the readings on both the Serial Monitor and a 16x2 I2C LCD.

It is ideal for students, STEM learners, and beginners exploring biomedical and IoT health monitoring systems.


 Project Overview

This heart rate monitoring system includes:

  •  Arduino Uno

  •  Pulse Sensor (PPG-based heartbeat sensor)

  •  16x2 I2C LCD Display

  •  Jumper wires

  •  Arduino IDE / Simulation platform

The project can be tested using simulation platforms like CircuitDesign.app, making it accessible without physical hardware.


 Working Principle (Photoplethysmography - PPG)

The Pulse Sensor works based on photoplethysmography (PPG):

1️⃣ An LED emits light into the skin
2️⃣ Blood flow changes light absorption
3️⃣ A light sensor detects intensity variations
4️⃣ The sensor outputs analog voltage pulses
5️⃣ Arduino processes peaks to calculate BPM

Each detected peak corresponds to one heartbeat.


 Circuit Connections

Pulse Sensor PinArduino Uno Pin
VCC5V
GNDGND
SignalA0

The analog signal is read using:

analogRead(A0);

 How the Code Works

The code uses:

  • PulseSensorPlayground library for signal processing

  • LiquidCrystal_I2C for LCD display

  • Threshold-based peak detection

 Key Functions:

pulseSensor.setThreshold(535);

Defines sensitivity level for heartbeat detection.

pulseSensor.sawStartOfBeat();

Detects a heartbeat peak.

pulseSensor.getBeatsPerMinute();

Calculates BPM based on detected pulses.

When a beat is detected:

  • BPM is printed to Serial Monitor

  • BPM is displayed on LCD in real time


 Key Features

✔ Real-time heart rate measurement
✔ LCD + Serial Monitor display
✔ Library-based signal processing
✔ Adjustable threshold for accuracy
✔ Beginner-friendly biomedical project
✔ Simulation support (hardware-free testing)


 Educational Concepts Covered

  • Analog signal reading

  • Biomedical signal processing basics

  • Peak detection algorithm

  • I2C communication (LCD)

  • Real-time data display

  • Embedded health monitoring systems


 Simulation Using CircuitDesign.app

Using simulation, students can:

  • Generate pulse waveform signals

  • Modify threshold values

  • Observe BPM calculation

  • Test logic without hardware

  • Learn filtering and noise reduction

This makes it perfect for remote learning and STEM education.


 Applications

 Heart rate monitoring systems
 Fitness tracking devices
 IoT health monitoring systems
 Medical electronics learning
 Biomedical signal analysis projects
 Smart wearable prototypes


 Important Note

This project is for educational and prototyping purposes only.
It should not be used for professional medical diagnosis.


 Possible Upgrades

You can enhance this system with:

 ESP32 Wi-Fi health monitoring version
 Mobile app dashboard
 Cloud data logging (ThingSpeak, Firebase)
 OLED graph display of pulse waveform
 Battery-powered wearable design
 Abnormal BPM alert system

 Arduino Code:

/*
 * Arduino Sketch for Heart Pulse Sensor with LCD Display
 *
 * This code reads data from a heart pulse sensor connected to the Arduino UNO
 * and displays the pulse rate on a 16x2 I2C LCD. The sensor's signal pin is
 * connected to the A0 pin of the Arduino. The code utilizes the PulseSensor
 * library to process the sensor data and the LiquidCrystal_I2C library to
 * display the BPM on the LCD.
 */

#include <Wire.h>
#include <LiquidCrystal_I2C.h>
#include <PulseSensorPlayground.h>

// Pin where the pulse sensor is connected
const int PULSE_SENSOR_PIN = A0;

// Create an instance of the PulseSensorPlayground class
PulseSensorPlayground pulseSensor;

// Initialize the LCD with the I2C address 0x27 and 16 columns x 2 rows
LiquidCrystal_I2C lcd(0x27, 16, 2);

void setup() {
  // Initialize serial communication at 9600 bits per second
  Serial.begin(9600);

  // Initialize the LCD
  lcd.begin(16,2);
  lcd.backlight();

  // Configure the pulse sensor
  pulseSensor.analogInput(PULSE_SENSOR_PIN);
  pulseSensor.setSerial(Serial);
  pulseSensor.setThreshold(535);

  // Start the pulse sensor
  if (pulseSensor.begin()) {
    Serial.println("Pulse sensor started successfully.");
    lcd.setCursor(0, 0);
    lcd.print("Pulse Sensor OK");
  } else {
    Serial.println("Pulse sensor failed to start.");
    lcd.setCursor(0, 0);
    lcd.print("Sensor Fail");
  }
}

void loop() {
  // Read the pulse sensor
  int myBPM = pulseSensor.getBeatsPerMinute();

  // If a valid BPM is detected, print it to the console and display on LCD
  if (pulseSensor.sawStartOfBeat()) {
    Serial.print("BPM: ");
    Serial.println(myBPM);
    lcd.setCursor(0, 1);
    lcd.print("BPM: ");
    lcd.print(myBPM);
    lcd.print("   "); // Clear any leftover digits
  }

  // Add a small delay to stabilize readings
  delay(10);
}

 Conclusion

The Arduino Pulse Sensor BPM Monitoring Project is an excellent introduction to:

  • Biomedical electronics

  • Embedded system programming

  • Real-time sensor data processing

  • Health-focused IoT development

It provides a strong foundation for students interested in medical electronics, IoT healthcare, and wearable technology development.

 

IOT & SMART SYSTEM PROJECTS

  1. IoT Weather Monitoring System (NodeMCU ESP8266 + DHT11 + Rain Sensor)
  2. ESP8266 NodeMCU Smart Health & Environment Monitoring System with Pulse, Temperature and Motion Sensors
  3. ESP32 Wi-Fi Weight Sensor with HX711
  4. Smart RFID Access Control System Using ESP32 Dev Board and UHF RFID Reader Module
  5. Smart IoT Motor Control System Using ESP32 Dev Board and L298N Motor Driver Module
  6. Smart Waste Management System Using Arduino Nano, Ultrasonic Sensor & GSM Module – Solar Powered IoT Solution
  7. Raspberry Pi Zero W and GSM SIM900 Based Ultrasonic Distance Measurement System
  8. Arduino UNO Smart Surveillance System with ESP8266 WiFi, PIR Motion Sensor & Camera Module
  9. Arduino UNO Environmental Monitoring System with OLED & 16x2 I2C LCD Display
  10. Arduino UNO-Based Smart Home Automation System with Flame and IR Sensors 
  11. Arduino Nano-Based Landslide Detection System with GSM Alerts – Smart Disaster Monitoring Project
  12. Arduino Nano Rain-Sensing Stepper Motor System
  13. Arduino Based Automatic Tire Inflator Using Pressure Sensor, Relay Module and LCD Display
  14. Arduino-Based Automatic Cooker Using Servo Motors, DC Stirrer Motor, Temperature Sensor and Relay-Controlled Heater
  15. Arduino Sketch for Plastic Bottle and Can Reverse Vending Machine

 TRAFFIC & SMART CITY PROJECTS
  1. RFID-Based Smart Traffic Control System (Arduino Mega)
  2. Arduino UNO Traffic Light Control System – Smart LED Signal Project
  3.  Arduino UNO Controlled Traffic Light System with Joystick Interface

ROBOTICS PROJECTS
  1. Arduino UNO Smart Obstacle Avoiding Robot (Ultrasonic + IR + GSM)
  2. Arduino-Powered Autonomous Obstacle Avoidance Robot with Servo Control
  3. Arduino Nano Bluetooth Controlled Line Follower Robot Using L298N Motor Driver
  4. Arduino UNO Bluetooth Controlled 4WD Robot Car Using L298N Motor Driver
  5. Arduino UNO Multi-Sensor Obstacle Avoidance & Bluetooth Controlled Robot Car Using L298N
  6. Raspberry Pi Motor Control Robot (L298N + Li-ion)
  7. RC Car Simulation with L298N Motor Driver and Joystick Control using Arduino (CirkitDesign Simulation)
  8. Raspberry Pi Robotic Arm Control System with Camera Module and Motor Driver – Smart Automation & Vision-Based Robotics Project
  9. ESP32-Based 4WD Robot Car Using Dual L298N Motor Drivers – Circuit Diagram and IoT Control Project

LORA & WIRELESS COMMUNICATION PROJECTS
  1. Arduino LoRa Communication Project Using Adafruit RFM95W LoRa RadioArduino Nano with RFM95 SX1276 LoRa
  2. Arduino Nano with RFM95 LoRa SX1276 Module – Long Range Wireless Communication Project
  3. Arduino Nano Digital Clock Using DS3231 RTC and TM1637 4-Digit Display – Circuit Diagram and Project Guide

 LED, LIGHTING & DISPLAY PROJECTS
  1. Arduino UNO Controlled NeoPixel Ring Light Show
  2. Wi-Fi Controlled NeoPixel Ring (ESP8266)
  3. Chained NeoPixel Rings with Arduino – Addressable RGB LED Control Project
  4. Arduino Nano-Controlled Lighting System with Gesture and Sound Interaction
  5. Raspberry Pi GPIO Multi-LED Control System – Beginner-Friendly Embedded Electronics Project
  6. 4 Channel Relay Module with Arduino UNO

 SENSOR & DETECTION PROJECTS
  1. Arduino UNO Color Sensor + Proximity System (TCS3200 + Inductive)
  2. Arduino Color Detection Project Using Adafruit TCS34725 RGB Color Sensor
  3. Arduino Gas Leakage Detection and Safety Alert System Using MQ-2 Gas Sensor
  4. MQ-135 Air Quality Detector Using Arduino | Cirkit Designer Simulation Project
  5. Pulse Sensor Using Arduino – Complete Guide with Simulation 
  6. HX711 Load Sensor Demo Using Arduino | Digital Weight Measurement Project
  7. Track Time with DS1307 RTC and Display on Arduino Uno with 16x2 LCD | Cirkit Designer Project
  8. Parking Sensor Simulator using Arduino Uno and HC-SR04 Ultrasonic Sensor

 FUN & INTERACTIVE PROJECTS
  1. Pong Game with Arduino UNO and OLED Display – Project Explanation
  2.   Arduino UNO Bluetooth-Controlled Servo Motor System
  3. Arduino UNO-Based Interactive Touch and Distance Sensing System with LED Indicators and Servo Control

 INDUSTRIAL / AUTOMATION PROJECTS

  1. Arduino UNO Smart Waste Sorting System Using Ultrasonic Sensor, Moisture Sensor, Servo, Stepper Motor and LCD
  2. Arduino-Based Smart Waste Segregation System Using Metal, Plastic and Moisture Sensors with Stepper and Servo Control
  3. ESP32-Based Digital Weighing Scale Using 50kg Load Cell, HX711 Module and 16x2 LCD Display
  4. Arduino-Based Smart Toll Gate Automation System with RFID, GSM, Ultrasonic Sensor and LCD Display

  5. Arduino-Based Automatic Pill Dispenser Machine with LCD Display, Servo Motor and Buzzer Reminder

  6. Arduino UNO Smart Water Quality Monitoring System with pH Sensor, Turbidity Sensor and LCD Display

  7. Arduino-Based Ocean Cleaning Boat Robot with Dual IBT-2 Motor Drivers and Conveyor Belt System

  8. IoT-Based Accident Detection and Health Monitoring System Using Raspberry Pi with GSM, GPS and Camera Integration

  9. Raspberry Pi RFID and Keypad Based Smart Door Lock System with LCD Display and L298N Motor Driver

  10. Smart Shopping Trolley Using Arduino UNO & RFID | Automatic Billing System

  11. Arduino UNO Based Automatic Liquid Hand Sanitizer & Soap Dispenser System

  12. Arduino Based Robotic Weeding Machine with Ultrasonic Obstacle Detection and L298N Motor Driver

  13. Arduino UNO Based Biometric Electronic Voting System with LCD Display and Fingerprint Authentication

  14. Arduino UNO Based Electronic Voting System with ILI9341 TFT Display


Comments