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) .
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
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.