MAX30100 Purple Heart Rate

  • 💓 MAX30100 heart-rate & pulse oximeter sensor module (Purple)
  • 🩸 Captures heart rate and SpO2 (blood oxygen) signals
  • 🔴🔵 Integrated red + IR LEDs with photodetector
  • 🚌 I2C interface—easy to connect to Arduino/ESP32/STM32
  • ⚡ Low power operation—great for wearable projects
  • 🧩 Ideal for fitness tracking and health monitoring prototypes
  • 🛠️ Compact breakout board for quick integration
  • ✅ Popular choice for DIY biomedical and IoT applications

Apple Shopping Event

Hurry and get discounts on all Apple devices up to 20%

135,00 EGP

7 People watching this product now!

Payment Methods:

Description

 
🔌
Pin Connections
1 Table
Pin Connections Table 1
BoardSensor PinConnection
MAX30100VCC/GND/SDA/SCL3.3V / GND / board SDA / board SCL
📟
MAX30100 Purple Heart Rate
7 Examples • C/C++ | Boards: Arduino Uno, Arduino Nano, Arduino Mega, ESP32, ESP8266, STM32, Raspberry Pi Pico
MAX30100 Purple Heart Rate - Arduino Uno
MAX30100 Purple Heart Rate - Arduino Nano
MAX30100 Purple Heart Rate - Arduino Mega
MAX30100 Purple Heart Rate - ESP32
MAX30100 Purple Heart Rate - ESP8266
MAX30100 Purple Heart Rate - STM32
MAX30100 Purple Heart Rate - Raspberry Pi Pico
📄 File: max30100_purple_heart_rate_-_arduino_uno.inoArduino Uno
915 characters
1//ekostra.com
2//electronics store in egypt
3//+201008896258
4
5// I2C wiring for Arduino Uno: A4=SDA, A5=SCL
6#include <Wire.h>
7#include "MAX30105.h" // SparkFun library - also covers MAX30100/30102 register-compatible reads
8
9MAX30105 particleSensor;
10
11void setup() {
12 Serial.begin(115200);
13 Wire.begin();
14 if (!particleSensor.begin(Wire, I2C_SPEED_STANDARD)) {
15 Serial.println("MAX3010x not found - check wiring!");
16 while (1) delay(10);
17 }
18 particleSensor.setup(); // default sensor settings (LED brightness, sample rate...)
19}
20
21void loop() {
22 long irValue = particleSensor.getIR();
23
24 if (irValue < 50000) {
25 Serial.println("No finger detected");
26 } else {
27 Serial.print("IR: "); Serial.print(irValue);
28 Serial.print(" Red: "); Serial.println(particleSensor.getRed());
29 // Real BPM/SpO2 needs the library's beat-detection / SpO2 algorithm on top of these raw readings.
30 }
31
32 delay(20);
33}
📄 File: max30100_purple_heart_rate_-_arduino_nano.inoArduino Nano
916 characters
1//ekostra.com
2//electronics store in egypt
3//+201008896258
4
5// I2C wiring for Arduino Nano: A4=SDA, A5=SCL
6#include <Wire.h>
7#include "MAX30105.h" // SparkFun library - also covers MAX30100/30102 register-compatible reads
8
9MAX30105 particleSensor;
10
11void setup() {
12 Serial.begin(115200);
13 Wire.begin();
14 if (!particleSensor.begin(Wire, I2C_SPEED_STANDARD)) {
15 Serial.println("MAX3010x not found - check wiring!");
16 while (1) delay(10);
17 }
18 particleSensor.setup(); // default sensor settings (LED brightness, sample rate...)
19}
20
21void loop() {
22 long irValue = particleSensor.getIR();
23
24 if (irValue < 50000) {
25 Serial.println("No finger detected");
26 } else {
27 Serial.print("IR: "); Serial.print(irValue);
28 Serial.print(" Red: "); Serial.println(particleSensor.getRed());
29 // Real BPM/SpO2 needs the library's beat-detection / SpO2 algorithm on top of these raw readings.
30 }
31
32 delay(20);
33}
📄 File: max30100_purple_heart_rate_-_arduino_mega.inoArduino Mega
918 characters
1//ekostra.com
2//electronics store in egypt
3//+201008896258
4
5// I2C wiring for Arduino Mega: D20=SDA, D21=SCL
6#include <Wire.h>
7#include "MAX30105.h" // SparkFun library - also covers MAX30100/30102 register-compatible reads
8
9MAX30105 particleSensor;
10
11void setup() {
12 Serial.begin(115200);
13 Wire.begin();
14 if (!particleSensor.begin(Wire, I2C_SPEED_STANDARD)) {
15 Serial.println("MAX3010x not found - check wiring!");
16 while (1) delay(10);
17 }
18 particleSensor.setup(); // default sensor settings (LED brightness, sample rate...)
19}
20
21void loop() {
22 long irValue = particleSensor.getIR();
23
24 if (irValue < 50000) {
25 Serial.println("No finger detected");
26 } else {
27 Serial.print("IR: "); Serial.print(irValue);
28 Serial.print(" Red: "); Serial.println(particleSensor.getRed());
29 // Real BPM/SpO2 needs the library's beat-detection / SpO2 algorithm on top of these raw readings.
30 }
31
32 delay(20);
33}
📄 File: max30100_purple_heart_rate_-_esp32.inoESP32
917 characters
1//ekostra.com
2//electronics store in egypt
3//+201008896258
4
5// I2C wiring for ESP32: GPIO21=SDA, GPIO22=SCL
6#include <Wire.h>
7#include "MAX30105.h" // SparkFun library - also covers MAX30100/30102 register-compatible reads
8
9MAX30105 particleSensor;
10
11void setup() {
12 Serial.begin(115200);
13 Wire.begin();
14 if (!particleSensor.begin(Wire, I2C_SPEED_STANDARD)) {
15 Serial.println("MAX3010x not found - check wiring!");
16 while (1) delay(10);
17 }
18 particleSensor.setup(); // default sensor settings (LED brightness, sample rate...)
19}
20
21void loop() {
22 long irValue = particleSensor.getIR();
23
24 if (irValue < 50000) {
25 Serial.println("No finger detected");
26 } else {
27 Serial.print("IR: "); Serial.print(irValue);
28 Serial.print(" Red: "); Serial.println(particleSensor.getRed());
29 // Real BPM/SpO2 needs the library's beat-detection / SpO2 algorithm on top of these raw readings.
30 }
31
32 delay(20);
33}
📄 File: max30100_purple_heart_rate_-_esp8266.inoESP8266
911 characters
1//ekostra.com
2//electronics store in egypt
3//+201008896258
4
5// I2C wiring for ESP8266: D2=SDA, D1=SCL
6#include <Wire.h>
7#include "MAX30105.h" // SparkFun library - also covers MAX30100/30102 register-compatible reads
8
9MAX30105 particleSensor;
10
11void setup() {
12 Serial.begin(115200);
13 Wire.begin();
14 if (!particleSensor.begin(Wire, I2C_SPEED_STANDARD)) {
15 Serial.println("MAX3010x not found - check wiring!");
16 while (1) delay(10);
17 }
18 particleSensor.setup(); // default sensor settings (LED brightness, sample rate...)
19}
20
21void loop() {
22 long irValue = particleSensor.getIR();
23
24 if (irValue < 50000) {
25 Serial.println("No finger detected");
26 } else {
27 Serial.print("IR: "); Serial.print(irValue);
28 Serial.print(" Red: "); Serial.println(particleSensor.getRed());
29 // Real BPM/SpO2 needs the library's beat-detection / SpO2 algorithm on top of these raw readings.
30 }
31
32 delay(20);
33}
📄 File: max30100_purple_heart_rate_-_stm32.inoSTM32
911 characters
1//ekostra.com
2//electronics store in egypt
3//+201008896258
4
5// I2C wiring for STM32: PB7=SDA, PB6=SCL
6#include <Wire.h>
7#include "MAX30105.h" // SparkFun library - also covers MAX30100/30102 register-compatible reads
8
9MAX30105 particleSensor;
10
11void setup() {
12 Serial.begin(115200);
13 Wire.begin();
14 if (!particleSensor.begin(Wire, I2C_SPEED_STANDARD)) {
15 Serial.println("MAX3010x not found - check wiring!");
16 while (1) delay(10);
17 }
18 particleSensor.setup(); // default sensor settings (LED brightness, sample rate...)
19}
20
21void loop() {
22 long irValue = particleSensor.getIR();
23
24 if (irValue < 50000) {
25 Serial.println("No finger detected");
26 } else {
27 Serial.print("IR: "); Serial.print(irValue);
28 Serial.print(" Red: "); Serial.println(particleSensor.getRed());
29 // Real BPM/SpO2 needs the library's beat-detection / SpO2 algorithm on top of these raw readings.
30 }
31
32 delay(20);
33}
📄 File: max30100_purple_heart_rate_-_raspberry_pi_pico.inoRaspberry Pi Pico
927 characters
1//ekostra.com
2//electronics store in egypt
3//+201008896258
4
5// I2C wiring for Raspberry Pi Pico: GPIO4=SDA, GPIO5=SCL
6#include <Wire.h>
7#include "MAX30105.h" // SparkFun library - also covers MAX30100/30102 register-compatible reads
8
9MAX30105 particleSensor;
10
11void setup() {
12 Serial.begin(115200);
13 Wire.begin();
14 if (!particleSensor.begin(Wire, I2C_SPEED_STANDARD)) {
15 Serial.println("MAX3010x not found - check wiring!");
16 while (1) delay(10);
17 }
18 particleSensor.setup(); // default sensor settings (LED brightness, sample rate...)
19}
20
21void loop() {
22 long irValue = particleSensor.getIR();
23
24 if (irValue < 50000) {
25 Serial.println("No finger detected");
26 } else {
27 Serial.print("IR: "); Serial.print(irValue);
28 Serial.print(" Red: "); Serial.println(particleSensor.getRed());
29 // Real BPM/SpO2 needs the library's beat-detection / SpO2 algorithm on top of these raw readings.
30 }
31
32 delay(20);
33}
I2C optical heart-rate/SpO2 sensor.

Specification

Specification

WeightWeight6 g
Dimensions1,5 × 2 × 0,5 cm
Product NameMAX30100 – Purple Heart Rate Sensor
TypeOptical Heart Rate and Pulse Oximeter Sensor
ModelMAX30100
Sensing MethodReflective Optical Sensor (IR + Red LEDs)
Operating Voltage1.8–3.3 V DC
Communication InterfaceI²C
Sampling Rate50–100 Hz (typical)
MeasurementHeart Rate, Blood Oxygen Saturation (SpO₂)
Operating Temperature-40°C to +85°C
Package TypeModule with Sensor and PCB
ApplicationsHeart Rate Monitoring, Fitness Projects, Arduino / Raspberry Pi Projects, Wearable Health Devices
Package Contents1× MAX30100 Purple Heart Rate Sensor Module

Customer Reviews