Back to Portfolio maxim.kleyer

RGB Heart Rate Monitor

Offline

Click "Start Monitor" to begin

--
BPM
--
Red
--
Green
--
Blue

For Best Results

  • Stay still for 10-15 seconds while the algorithm calibrates
  • Ensure good, consistent lighting on your face
  • Position your forehead within the cyan detection box
  • Results are approximate — not for medical use

How It Works

This monitor uses photoplethysmography (PPG) — detecting subtle color changes in your skin caused by blood flow. Your webcam captures these micro-variations in the RGB channels of your face, which are then processed using signal processing techniques.

The signal is filtered with a Butterworth bandpass filter (0.83-3.0 Hz, corresponding to 50-180 BPM), then analyzed using Fast Fourier Transform (FFT) to find the dominant frequency, which corresponds to your heart rate.

JavaScript WebRTC FFT Signal Processing Computer Vision
View Python Source Code