MAX30102 bad readings

Hello, I’m using the MAX30102 sensor to get heartbeat and oxigen saturation values but very often the values skip from let’s say if the value is 90 Bpm it goes to 60, 90, 200, 50 and so on, here’s the output of my serial monitor, the plotter shows a nice graph but it goes up and down the scale.

Press any key to start conversion
Time~~ SpO2 HR SpO2_MX HR_MX Clock Ratio Corr~~
~~ 1 -999.00 -999 29.19 107 0:0:1 0.43 0.99~~
~~ 2 -999.00 -999 14.99 107 0:0:2 0.33 0.93~~
~~ 2 -999.00 -999 33.64 107 0:0:2 0.26 0.98~~
~~ 2 -999.00 -999 79.54 51 0:0:2 -0.27 0.93~~
~~ 8 -999.00 -999 75.07 68 0:0:8 -0.14 0.79~~
~~ 8 -999.00 -999 91.89 107 0:0:8 0.09 0.70~~
~~ 9 59.89 107 -999.00 -999 0:0:9 0.51 0.91~~
~~ 9 -999.00 -999 63.20 136 0:0:9 0.51 0.48~~
~~ 9 -999.00 -999 3.49 60 0:0:9 0.07 0.88~~
~~ 11 -999.00 -999 44.12 20 0:0:11 0.47 0.89~~
~~ 11 57.63 51 -999.00 115 0:0:11 0.53 0.84~~
~~ 11 87.51 51 99.95 83 0:0:11 0.77 0.84~~
~~ 15 -999.00 -999 78.31 107 0:0:15 0.12 0.93~~
~~ 15 -999.00 -999 51.86 62 0:0:15 0.17 0.94~~
~~ 17 -999.00 -999 72.32 107 0:0:17 -0.22 0.97~~
~~ 18 7.87 107 -999.00 107 0:0:18 0.50 0.93~~
~~ 18 -999.00 -999 50.92 115 0:0:18 0.50 0.76~~
~~ 21 -999.00 -999 40.03 53 0:0:21 -0.28 0.79~~
~~ 24 -999.00 -999 77.68 32 0:0:24 0.39 0.75~~
~~ 25 -999.00 -999 98.85 125 0:0:25 0.39 0.43~~
~~ 29 -999.00 -999 91.89 60 0:0:29 -0.31 0.88~~
~~ 31 93.04 107 -999.00 -999 0:0:31 0.55 0.95~~
~~ 33 -999.00 -999 33.64 32 0:0:33 0.33 0.89~~
~~ 33 -999.00 -999 94.34 57 0:0:33 0.00 0.83~~
~~ 33 -999.00 -999 81.32 115 0:0:33 0.37 0.94~~
~~ 34 -999.00 -999 94.01 115 0:0:34 0.37 0.77~~
~~ 35 -999.00 -999 29.19 83 0:0:35 -0.05 1.00~~
~~ 35 -999.00 -999 42.10 115 0:0:35 -0.06 0.94~~
~~ 36 -999.00 -999 41.07 83 0:0:36 -0.05 1.00~~
~~ 36 52.17 107 44.12 107 0:0:36 0.53 0.91~~
~~ 36 47.22 107 38.99 83 0:0:36 0.54 0.92~~
~~ 36 -999.00 -999 24.60 107 0:0:36 0.47 0.85~~
~~ 38 -999.00 -999 28.06 57 0:0:38 0.02 0.98~~
~~ 38 -999.00 -999 99.48 107 0:0:38 -0.07 0.91~~
~~ 39 -999.00 -999 87.62 78 0:0:39 0.40 0.94~~
~~ 39 -999.00 -999 77.04 107 0:0:39 -0.07 0.92~~
~~ 40 -999.00 -999 65.60 107 0:0:40 -0.07 1.00~~

I found there is some kind of error with the maxim algorithm, does anybody have a solution for this issue besides this one? (has a bug for frequencies above 60bpm)
GitHub - aromring/MAX30102_by_RF: Arduino C code for MAX30102 pulse oximetry sensor (MAXIM Integrated, Inc.)
Also I tried the connections from the manufacturer and with or without resistors/capacitor the values are all the same and yes I’m using a rubber band to apply the same pressure :frowning: thanks guys

We can’t see your code.
Don’t forget the code tags.
(We mostly can’t see your readings either)

I think you are getting just random values from your sensors.

Either your sensor is not interfaced correctly or your plugs attached with human body are not correctly reading the values. it happens a lot in such projects so place your electrodes correctly on the body. Double check them.

Moreover, share your code and serial data properly, so that others could understand.