Troubleshooting MAX30102 V2.0 (SEN0344) Heart rate sensor I2C communication

Hello,
First time posting here so apologies if I have left anything out. I have been trying to get raw data from the MAX30102 V2.0 sensor with not much luck at all.

So far I have found one library that works but it can't be used to obtain raw data ( https://github.com/DFRobot/DFRobot_BloodOxygen_S ). This library successfully outputs data to the serial monitor in the Arduino IDE, so it's unlikely the problem is with my connections or hardware. I have compared this library with the ones that have failed but I can't figure out why only this library will successfully connect with the sensor.
I want to use a library that can obtain raw data and have tried several ( including https://github.com/DFRobot/DFRobot_MAX30102 ) but none of them seem to work - I get the error message “MAX30102 was not found” in the serial monitor whenever I use any of the examples.
I am using an Arduino Uno R3 and have also tested an Atmega2560 but experience the same issues.
My connections are as follows (MAX30102 → Arduino Uno):
3V3 → 5V (have also tested 3.3V)
GND → GND
SCL → SCL (digital pin 19)
SDA → SDA (digital pin 18)
I have been struggling with this for a while now so any help would be greatly appreciated.
Hi,
I am using the ESP32 development board and the Fermion MAX30102 to read the heart rate and SpO2 values. I am using the ESP-IDF v5.4.1 and Arduino as a component (v3.2.0) to the ESP-IDF. I tried to run the example given in https://github.com/DFRobot/DFRobot_MAX30102 repo, but it didn't work.
With some extra code, I am able to find the Fermion MAX30102 module at the I2C address 0x57 or 0x72 but because of the extra MCU on the module, I am not able to interact with the MAX30102 sensor registers directly, so the RED LED is not turning ON.
This repo code was committed around June 2020 and there have been many ESP-IDF and Arduino component releases being published since June 2020, so I am wondering whether the MCU libraries have been kept up to date for all supporting platforms or not? And where can I find the latest sample code to test the Fermion MAX30102 module?
I am getting errors at the step where my code calls the begin() function of the DFRobot_MAX30102 class.


I am struggling with a similar issue. I want to use two of the Fermion MAX30102 sensors with a multiplexer and can use the https://github.com/DFRobot/DFRobot_BloodOxygen_S library and I have success. However, I want to control the LEDs of each one and there is nothing in this library which allows this. If I use any other library, I get “Sensor not found” message. Is there a solution? Can I modify the library? (Not sure I have that ability.)

Hi, are you using Arduino UNO R3 or Arduino UNO R4/mega etc? You have mentioned digital pin 18 and 19. But there is no D18 and D19 in Arduino UNO. Please verify the pinout and jumper wires. Here is also a fantastic project using MAX30102. You can try this someday.
https://www.pcbway.com/project/shareproject/W260090ASJ75_gerber.html

Hello,
I am struggling with the same problem. The problem is the MCU on the back of the board which has been added in the later versions.
It is between the Arduino and the MAX30102 sensor and doesnt allow to directly write and read from its registers. Therefore I don't think it is possibly to get the raw data.
