MAX30100 I2C Problem

Hello everyone!

I work on a project to find heart rate value using the MAX30100 Sensor (showing in the picture). My problem is that I can't communicate with the sensor via Arduino Uno (I2C protocol) :confused: .
I used an I2C scanner program (Arduino Playground - I2cScanner) to see if the card is communicating with the component.

Normally if the UNO card does not see anything, the serial port should display: No I2C devices found and if a component I2C is present, it must display the I2C address of the component! But in my case, the program remains blocked on scanning ... infinitely !!

Connection :

GND (capteur) => GND (ARDUINO)
Vin (capteur) => 3.3V (ARDUINO)
SCL (capteur) => A5 (ARDUINO)
SDA (capteur) => A4 (ARDUINO)
INT (capteur) => Pin 12 (ARDUINO) (Not important for this test)
IRD et RD (capteur) => GND de l'ensemble

Someone can help me please?
Thank you in advance

Provide a link to the schematics of the breakout board you're using.

The MAX30100 most be powered with maximum 2.2V, so I guess your board includes a voltage regulator to generate that (probably the chip marked 65K9). But in this case the pullups (the three pullups for SDA, SCL and INT don't come to enough voltage for a 5V Arduino UNO. You have to insert a level converter (bidirectional) as this one from Sparkfun.

This is guesswork because I just had the photo of the board and no schematic.

I know this is an old topic, but for those who stumble across it, I ran into the same problem, and nearly threw the module away thinking it was defective.

Well, apparently there is an issue with those pullup resisters. They need to be removed, and replaced with external resisters. Here's where I found the answer: How to Use the MAX30100 as Arduino Heart Rate Sensor | Microcontroller Tutorials

1 Like