When building a wearable health monitor, a smart fitness tracker, or a remote patient monitoring prototype, choosing the right heart rate sensor is the most critical step. However, with various technologies like ECG and PPG available, finding the perfect match for your Arduino, ESP32, or Raspberry Pi project can be overwhelming.
In this selection guide, we will break down the differences between ECG and PPG technologies and compare four popular DFRobot heart rate sensors to help you make an informed decision.
Before diving into specific modules, it is essential to understand the two primary technologies used in heart rate monitoring: ECG and PPG.
DFRobot offers a range of sensors tailored for different development levels, from basic analog readings to advanced I2C modules with integrated algorithms.
If you want to understand the electrical functions of the heart, this is your go-to sensor.

This is an entry-level, thumb-sized heart rate monitor designed for microcontrollers.

One of the biggest pain points for developers using the popular Maxim MAX30102 sensor is writing complex algorithms to convert raw optical data into usable heart rate and SpO2 (blood oxygen) values. We solved this by integrating a microcontroller directly into the sensor module.
SEN0518 (Gravity: MAX30102 PPG Heart Rate and Oximeter Sensor (I2C/UART))

SEN0344 (Fermion: MAX30102 PPG Heart Rate and Oximeter Sensor V2.0 (Breakout, I2C / UART))

Product Name
Gravity: PPG Heart Rate Monitor Sensor for Arduino (Analog/Digital)
Gravity: MAX30102 PPG Heart Rate and Oximeter Sensor (I2C/UART)
Fermion: MAX30102 PPG Heart Rate and Oximeter Sensor V2.0 (Breakout, I2C / UART)
Figure




SKU
SEN0213
SEN0203
SEN0518
SEN0344
Technology
ECG
PPG
PPG
PPG
Measures SpO2?
No
No
Yes
Yes
Output
Analog
Analog/Digital
I2C / UART
I2C / UART
Built-in Algorithm
N/A (Uses AD8232)
No
Yes (Integrated MCU)
Yes (Integrated MCU)
Form Factor
Gravity Module (Plug&Play)
Gravity Module (Plug&Play)
Gravity Module (Plug&Play)
Fermion Breakout
Add to Cart
Add to Cart
Add to Cart
Add to Cart
Add to Cart
Disclaimer: None of these products are professional medical devices and should not be used to diagnose or treat medical conditions.
Choose SEN0213 (Gravity: Analog Heart Rate Monitor Sensor (ECG)) if you want to explicitly measure and visualize the electrical ECG signals of the heart.
Choose SEN0203 (Gravity: PPG Heart Rate Monitor Sensor) if you need the most budget-friendly, simple optical pulse reading for a static project.
Choose SEN0518 (Gravity: MAX30102 PPG) or SEN0344 (Fermion: MAX30102 PPG V2.0) if you want professional-grade PPG tracking with blood oxygen data, and you want to skip the headache of algorithm coding. Choose the Gravity version for quick prototyping, and the Fermion version for miniature wearable integration.