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

max 30100(rcwl0530) not work #51

Closed dianjach closed 5 years ago

dianjach commented 6 years ago

I'm having problems. max30100 (rcwl0530) can not work. I'm using your library max30100. and run the max30100 tester and just show it 3 4 wp_20180325_22_09_28_pro wp_20180325_22_10_31_pro

pin max30100 vin = pin arduino v3,3 pin max30100 scl = pin arduino scl ( 4,7 R ) pin max30100 sda = pin arduino sda ( 4,7 R ) pin max30100 int = pin arduino d2 ( 4,7 R ) pin max30100 GND = pin arduino GND

can you help me ??? :(

oxullo commented 6 years ago

@dianjach did you read the README? You can find some info about the crappy RCWL-0530 there. Consider though that this breakout is poorly designed.

dianjach commented 6 years ago

"the three 4k7 pullups must be desoldered and external 4.7k pullups to Vcc of the MCU must be added". how to use this. I do not understand :(. can you explain ??

tuttelikz commented 6 years ago

No need for voltage regulator, capacitors. They are already integrated into rcwl0530. Here is the wiring that worked for me:

Arduino -> MAX30100 (rcwl0530): vin -> 3.3V gnd -> gnd scl -> scl (4.7 kOhm parallel pullup) sdl -> sdl (4.7 kOhm parallel pullup) id -> gnd (4.7 kOhm series) to reduce current ird -> gnd (4.7 kOhm seris) to reduce current

dianjach commented 6 years ago

thanks all, max30100 can work. I want to ask, how to read sensor max30100 to 5 seconds? I think the sensor reading is too fast. Please help me :) thanks

tuttelikz commented 6 years ago

@dianjach, do you mean REPORTING_PERIOD_MS parameter? If so, try to increase its value :)

tuttelikz commented 6 years ago

Sensor does not show correct values. It is around 30-40 bpm. Anyone had this issue? Maybe library issue?

tuttelikz commented 6 years ago

sensor value is jumping with big range. probably i need to average out frequency of detected beats and calibrate from empirical values.

dianjach commented 6 years ago

yes, i also have problem sensor data. the sensor value jumps with a large range. how is the data sensor stable ?? anyone can help

tuttelikz commented 6 years ago

@dianjach,

I tried to average after 3000 iterations. It is still jumping.

i checked MAX30100_BeatDetector.cpp There getRate (heart rate) is defined as: pulse (bpm) = (1/T) 1000 60

When I tried to receive that T (period), it changes much. So, I think the problem is with detection of beats.

Some of possible ways we can try is to:

If someone has experience, please share :)

tuttelikz commented 6 years ago

Hey @dianjach, seems got a solution :)

Try to run this arduino library https://github.com/xcoder123/MAX30100

Here is a plot: heart_rate

dianjach commented 6 years ago

thank you @tuttelikz , I will try it. if using that library, what wiring sensor to arduino is changed?

tuttelikz commented 6 years ago

@dianjach, wiring is same :)

keilanigrace commented 6 years ago

Hello, this is my first time on github so please forgive me for any mistakes. I had the same problem as @dianjach and changed my wiring to match @tuttelikz suggestion, but it's still showing Initializing MAX30100... Here is my wiring. Could someone please help me figure out what might be wrong? img_0544

img_0543

tuttelikz commented 6 years ago

sorry @keilanigrace . difficult to see all the connections from the picture.

azlinasuerman commented 6 years ago

@dianjach can I have your email ? I have something to ask Thank you

fedy0 commented 6 years ago

@dianjach what worked for you? Is it exactly as @tuttelikz described in his comments below "...Arduino -> MAX30100 (rcwl0530): vin -> 3.3V gnd -> gnd scl -> scl (4.7 kOhm parallel pullup) sdl -> sdl (4.7 kOhm parallel pullup) id -> gnd (4.7 kOhm series) to reduce current ird -> gnd (4.7 kOhm seris) to reduce current" I'd like to know cos I am facing same challenge even with @keilanigrace

