oxullo / Arduino-MAX30100

Arduino library for MAX30100, integrated oximeter and heart rate sensor
GNU General Public License v3.0
192 stars 135 forks source link

Zero Output at MAX30100_RawData and MAX30100_Minimal #28

Closed nazmibojan closed 6 years ago

nazmibojan commented 7 years ago

Troubleshooting checklist

Description of the issue

Hi @oxullo, I have run MAX30100_Tester and got output like below. I have been wondered why is the temperature show 0C. After that I run MAX30100_Manual and MAX30100_RawData. I got zero output in RawData and in Manual that show 0 of bpm dan 0% of SpO2. So can you help me where I start to solve my problem?

max30100 manual

raw data max30100

Output from MAX30100_Tester example

max30100 tester

Details of my setup

oxullo commented 7 years ago

First thing that comes in my mind: check if the I2C voltage shifter is able to work at 400kHz

nazmibojan commented 7 years ago

Oh OK, it make sense. I have to find my shifter datasheet. But may I know where was the 400kHz came from?

oxullo commented 7 years ago

https://github.com/oxullo/Arduino-MAX30100/blob/4550b2d1753ba00e4330afb763c908eb9a133f76/src/MAX30100.cpp#L30 and https://github.com/oxullo/Arduino-MAX30100/blob/4550b2d1753ba00e4330afb763c908eb9a133f76/src/MAX30100.h#L33

MAX30100 can operate in full speed mode hence the library initializes I2C in full speed.

liviuanc commented 7 years ago

the same problem

liviuanc commented 7 years ago

And I lower the i2c speed

nazmibojan commented 7 years ago

How fast is your I2C speed now @liviuanc ?

oxullo commented 7 years ago

@nazmibojan have you had any success by lowering the clock speed?

nazmibojan commented 6 years ago

@oxullo No. I still had the same problem.

oxullo commented 6 years ago

@nazmibojan does the sensor shine red during the test run? is the arduino you have a genuine one? have you tried with a 3.3V microcontroller? My baseline test setup is very similar to yours and it works, but an alternative that I'm testing right now is to pull up SDA and SCL to 5V. It works so far but since it worked also with 3.3V I can't properly compare.

AhmadZMQ commented 6 years ago

Hi,@oxullo I am using Nano and MAX30100 sensor and their connection is -pullup SDA and SCL with 4.7k ohm to the 5V. There after he got working but HB, Spo2 and temp show zero.Also the RED led does not light up normally ,it does when connected with GND alone (not with IR LED). After uploading all thing is correct but values gives zero. And what should I have the I2C_BUS_SPEED (400000UL). What i do to avoid it?

oxullo commented 6 years ago

@AhmadZMQ please open a new issue and make sure you fill in the details requested in the issue template

nazmibojan commented 6 years ago

Hi @oxullo , my MAX30100 doesn't shine red during the test. Why did it happen? I don't know about genuineness of my Arduino, it's a gift from my friend years ago. I have been tried using STM32F1 development board, it shows the right temperature but I don't continue this project because there is another important business that i must finished.

oxullo commented 6 years ago

@nazmibojan whenever you want to get back on track on this project, please open a new ticket and provide a sketch of how you connected. Your issue is similar to the one @AhmadZMQ is experiencing, so eventually follow #33 beforehand.

nazmibojan commented 6 years ago

Finally, I just found the problem of my MAX30100 module. Actually, I feel strange when I look back to my MAX30100 price. That's too cheap in my country than amazon or another online store outside Indonesia. I found Pin 1 (Vout) of 3.3V regulator didn't connect to Pin 2 (Vin) of 1.8V regulator. A Via that connects that two pin didn't has a hole (that means a via didn't success to be created between top and bottom layer). Oh God, that's very bad product. Below I attached my result for MAX30100_Tester. Thank's all.

max30100 tester

Dwight21 commented 6 years ago

hi @oxullo can you give me the wiring of max30100 to arduino uno my MAX30100 doesn't shine red during the test i connect the VIN to V5 SCL to SCL SDA to SDA and TIN to D2 and GND to GND . should i use resistor ? please help me .