Cirkit Designer LogoCirkit DesignerYour all-in-one circuit design IDE Launch Cirkit Designer App

How to Use Pulse Sensor: Examples, Pinouts, and Specs

Image of Pulse SensorDesign with Pulse Sensor in Cirkit Designer

Introduction

The Pulse Sensor is a device designed to detect and measure the heartbeat of an individual. It operates using photoplethysmography (PPG), a non-invasive optical technique that monitors blood flow changes in the body. This sensor is compact, easy to use, and ideal for applications requiring real-time heart rate monitoring.

Explore Projects Built with Pulse Sensor

Use Cirkit Designer to design, explore, and prototype these projects online. Some projects support real-time simulation. Click "Open Project" to start designing instantly!
Image of Arduino UNO Based Heart Rate Monitor with OLED Display: A project utilizing Pulse Sensor in a practical application
Arduino UNO Based Heart Rate Monitor with OLED Display

This circuit is designed to measure heart pulse rate using an Arduino UNO connected to a Heart Pulse Sensor. The sensor's signal is read by the Arduino's analog input A0, and the data is displayed on an OLED screen using I2C communication (SCL and SDA connected to A5 and A4 respectively). The embedded code reads the pulse signal, calculates the beats per minute (BPM), and dynamically displays the BPM value on the OLED.

Open Project in Cirkit Designer
Image of Arduino UNO Based Heart Rate Monitor with I2C LCD Display: A project utilizing Pulse Sensor in a practical application
Arduino UNO Based Heart Rate Monitor with I2C LCD Display

This circuit is designed to monitor heart pulse rate using an Arduino UNO connected to a Heart Pulse Sensor. The pulse signal from the sensor is read by the Arduino on analog pin A0, processed, and the calculated beats per minute (BPM) are displayed on an I2C LCD 16x2 Screen. The entire circuit is powered by a 9V battery, with the Arduino regulating the voltage for the sensor and the LCD screen.

Open Project in Cirkit Designer

Common Applications and Use Cases

Technical Specifications

The following table outlines the key technical details of the Pulse Sensor:

Parameter Value
Operating Voltage 3.3V to 5V
Operating Current ~4mA
Output Signal Analog (0-1023 for Arduino ADC)
Sensor Type Photoplethysmography (PPG)
Dimensions ~16mm diameter
Cable Length ~24 inches

Pin Configuration and Descriptions

The Pulse Sensor typically has a 3-pin interface. The pinout is as follows:

Pin Name Description
1 VCC Power supply pin (3.3V or 5V)
2 GND Ground connection
3 Signal Analog output signal representing heartbeat data

Usage Instructions

How to Use the Pulse Sensor in a Circuit

  1. Connect the Pins:

    • Connect the VCC pin to the 3.3V or 5V power supply of your microcontroller.
    • Connect the GND pin to the ground of your circuit.
    • Connect the Signal pin to an analog input pin on your microcontroller (e.g., A0 on Arduino).
  2. Place the Sensor:

    • Attach the sensor to a fingertip or earlobe using the included Velcro strap or clip.
    • Ensure the sensor is securely in place for accurate readings.
  3. Read the Signal:

    • Use an analog-to-digital converter (ADC) to read the signal from the Signal pin.
    • Process the signal to extract heart rate data.

Important Considerations and Best Practices

Example Code for Arduino UNO

Below is an example code snippet to read and display heart rate data using the Pulse Sensor:

// Include the PulseSensor library (install via Arduino Library Manager)
#include <PulseSensorPlayground.h>

// Define constants for the Pulse Sensor
const int PULSE_PIN = A0;  // Analog pin connected to the Signal pin
const int LED_PIN = 13;    // Onboard LED for heartbeat indication

// Create a PulseSensor object
PulseSensorPlayground pulseSensor;

void setup() {
  Serial.begin(9600);  // Initialize serial communication
  pinMode(LED_PIN, OUTPUT);  // Set LED pin as output

  // Configure the Pulse Sensor
  pulseSensor.analogInput(PULSE_PIN);
  pulseSensor.blinkOnPulse(LED_PIN);  // Blink LED on heartbeat
  pulseSensor.setSerial(Serial);     // Enable serial output for debugging

  // Start the Pulse Sensor
  if (!pulseSensor.begin()) {
    Serial.println("Pulse Sensor initialization failed!");
    while (true);  // Halt execution if initialization fails
  }
}

void loop() {
  // Read the Pulse Sensor
  int heartRate = pulseSensor.getBeatsPerMinute();

  // Check if a valid heart rate is detected
  if (pulseSensor.sawStartOfBeat()) {
    Serial.print("Heart Rate: ");
    Serial.print(heartRate);
    Serial.println(" BPM");  // Print heart rate in beats per minute
  }

  delay(20);  // Small delay for stable readings
}

Notes on the Code

Troubleshooting and FAQs

Common Issues and Solutions

  1. No Signal Detected:

    • Ensure the sensor is properly connected to the microcontroller.
    • Verify that the sensor is securely attached to the measurement site (e.g., fingertip).
  2. Inconsistent Readings:

    • Minimize movement during measurement to reduce noise.
    • Use a software filter to smooth out the signal.
  3. Sensor Not Working:

    • Check the power supply voltage (3.3V or 5V).
    • Ensure the Signal pin is connected to an analog input pin.
  4. LED Not Blinking:

    • Verify the LED_PIN is correctly defined in the code.
    • Check the Pulse Sensor library installation.

FAQs

Q: Can the Pulse Sensor be used with a Raspberry Pi?
A: Yes, but since the Raspberry Pi lacks an onboard ADC, you will need an external ADC module (e.g., MCP3008) to read the analog signal.

Q: How do I clean the Pulse Sensor?
A: Use a soft, damp cloth to gently clean the sensor surface. Avoid using harsh chemicals.

Q: Can the Pulse Sensor measure blood oxygen levels?
A: No, the Pulse Sensor is designed only for heart rate monitoring and does not measure blood oxygen saturation (SpO2).

Q: What is the maximum heart rate the sensor can detect?
A: The sensor can typically detect heart rates up to 220 BPM, depending on the signal quality and processing algorithm.

By following this documentation, you can effectively integrate the Pulse Sensor into your projects for accurate and reliable heart rate monitoring.