# Pulse sensor, oximeter, optical, GY MAX30100, I2C

> Optical sensor module for pulse and SpO2 measurement, based on MAX30100, communicates via I2C (address 0x57). Power supply 3-5VDC, pins VIN, GND, SCL, SDA, INT. Includes LEDs, photodetector and low-noise electronics with ambient light rejection. LED current and refresh rate are programmable, standby can be disabled via software (0.7uA typ). Operating temperature -40 C to +85 C, dimensions 12.7 x 12.7mm. Suitable for wearable applications.

- Page: https://sigmanortec.ro/en/pulse-sensor-oximeter-optical-gy-max30100-i2c
- Price: 8.75 RON
- Availability: In stock; 1-2 zile
- Reference: 9026 · EAN: 5948193060423
- Category: Mechatronics and IoT > Sensors and Modules > Biomedical Sensors
- Package (shipping data): 0.002 kg
- Updated: 2026-09-14
- Shop: [Sigmanortec.ro](https://sigmanortec.ro/en/llms.txt)
- Prices: RON, VAT included; prices and stock as of 2026-10-22 02:22 (Europe/Bucharest)

## Description

Optical module for measuring pulse and SpO2 saturation, based on MAX30100, ideal for wearable and portable monitoring projects. Communicates via I2C, operates at 3-5V, includes LEDs, photodetector and low-noise electronics with ambient light rejection. LED current and refresh rate are programmable for low power consumption, and standby can be turned off by software.
Optical pulse monitoring sensor module using the MAX30100 integrated circuit.
The module incorporates LEDs, optical elements, photodetector and low-noise electronics with the advantage of rejecting ambient light. It is ideal for developing wearable applications.
It communicates via I2C and is powered between 3 and 5VDC and can be turned off via software with zero standby current consumption, suitable for portable devices.
Specifications:
Supply voltage: 3 - 5VDC
Applications: Pulse oximeter (SpO2), Heart rate monitor
Pins: VIN, GND, SCL, SDA, INT
Optical sensor cover glass: Yes
Programmable refresh rate and LED current: Yes, for power consumption optimization
Pulse monitoring consumption: <1mW
Current consumption in off mode: 0.7µA Typ.
Fast data output: Yes
Resistance to motion data interfaces: Yes
Operating temperature: -40 C - +85 C
Dimensions mm: 12.7 x 12.7mm
Pinout:
MAX30100 pin | Description | Arduino Uno pin | Observations
VIN / VCC | Module power supply | 3.3V (or 5V*) | Recommended 3.3V, see your module specifications
GND | Table (ground) | GND | Common GND between sensor and Arduino
SCL | I2C Clock | A5 | SCL line on Arduino Uno
SDA | I2C Data | A4 | SDA line on Arduino Uno
INT (or IRQ) | Optional interrupt pin | D2 (or other digital) | Optional, not mandatory for basic tests
Use:
Install the library available in the Download section.
The module has the typical I2C address 0x57.
Upload the following test code to the Arduino board:
Test Code:
\#include
\#include "MAX30100_PulseOximeter.h"
\#define REPORTING_PERIOD_MS 1000
PulseOximeter pox;
uint32_t tsLastReport = 0;
void onBeatDetected()
{
Serial.println("Drunk!");
}
void setup()
{
Serial.begin(115200);
Serial.print("Initializing pulse oximeter..");
// Initialize the PulseOximeter instance
// Failures are generally due to an improper I2C wiring, missing power supply
// or wrong target chip
if (!pox.begin()) {
Serial.println("FAILED");
for(;;);
} else {
Serial.println("SUCCESS");
}
pox.setIRLedCurrent(MAX30100_LED_CURR_7_6MA);
// Register a callback for the beat detection
pox.setOnBeatDetectedCallback (onBeatDetected);
}
void loop()
{
// Make sure to call update as fast as possible
pox.update();
if (millis() - tsLastReport > REPORTING_PERIOD_MS) {
Serial.print("Heart rate:");
Serial.print(pox.getHeartRate());
Serial.print("bpm / SpO2:");
Serial.print(pox.getSpO2());
Serial.println("%");
tsLastReport = millis();
}
