<p>The MAX30102 Heart Rate Pulse Sensor Module is a wearable device that measures heart rate and pulse oximetry (blood oxygen saturation) through a non-invasive optical sensing method. The purple version of this module is a specific variation of the MAX30102 sensor module that has a purple PCB (printed circuit board).</p> <p>The MAX30102 sensor module utilizes two LEDs (light-emitting diodes) to emit red and infrared light through the skin and into the blood vessels. A photodetector on the opposite side of the skin measures the amount of light that is absorbed or reflected by the blood vessels, which is used to calculate heart rate and blood oxygen saturation.</p> <p>This sensor module is commonly used in various health monitoring and fitness applications, such as wearable fitness trackers, smartwatches, and medical devices. It is easy to use and integrate into different electronic projects, thanks to its small size, low power consumption, and I2C interface.</p> <p>Overall, the MAX30102 Heart Rate Pulse Sensor Module (Purple version) is a reliable and convenient option for measuring heart rate and pulse oximetry for a variety of applications.</p> <p> </p>
Pin Connections Table 1
Board Sensor Pin Connection MAX30102 VCC/GND/SDA/SCL 3.3V / GND / board SDA / board SCL
MAX30102 Heart Rate Pulse Sensor Module (Purple version) - Arduino Uno
MAX30102 Heart Rate Pulse Sensor Module (Purple version) - Arduino Nano
MAX30102 Heart Rate Pulse Sensor Module (Purple version) - Arduino Mega
MAX30102 Heart Rate Pulse Sensor Module (Purple version) - ESP32
MAX30102 Heart Rate Pulse Sensor Module (Purple version) - ESP8266
MAX30102 Heart Rate Pulse Sensor Module (Purple version) - STM32
MAX30102 Heart Rate Pulse Sensor Module (Purple version) - Raspberry Pi Pico
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
9 MAX30105 particleSensor;
10
11 void 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
21 void 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 }
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
9 MAX30105 particleSensor;
10
11 void 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
21 void 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 }
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
9 MAX30105 particleSensor;
10
11 void 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
21 void 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 }
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
9 MAX30105 particleSensor;
10
11 void 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
21 void 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 }
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
9 MAX30105 particleSensor;
10
11 void 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
21 void 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 }
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
9 MAX30105 particleSensor;
10
11 void 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
21 void 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 }
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
9 MAX30105 particleSensor;
10
11 void 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
21 void 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 }
Project Notes: I2C optical heart-rate/SpO2 sensor.
نظرة عامة ومواصفات المنتج — بالعربية MAX30102 Heart Rate Pulse Sensor Module (Purple version) متوفر الآن في متجر إكوسترا للإلكترونيات، ضمن قسم Sensors، بسعر 150,00 EGP. كود المنتج لدينا: aa0213. المنتج غير متوفر حالياً — تواصل معنا عبر واتساب لمعرفة موعد توفره القادم.
أهم المواصفات الفنية:
Product Type: Heart Rate & SpO2 Sensor ModulePa Model: MAX30102 (Purple Version)Sensor Type: Optical Sensor (Heart Rate & Blood Oxygen)الشريحة: MAX30102Operating Voltage (V): 1.8 – 3.3Logic Level (V): 3.3 (5V tolerant via onboard regulator – varies)Pa Interface: I2CHeart Rate Measurement: Yesهذا المنتج مناسب لمشاريع الأردوينو (Arduino) و ESP32 و Raspberry Pi، ومشاريع الروبوتات وإنترنت الأشياء والتعليم الهندسي. جميع القطع مفحوصة قبل الشحن.
تصفّح المزيد من Sensors في إكوسترا.