SEN0213 Heart Rate Monitor Sensor


The DFRobot Heart Rate Monitor Sensor is used to measure the electrical activity of the heart. This electrical activity can be charted as an ECG and output as an analog reading. An ECG signal can be extremely noisy so we have included an AD8232 chip on the PCB which will provide a clear signal from the PR and QT Intervals. Using the Arduino IDE "Serial Plotter" feature you are also able to view plotted ECG output on your PC!

Please Note: This product is NOT a medical device and is not intended to be used as such or as an accessory to such nor diagnose or treat any conditions.


Board Overview

SEN0213 Heart Rate Monitor Sensor Board Overview



Connection Diagram

SEN0213 Heart Rate Monitor Sensor Connection Diagram
An ECG signal can be quite noisy due to surrounding muscle activity. The further the sensor pads are from the heart, the more muscle noise you will see. To improve the signal quality, follow these simple tips:
Keep sensor pads as close to the heart as you can
Make sure the RA and LA sensor pads are on correct sides of the heart
Try not to move too much while taking a measurement
Try to use fresh pads for each measurement. The pads loose the ability to pass signals with multiple applications
Prepare and clean the area you plan to stick pads. This will help make a good connection (hair is not a good conductor)
You may have to adjust sensor placement for different individuals

Sample Code1

* @file HeartRateMonitor.ino
* @brief HeartRateMonitor.ino  Sampling and ECG output
*  Real-time sampling and ECG output
* @author linfeng(490289303@qq.com)
* @version  V1.0
* @date  2016-4-5
const int heartPin = A1;
void setup() {
void loop() {
int heartValue = analogRead(heartPin);

Expected Result

  1. Open the Arduino IDE 1.6.6 (or above) "Serial Plotter";
SEN0213 Heart Rate Monitor Sensor Expected Result
  1. Then you could see the output signal from the microcontroller - A1 port, the ECG.
SEN0213 Heart Rate Monitor Sensor Expected Result
NOTE: If you found there was a lot of jamming waveforms, they may come from the body's static electricity. Touch something metal to discharge any static electricity. More read on WikiHow.

Sample Code2

click to download the head file HeartSpeed

 * @file heart_test.ino
 * @copyright   [DFRobot](https://www.dfrobot.com), 2016
 * @copyright   GNU Lesser General Public License
 * @author [jianghao](hao.jiang@dfrobot.com)
 * @version  V1.0
 * @date  20160-07-8

 * @brief Library for DFRobot's IR Position RAW_DATA
 * @author [jianghao](hao.jiang@dfrobot.com)
#include "HeartSpeed.h"

HeartSpeed heartspeed(A1);                  ///<The serial port for at observe pulse.
//HeartSpeed heartspeed(A1,RAW_DATA);       ///<The serial port mapper, observation of ECG diagram.

/* Print the position result */
void mycb(uint8_t rawData, int value)
    Serial.print("HeartRate Value = "); Serial.println(value);
void setup() {
  heartspeed.setCB(mycb);    ///Callback function.
  heartspeed.begin();///The pulse test.

void loop() {


  Copyright (C) <2016>  <jianghao>
  This program is free software: you can redistribute it and/or modify
  it under the terms of the GNU General Public License as published by
  the Free Software Foundation, either version 3 of the License, or
  (at your option) any later version.
  This program is distributed in the hope that it will be useful,
  but WITHOUT ANY WARRANTY; without even the implied warranty of
  GNU General Public License for more details.
  You should have received a copy of the GNU General Public License
  along with this program.  If not, see <http://www.gnu.org/licenses/>.
  Contact: hao.jiang@dfrobot.com

Expected Result

  1. Open the Arduino IDE 1.6.6 (or above) "Serial Port";

  2. Then you could see the output signal in BPM.

SEN0213 Heart Rate Monitor Sensor Expected Result


For any questions, advice or cool ideas to share, please visit DFRobot Forum.


DFshopping_car1.png Shopping from Gravity: Analog Heart Rate Monitor Sensor (ECG) For Arduino or DFRobot Distributor.

Turn to the Top