Can someone explicitly summarize how to tackle this problem? @oxullo Your input would be greatly appreciated.

My humble suggestion @oxullo ,please make the response to be viewed first (first caution in readMe) by anyone who wants to use this library cos I observed that a lot of people bumped into this problem and had different workaround to get it right.

Thank you in advance

hanmanuk commented 6 years ago

Everyboyy~ I found that RCWL-0530 have serious problem on circuit design. I2C should be connected to 3.3V line but it is 1.8V connected.. So following instruction will solve this problem.. Code is perfect!! after this hardware job.. image

3alarm commented 6 years ago

hanmanuk !!!! I love you! I cant believe i could solder this tiny thing, but you are right! and now it works!! Thank you!

screen shot 2018-05-24 at 10 45 03 pm

I will now cover that spot with some superglue and hope it holds. I cannot believe they are selling a product that they know is bad!!!

qyomk commented 6 years ago

I am using MAX30100_RCWL-0530 with Particle Photon, my connections are (3V3 -> VIN, SDA -> D0, SCL -> D1, GND-> GND) ,INT, IRD, RD not connected to photon, i am trying to the run MAX30100 library example, I got wrong data

Beat! Heart rate:29bpm / Spo2:0% Heart rate:29bpm / Spo2:0% Heart rate:29bpm / Spo2:0%

What should i do to fix this issue ??

3alarm commented 6 years ago

that breakout board is wired wrong, you need to jump a wire and scratch off some of the printed circuit, i would highly recommend getting the more recent version of that particle sensor from spark fun.. i think that is where i got it.it looks like thisNew video by Kevin Leeser

|

New video by Kevin Leeser | |

|

|

On Thursday, July 26, 2018 4:32 PM, qyomk <notifications@github.com> wrote:

I am using MAX30100_RCWL-0530 with Particle Photon, my connections are (3V3 -> VIN, SDA -> D0, SCL -> D1, GND-> GND) ,INT, IRD, RD not connected to photon, i am trying to the run MAX30100 library example, I got wrong dataBeat! Heart rate:29bpm / Spo2:0% Heart rate:29bpm / Spo2:0% Heart rate:29bpm / Spo2:0%What should i do to fix this issue ??— You are receiving this because you commented. Reply to this email directly, view it on GitHub, or mute the thread.

3alarm commented 6 years ago

SparkFun Particle Sensor Breakout - MAX30105

$ 12.95

|

SparkFun Particle Sensor Breakout - MAX30105 The SparkFun MAX30105 Particle Sensor is a flexible, powerful sensor enabling sensing of distance, heart rate, p... | |

|

|

On Thursday, July 26, 2018 4:46 PM, Kevin Leeser <3alarm@ameritech.net> wrote:

that breakout board is wired wrong, you need to jump a wire and scratch off some of the printed circuit, i would highly recommend getting the more recent version of that particle sensor from spark fun.. i think that is where i got it.it looks like thisNew video by Kevin Leeser

|

New video by Kevin Leeser | |

|

|

On Thursday, July 26, 2018 4:32 PM, qyomk <notifications@github.com> wrote:

I am using MAX30100_RCWL-0530 with Particle Photon, my connections are (3V3 -> VIN, SDA -> D0, SCL -> D1, GND-> GND) ,INT, IRD, RD not connected to photon, i am trying to the run MAX30100 library example, I got wrong dataBeat! Heart rate:29bpm / Spo2:0% Heart rate:29bpm / Spo2:0% Heart rate:29bpm / Spo2:0%What should i do to fix this issue ??— You are receiving this because you commented. Reply to this email directly, view it on GitHub, or mute the thread.

Jivansha commented 5 years ago

Hi, I am unable to solve the initial issue of only output on the serial monitor as "Initializing MAX30100.." while running the tester program. The initial connections were - Arduino -> MAX30100 (rcwl0530): vin -> 3.3V gnd -> gnd scl -> scl (4.7 kOhm parallel pullup connected to 3.3v) sdl -> sdl (4.7 kOhm parallel pullup connected to 3.3v)

