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!
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.
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.
This circuit is a heartbeat monitoring system using an Arduino UNO, a heart pulse sensor, and a 16x2 I2C LCD. The Arduino reads the pulse sensor data, calculates the beats per minute (BPM), and displays the BPM on the LCD when a button is pressed. An LED also indicates heartbeat detection.
This circuit is a health monitoring system that uses an Arduino UNO to read data from a heart pulse sensor, a temperature sensor, and a MAX30102 HR + SpO2 sensor. The data is displayed on an LCD and, if certain thresholds are exceeded, an alert is sent via an ESP8266 WiFi module, with a green LED indicating the alert status.
Integration with microcontrollers like Arduino for heart rate visualization
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
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).
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.
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
Avoid excessive movement during measurement to reduce noise and improve accuracy.
Ensure the sensor is clean and free from dirt or oil for optimal performance.
Use a low-pass filter in your circuit or software to smooth out the signal.
If using an Arduino, ensure the Signal pin is connected to an analog input pin.
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
The PulseSensorPlayground library simplifies the use of the Pulse Sensor. Install it via the Arduino Library Manager.
The onboard LED (pin 13) blinks with each detected heartbeat.
The heart rate is displayed in beats per minute (BPM) on the Serial Monitor.
Troubleshooting and FAQs
Common Issues and Solutions
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).
Inconsistent Readings:
Minimize movement during measurement to reduce noise.
Use a software filter to smooth out the signal.
Sensor Not Working:
Check the power supply voltage (3.3V or 5V).
Ensure the Signal pin is connected to an analog input pin.
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.