I also tried the connections used by @tuttelikz but no change in the output occurs. Is there any other way besides modifying the hardware design? Please share. Thanks

oxullo commented 5 years ago

As already stated in the README and reported in this thread, the RCWL0530 breakout is buggy, there's no other way than a physical intervention to solve the issue. Badly reported readouts are mostly caused by an uncalibrated LEDs current bias, you can find suggestions here: https://github.com/oxullo/Arduino-MAX30100#sketchy-beat-frequency-readouts

mguo46 commented 5 years ago

I encounter same problem as dianjach!!! I'm using your library max30100. and run the max30100 tester and just show it

3 4 wp_20180325_22_09_28_pro wp_20180325_22_10_31_pro

pin max30100 vin = pin arduino v3,3 pin max30100 scl = pin arduino scl ( 4,7 R ) pin max30100 sda = pin arduino sda ( 4,7 R ) pin max30100 int = pin arduino d2 ( 4,7 R ) pin max30100 GND = pin arduino GND

can you help me ??? :(

FelipeMdeO commented 5 years ago

Are you using 4.7 R resistor? You should use 4.7k. Do it and try, plx

Em ter, 7 de mai de 2019 8:49 AM, mguo46 notifications@github.com escreveu:

I encounter same problem as dianjach!!! I'm using your library max30100. and run the max30100 tester and just show it

[image: 3] https://user-images.githubusercontent.com/37766658/37876901-8dfc09f2-307d-11e8-8f47-bb87b6823a43.JPG [image: 4] https://user-images.githubusercontent.com/37766658/37876909-989458ba-307d-11e8-854d-8b69bb3b02f2.JPG [image: wp_20180325_22_09_28_pro] https://user-images.githubusercontent.com/37766658/37876915-b33c922c-307d-11e8-97a1-be99f3a3780a.jpg [image: wp_20180325_22_10_31_pro] https://user-images.githubusercontent.com/37766658/37876918-bc29e628-307d-11e8-8469-07405fd95ba4.jpg

pin max30100 vin = pin arduino v3,3 pin max30100 scl = pin arduino scl ( 4,7 R ) pin max30100 sda = pin arduino sda ( 4,7 R ) pin max30100 int = pin arduino d2 ( 4,7 R ) pin max30100 GND = pin arduino GND

can you help me ??? :(

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub https://github.com/oxullo/Arduino-MAX30100/issues/51#issuecomment-490046649, or mute the thread https://github.com/notifications/unsubscribe-auth/ADNC5ZVROSCG6V3AEKTQ73TPUFUGHANCNFSM4EXIYC2A .

mguo46 commented 5 years ago

@FelipeMdeO yes, I used 4.7K , sorry, wrong typing.

sarath341 commented 4 years ago

I Connected Vin of Sensor to 5V and it solved my Arduino Nano from resetting (Port Keeps Disconnecting)

arsa281197 commented 4 years ago

I am use it vin -> 3.3V gnd -> gnd scl -> scl (4.7 kOhm parallel pullup connected to 3.3v) sdl -> sdl (4.7 kOhm parallel pullup connected to 3.3v) but not work "Initializing MAX30100..FAILED: I2C error" can you help me please

humza-13 commented 4 years ago

Hey i am facing the same issue what i did on test run was i removed smd resistors and then i connected as follows Arduino -> max30100 Vin -> 5v GND-> GND scl -> a5 with 4.7k resistor Sda -> a4 with 4.7k resistor Int -> d2 with 4.7k resistor It was working fine on uno board when i transfer my design on nano it suddenly stopped working and now sensor is not blinking and my serial monitor says intializing but it never starts

vaishnavi160 commented 3 years ago

does anyone facing problem of sensor getting extremely hot ??

ElectronicsInnovation commented 3 years ago

This video might help you, in this video, an Indian guy explained the issue in detail with the help of the max30100 sensor schematic diagram, and solved it in two ways. https://youtu.be/ZqdmA4NAqb0 Max30100 sensor not working