{"product_id":"max30102-blood-oxygen-concentration-wrist-heart-rate-pulse-detection-heartbeat-sensor-module-stm32-sensor-in-pakistan","title":"Spo2 Max30102 Blood Oxygen Concentration Sensor PPG Sensor","description":"\u003cp data-sourcepos=\"5:1-5:259\"\u003eThe MAX30102 Blood Oxygen Sensor Module is a high-performance device for measuring heart rate and blood oxygen saturation. With its integrated red and infrared LEDs, photodetector, and advanced algorithms, the MAX30102 provides accurate and reliable readings.\u003c\/p\u003e\n\u003cp data-sourcepos=\"7:1-7:17\"\u003e\u003cstrong\u003eKey Features:\u003c\/strong\u003e\u003c\/p\u003e\n\u003cul data-sourcepos=\"9:1-9:100\"\u003e\n\u003cli data-sourcepos=\"9:1-9:100\"\u003e\n\u003cstrong\u003eAccurate Heart Rate and Blood Oxygen Measurement:\u003c\/strong\u003e Monitor vital health metrics with precision.\u003c\/li\u003e\n\u003cli data-sourcepos=\"10:1-10:66\"\u003e\n\u003cstrong\u003eLow Power Consumption:\u003c\/strong\u003e Suitable for battery-powered devices.\u003c\/li\u003e\n\u003cli data-sourcepos=\"11:1-11:93\"\u003e\n\u003cstrong\u003eI2C Interface:\u003c\/strong\u003e Easily integrate with microcontrollers for data collection and analysis.\u003c\/li\u003e\n\u003cli data-sourcepos=\"12:1-12:1\"\u003e\n\u003cstrong\u003eAmbient Light Suppression:\u003c\/strong\u003e Ensures accurate readings even in challenging lighting conditions.\u003c\/li\u003e\n\u003cli data-sourcepos=\"13:1-14:0\"\u003e\n\u003cstrong\u003eDurable Construction:\u003c\/strong\u003e Built to last for long-term use.\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003cp data-sourcepos=\"15:1-15:133\"\u003e\u003cstrong\u003eUpgrade your health monitoring projects with the MAX30102 Blood Oxygen Sensor Module and gain valuable insights into your health.\u003c\/strong\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cbr bis_size='{\"x\":57,\"y\":1256,\"w\":0,\"h\":21,\"abs_x\":393,\"abs_y\":1655}'\u003e \u003c\/p\u003e\n\u003cp bis_size='{\"x\":17,\"y\":1317,\"w\":654,\"h\":22,\"abs_x\":353,\"abs_y\":1716}'\u003eCode:\u003c\/p\u003e\n\u003cdiv bis_size='{\"x\":17,\"y\":1355,\"w\":654,\"h\":3225,\"abs_x\":353,\"abs_y\":1754}'\u003e\n\u003cblockquote bis_size='{\"x\":41,\"y\":1355,\"w\":590,\"h\":975,\"abs_x\":377,\"abs_y\":1754}'\u003e\n\u003cp bis_size='{\"x\":59,\"y\":1355,\"w\":572,\"h\":44,\"abs_x\":395,\"abs_y\":1754}'\u003e#include \u0026lt;Wire.h\u0026gt;\u003cbr bis_size='{\"x\":191,\"y\":1355,\"w\":0,\"h\":21,\"abs_x\":527,\"abs_y\":1754}'\u003e#include \"MAX30105.h\"\u003c\/p\u003e\n\u003cp bis_size='{\"x\":59,\"y\":1416,\"w\":572,\"h\":22,\"abs_x\":395,\"abs_y\":1815}'\u003eMAX30105 particleSensor; \/\/ initialize MAX30102 with I2C\u003c\/p\u003e\n\u003cp bis_size='{\"x\":59,\"y\":1454,\"w\":572,\"h\":358,\"abs_x\":395,\"abs_y\":1853}'\u003evoid setup()\u003cbr bis_size='{\"x\":142,\"y\":1454,\"w\":0,\"h\":21,\"abs_x\":478,\"abs_y\":1853}'\u003e{\u003cbr bis_size='{\"x\":63,\"y\":1477,\"w\":0,\"h\":21,\"abs_x\":399,\"abs_y\":1876}'\u003e  Serial.begin(115200);\u003cbr bis_size='{\"x\":214,\"y\":1499,\"w\":0,\"h\":21,\"abs_x\":550,\"abs_y\":1898}'\u003e  while(!Serial); \/\/We must wait for Teensy to come online\u003cbr bis_size='{\"x\":459,\"y\":1522,\"w\":0,\"h\":21,\"abs_x\":795,\"abs_y\":1921}'\u003e  delay(100);\u003cbr bis_size='{\"x\":144,\"y\":1544,\"w\":0,\"h\":21,\"abs_x\":480,\"abs_y\":1943}'\u003e  Serial.println(\"\");\u003cbr bis_size='{\"x\":181,\"y\":1566,\"w\":0,\"h\":21,\"abs_x\":517,\"abs_y\":1965}'\u003e  Serial.println(\"MAX30102\");\u003cbr bis_size='{\"x\":258,\"y\":1589,\"w\":0,\"h\":21,\"abs_x\":594,\"abs_y\":1988}'\u003e  Serial.println(\"\");\u003cbr bis_size='{\"x\":181,\"y\":1611,\"w\":0,\"h\":21,\"abs_x\":517,\"abs_y\":2010}'\u003e  delay(100);\u003cbr bis_size='{\"x\":144,\"y\":1634,\"w\":0,\"h\":21,\"abs_x\":480,\"abs_y\":2033}'\u003e  \/\/ Initialize sensor\u003cbr bis_size='{\"x\":192,\"y\":1656,\"w\":0,\"h\":21,\"abs_x\":528,\"abs_y\":2055}'\u003e  if (particleSensor.begin(Wire, I2C_SPEED_FAST) == false) \/\/Use default I2C port, 400kHz speed\u003cbr bis_size='{\"x\":158,\"y\":1701,\"w\":0,\"h\":21,\"abs_x\":494,\"abs_y\":2100}'\u003e  {\u003cbr bis_size='{\"x\":72,\"y\":1723,\"w\":0,\"h\":21,\"abs_x\":408,\"abs_y\":2122}'\u003e    Serial.println(\"MAX30105 was not found. Please check wiring\/power. \");\u003cbr bis_size='{\"x\":575,\"y\":1746,\"w\":0,\"h\":21,\"abs_x\":911,\"abs_y\":2145}'\u003e    while (1);\u003cbr bis_size='{\"x\":139,\"y\":1768,\"w\":0,\"h\":21,\"abs_x\":475,\"abs_y\":2167}'\u003e  }\u003c\/p\u003e\n\u003cp bis_size='{\"x\":59,\"y\":1829,\"w\":572,\"h\":134,\"abs_x\":395,\"abs_y\":2228}'\u003e  byte ledBrightness = 70; \/\/Options: 0=Off to 255=50mA\u003cbr bis_size='{\"x\":462,\"y\":1829,\"w\":0,\"h\":21,\"abs_x\":798,\"abs_y\":2228}'\u003e  byte sampleAverage = 1; \/\/Options: 1, 2, 4, 8, 16, 32\u003cbr bis_size='{\"x\":431,\"y\":1851,\"w\":0,\"h\":21,\"abs_x\":767,\"abs_y\":2250}'\u003e  byte ledMode = 2; \/\/Options: 1 = Red only, 2 = Red + IR, 3 = Red + IR + Green\u003cbr bis_size='{\"x\":623,\"y\":1874,\"w\":0,\"h\":21,\"abs_x\":959,\"abs_y\":2273}'\u003e  int sampleRate = 400; \/\/Options: 50, 100, 200, 400, 800, 1000, 1600, 3200\u003cbr bis_size='{\"x\":581,\"y\":1896,\"w\":0,\"h\":21,\"abs_x\":917,\"abs_y\":2295}'\u003e  int pulseWidth = 69; \/\/Options: 69, 118, 215, 411\u003cbr bis_size='{\"x\":410,\"y\":1918,\"w\":0,\"h\":21,\"abs_x\":746,\"abs_y\":2317}'\u003e  int adcRange = 16384; \/\/Options: 2048, 4096, 8192, 16384\u003c\/p\u003e\n\u003cp bis_size='{\"x\":59,\"y\":1979,\"w\":572,\"h\":67,\"abs_x\":395,\"abs_y\":2378}'\u003e  particleSensor.setup(ledBrightness, sampleAverage, ledMode, sampleRate, pulseWidth, adcRange); \/\/Configure sensor with these settings\u003cbr bis_size='{\"x\":497,\"y\":2002,\"w\":0,\"h\":21,\"abs_x\":833,\"abs_y\":2401}'\u003e}\u003c\/p\u003e\n\u003cp bis_size='{\"x\":59,\"y\":2062,\"w\":572,\"h\":268,\"abs_x\":395,\"abs_y\":2461}'\u003evoid loop() {\u003cbr bis_size='{\"x\":144,\"y\":2062,\"w\":0,\"h\":21,\"abs_x\":480,\"abs_y\":2461}'\u003e  particleSensor.check(); \/\/Check the sensor\u003cbr bis_size='{\"x\":361,\"y\":2085,\"w\":0,\"h\":21,\"abs_x\":697,\"abs_y\":2484}'\u003e  while (particleSensor.available()) {\u003cbr bis_size='{\"x\":302,\"y\":2107,\"w\":0,\"h\":21,\"abs_x\":638,\"abs_y\":2506}'\u003e      \/\/ read stored IR\u003cbr bis_size='{\"x\":201,\"y\":2130,\"w\":0,\"h\":21,\"abs_x\":537,\"abs_y\":2529}'\u003e      Serial.print(particleSensor.getFIFOIR());\u003cbr bis_size='{\"x\":355,\"y\":2152,\"w\":0,\"h\":21,\"abs_x\":691,\"abs_y\":2551}'\u003e      Serial.print(\",\");\u003cbr bis_size='{\"x\":189,\"y\":2174,\"w\":0,\"h\":21,\"abs_x\":525,\"abs_y\":2573}'\u003e      \/\/ read stored red\u003cbr bis_size='{\"x\":210,\"y\":2197,\"w\":0,\"h\":21,\"abs_x\":546,\"abs_y\":2596}'\u003e      Serial.println(particleSensor.getFIFORed());\u003cbr bis_size='{\"x\":381,\"y\":2219,\"w\":0,\"h\":21,\"abs_x\":717,\"abs_y\":2618}'\u003e      \/\/ read next set of samples\u003cbr bis_size='{\"x\":273,\"y\":2242,\"w\":0,\"h\":21,\"abs_x\":609,\"abs_y\":2641}'\u003e      particleSensor.nextSample();      \u003cbr bis_size='{\"x\":310,\"y\":2264,\"w\":0,\"h\":21,\"abs_x\":646,\"abs_y\":2663}'\u003e  }\u003cbr bis_size='{\"x\":72,\"y\":2286,\"w\":0,\"h\":21,\"abs_x\":408,\"abs_y\":2685}'\u003e}\u003c\/p\u003e\n\u003c\/blockquote\u003e\n\u003cblockquote bis_size='{\"x\":41,\"y\":2347,\"w\":590,\"h\":2194,\"abs_x\":377,\"abs_y\":2746}'\u003e\n\u003cp bis_size='{\"x\":59,\"y\":2347,\"w\":572,\"h\":44,\"abs_x\":395,\"abs_y\":2746}'\u003eSecond code:\u003cbr bis_size='{\"x\":153,\"y\":2347,\"w\":0,\"h\":21,\"abs_x\":489,\"abs_y\":2746}'\u003e \u003c\/p\u003e\n\u003cp bis_size='{\"x\":59,\"y\":2408,\"w\":572,\"h\":111,\"abs_x\":395,\"abs_y\":2807}'\u003e\/*\u003cbr bis_size='{\"x\":71,\"y\":2408,\"w\":0,\"h\":21,\"abs_x\":407,\"abs_y\":2807}'\u003e  Optical Heart Rate Detection (PBA Algorithm) using the MAX30105 Breakout\u003cbr bis_size='{\"x\":606,\"y\":2430,\"w\":0,\"h\":21,\"abs_x\":942,\"abs_y\":2829}'\u003e  By: Nathan Seidle @ SparkFun Electronics\u003cbr bis_size='{\"x\":360,\"y\":2453,\"w\":0,\"h\":21,\"abs_x\":696,\"abs_y\":2852}'\u003e  Date: October 2nd, 2016\u003cbr bis_size='{\"x\":240,\"y\":2475,\"w\":0,\"h\":21,\"abs_x\":576,\"abs_y\":2874}'\u003e  https:\/\/github.com\/sparkfun\/MAX30105_Breakout\u003c\/p\u003e\n\u003cp bis_size='{\"x\":59,\"y\":2536,\"w\":572,\"h\":67,\"abs_x\":395,\"abs_y\":2935}'\u003e  This is a demo to show the reading of heart rate or beats per minute (BPM) using\u003cbr bis_size='{\"x\":97,\"y\":2558,\"w\":0,\"h\":21,\"abs_x\":433,\"abs_y\":2957}'\u003e  a Penpheral Beat Amplitude (PBA) algorithm.\u003c\/p\u003e\n\u003cp bis_size='{\"x\":59,\"y\":2619,\"w\":572,\"h\":134,\"abs_x\":395,\"abs_y\":3018}'\u003e  It is best to attach the sensor to your finger using a rubber band or other tightening\u003cbr bis_size='{\"x\":131,\"y\":2641,\"w\":0,\"h\":21,\"abs_x\":467,\"abs_y\":3040}'\u003e  device. Humans are generally bad at applying constant pressure to a thing. When you\u003cbr bis_size='{\"x\":130,\"y\":2686,\"w\":0,\"h\":21,\"abs_x\":466,\"abs_y\":3085}'\u003e  press your finger against the sensor it varies enough to cause the blood in your\u003cbr bis_size='{\"x\":626,\"y\":2709,\"w\":0,\"h\":21,\"abs_x\":962,\"abs_y\":3108}'\u003e  finger to flow differently which causes the sensor readings to go wonky.\u003c\/p\u003e\n\u003cp bis_size='{\"x\":59,\"y\":2769,\"w\":572,\"h\":134,\"abs_x\":395,\"abs_y\":3168}'\u003e  Hardware Connections (Breakoutboard to Arduino):\u003cbr bis_size='{\"x\":430,\"y\":2769,\"w\":0,\"h\":21,\"abs_x\":766,\"abs_y\":3168}'\u003e  -5V = 5V (3.3V is allowed)\u003cbr bis_size='{\"x\":249,\"y\":2792,\"w\":0,\"h\":21,\"abs_x\":585,\"abs_y\":3191}'\u003e  -GND = GND\u003cbr bis_size='{\"x\":162,\"y\":2814,\"w\":0,\"h\":21,\"abs_x\":498,\"abs_y\":3213}'\u003e  -SDA = A4 (or SDA)\u003cbr bis_size='{\"x\":205,\"y\":2837,\"w\":0,\"h\":21,\"abs_x\":541,\"abs_y\":3236}'\u003e  -SCL = A5 (or SCL)\u003cbr bis_size='{\"x\":198,\"y\":2859,\"w\":0,\"h\":21,\"abs_x\":534,\"abs_y\":3258}'\u003e  -INT = Not connected\u003c\/p\u003e\n\u003cp bis_size='{\"x\":59,\"y\":2920,\"w\":572,\"h\":89,\"abs_x\":395,\"abs_y\":3319}'\u003e  The MAX30105 Breakout can handle 5V or 3.3V I2C logic. We recommend powering the board with 5V\u003cbr bis_size='{\"x\":256,\"y\":2942,\"w\":0,\"h\":21,\"abs_x\":592,\"abs_y\":3341}'\u003e  but it will also run at 3.3V.\u003cbr bis_size='{\"x\":249,\"y\":2965,\"w\":0,\"h\":21,\"abs_x\":585,\"abs_y\":3364}'\u003e*\/\u003c\/p\u003e\n\u003cp bis_size='{\"x\":59,\"y\":3025,\"w\":572,\"h\":44,\"abs_x\":395,\"abs_y\":3424}'\u003e#include \u0026lt;Wire.h\u0026gt;\u003cbr bis_size='{\"x\":191,\"y\":3025,\"w\":0,\"h\":21,\"abs_x\":527,\"abs_y\":3424}'\u003e#include \"MAX30105.h\"\u003c\/p\u003e\n\u003cp bis_size='{\"x\":59,\"y\":3086,\"w\":572,\"h\":22,\"abs_x\":395,\"abs_y\":3485}'\u003e#include \"heartRate.h\"\u003c\/p\u003e\n\u003cp bis_size='{\"x\":59,\"y\":3125,\"w\":572,\"h\":22,\"abs_x\":395,\"abs_y\":3524}'\u003eMAX30105 particleSensor;\u003c\/p\u003e\n\u003cp bis_size='{\"x\":59,\"y\":3163,\"w\":572,\"h\":89,\"abs_x\":395,\"abs_y\":3562}'\u003econst byte RATE_SIZE = 4; \/\/Increase this for more averaging. 4 is good.\u003cbr bis_size='{\"x\":561,\"y\":3163,\"w\":0,\"h\":21,\"abs_x\":897,\"abs_y\":3562}'\u003ebyte rates[RATE_SIZE]; \/\/Array of heart rates\u003cbr bis_size='{\"x\":366,\"y\":3185,\"w\":0,\"h\":21,\"abs_x\":702,\"abs_y\":3584}'\u003ebyte rateSpot = 0;\u003cbr bis_size='{\"x\":186,\"y\":3208,\"w\":0,\"h\":21,\"abs_x\":522,\"abs_y\":3607}'\u003elong lastBeat = 0; \/\/Time at which the last beat occurred\u003c\/p\u003e\n\u003cp bis_size='{\"x\":59,\"y\":3269,\"w\":572,\"h\":44,\"abs_x\":395,\"abs_y\":3668}'\u003efloat beatsPerMinute;\u003cbr bis_size='{\"x\":209,\"y\":3269,\"w\":0,\"h\":21,\"abs_x\":545,\"abs_y\":3668}'\u003eint beatAvg;\u003c\/p\u003e\n\u003cp bis_size='{\"x\":59,\"y\":3329,\"w\":572,\"h\":89,\"abs_x\":395,\"abs_y\":3728}'\u003evoid setup()\u003cbr bis_size='{\"x\":142,\"y\":3329,\"w\":0,\"h\":21,\"abs_x\":478,\"abs_y\":3728}'\u003e{\u003cbr bis_size='{\"x\":63,\"y\":3352,\"w\":0,\"h\":21,\"abs_x\":399,\"abs_y\":3751}'\u003e  Serial.begin(115200);\u003cbr bis_size='{\"x\":214,\"y\":3374,\"w\":0,\"h\":21,\"abs_x\":550,\"abs_y\":3773}'\u003e  Serial.println(\"Initializing...\");\u003c\/p\u003e\n\u003cp bis_size='{\"x\":59,\"y\":3435,\"w\":572,\"h\":179,\"abs_x\":395,\"abs_y\":3834}'\u003e  \/\/ Initialize sensor\u003cbr bis_size='{\"x\":192,\"y\":3435,\"w\":0,\"h\":21,\"abs_x\":528,\"abs_y\":3834}'\u003e  if (!particleSensor.begin(Wire, I2C_SPEED_FAST)) \/\/Use default I2C port, 400kHz speed\u003cbr bis_size='{\"x\":101,\"y\":3480,\"w\":0,\"h\":21,\"abs_x\":437,\"abs_y\":3879}'\u003e  {\u003cbr bis_size='{\"x\":72,\"y\":3502,\"w\":0,\"h\":21,\"abs_x\":408,\"abs_y\":3901}'\u003e    Serial.println(\"MAX30105 was not found. Please check wiring\/power. \");\u003cbr bis_size='{\"x\":575,\"y\":3525,\"w\":0,\"h\":21,\"abs_x\":911,\"abs_y\":3924}'\u003e    while (1);\u003cbr bis_size='{\"x\":139,\"y\":3547,\"w\":0,\"h\":21,\"abs_x\":475,\"abs_y\":3946}'\u003e  }\u003cbr bis_size='{\"x\":72,\"y\":3569,\"w\":0,\"h\":21,\"abs_x\":408,\"abs_y\":3968}'\u003e  Serial.println(\"Place your index finger on the sensor with steady pressure.\");\u003c\/p\u003e\n\u003cp bis_size='{\"x\":59,\"y\":3630,\"w\":572,\"h\":111,\"abs_x\":395,\"abs_y\":4029}'\u003e  particleSensor.setup(); \/\/Configure sensor with default settings\u003cbr bis_size='{\"x\":507,\"y\":3630,\"w\":0,\"h\":21,\"abs_x\":843,\"abs_y\":4029}'\u003e  particleSensor.setPulseAmplitudeRed(0x0A); \/\/Turn Red LED to low to indicate sensor is running\u003cbr bis_size='{\"x\":179,\"y\":3675,\"w\":0,\"h\":21,\"abs_x\":515,\"abs_y\":4074}'\u003e  particleSensor.setPulseAmplitudeGreen(0); \/\/Turn off Green LED\u003cbr bis_size='{\"x\":516,\"y\":3697,\"w\":0,\"h\":21,\"abs_x\":852,\"abs_y\":4096}'\u003e}\u003c\/p\u003e\n\u003cp bis_size='{\"x\":59,\"y\":3758,\"w\":572,\"h\":67,\"abs_x\":395,\"abs_y\":4157}'\u003evoid loop()\u003cbr bis_size='{\"x\":135,\"y\":3758,\"w\":0,\"h\":21,\"abs_x\":471,\"abs_y\":4157}'\u003e{\u003cbr bis_size='{\"x\":63,\"y\":3780,\"w\":0,\"h\":21,\"abs_x\":399,\"abs_y\":4179}'\u003e  long irValue = particleSensor.getIR();\u003c\/p\u003e\n\u003cp bis_size='{\"x\":59,\"y\":3841,\"w\":572,\"h\":111,\"abs_x\":395,\"abs_y\":4240}'\u003e  if (checkForBeat(irValue) == true)\u003cbr bis_size='{\"x\":301,\"y\":3841,\"w\":0,\"h\":21,\"abs_x\":637,\"abs_y\":4240}'\u003e  {\u003cbr bis_size='{\"x\":72,\"y\":3864,\"w\":0,\"h\":21,\"abs_x\":408,\"abs_y\":4263}'\u003e    \/\/We sensed a beat!\u003cbr bis_size='{\"x\":217,\"y\":3886,\"w\":0,\"h\":21,\"abs_x\":553,\"abs_y\":4285}'\u003e    long delta = millis() - lastBeat;\u003cbr bis_size='{\"x\":287,\"y\":3908,\"w\":0,\"h\":21,\"abs_x\":623,\"abs_y\":4307}'\u003e    lastBeat = millis();\u003c\/p\u003e\n\u003cp bis_size='{\"x\":59,\"y\":3969,\"w\":572,\"h\":22,\"abs_x\":395,\"abs_y\":4368}'\u003e    beatsPerMinute = 60 \/ (delta \/ 1000.0);\u003c\/p\u003e\n\u003cp bis_size='{\"x\":59,\"y\":4008,\"w\":572,\"h\":89,\"abs_x\":395,\"abs_y\":4407}'\u003e    if (beatsPerMinute \u0026lt; 255 \u0026amp;\u0026amp; beatsPerMinute \u0026gt; 20)\u003cbr bis_size='{\"x\":437,\"y\":4008,\"w\":0,\"h\":21,\"abs_x\":773,\"abs_y\":4407}'\u003e    {\u003cbr bis_size='{\"x\":81,\"y\":4030,\"w\":0,\"h\":21,\"abs_x\":417,\"abs_y\":4429}'\u003e      rates[rateSpot++] = (byte)beatsPerMinute; \/\/Store this reading in the array\u003cbr bis_size='{\"x\":611,\"y\":4052,\"w\":0,\"h\":21,\"abs_x\":947,\"abs_y\":4451}'\u003e      rateSpot %= RATE_SIZE; \/\/Wrap variable\u003c\/p\u003e\n\u003cp bis_size='{\"x\":59,\"y\":4113,\"w\":572,\"h\":156,\"abs_x\":395,\"abs_y\":4512}'\u003e      \/\/Take average of readings\u003cbr bis_size='{\"x\":272,\"y\":4113,\"w\":0,\"h\":21,\"abs_x\":608,\"abs_y\":4512}'\u003e      beatAvg = 0;\u003cbr bis_size='{\"x\":175,\"y\":4136,\"w\":0,\"h\":21,\"abs_x\":511,\"abs_y\":4535}'\u003e      for (byte x = 0 ; x \u0026lt; RATE_SIZE ; x++)\u003cbr bis_size='{\"x\":342,\"y\":4158,\"w\":0,\"h\":21,\"abs_x\":678,\"abs_y\":4557}'\u003e        beatAvg += rates[x];\u003cbr bis_size='{\"x\":237,\"y\":4180,\"w\":0,\"h\":21,\"abs_x\":573,\"abs_y\":4579}'\u003e      beatAvg \/= RATE_SIZE;\u003cbr bis_size='{\"x\":244,\"y\":4203,\"w\":0,\"h\":21,\"abs_x\":580,\"abs_y\":4602}'\u003e    }\u003cbr bis_size='{\"x\":81,\"y\":4225,\"w\":0,\"h\":21,\"abs_x\":417,\"abs_y\":4624}'\u003e  }\u003c\/p\u003e\n\u003cp bis_size='{\"x\":59,\"y\":4286,\"w\":572,\"h\":134,\"abs_x\":395,\"abs_y\":4685}'\u003e  Serial.print(\"IR=\");\u003cbr bis_size='{\"x\":193,\"y\":4286,\"w\":0,\"h\":21,\"abs_x\":529,\"abs_y\":4685}'\u003e  Serial.print(irValue);\u003cbr bis_size='{\"x\":203,\"y\":4308,\"w\":0,\"h\":21,\"abs_x\":539,\"abs_y\":4707}'\u003e  Serial.print(\", BPM=\");\u003cbr bis_size='{\"x\":219,\"y\":4331,\"w\":0,\"h\":21,\"abs_x\":555,\"abs_y\":4730}'\u003e  Serial.print(beatsPerMinute);\u003cbr bis_size='{\"x\":266,\"y\":4353,\"w\":0,\"h\":21,\"abs_x\":602,\"abs_y\":4752}'\u003e  Serial.print(\", Avg BPM=\");\u003cbr bis_size='{\"x\":251,\"y\":4376,\"w\":0,\"h\":21,\"abs_x\":587,\"abs_y\":4775}'\u003e  Serial.print(beatAvg);\u003c\/p\u003e\n\u003cp bis_size='{\"x\":59,\"y\":4436,\"w\":572,\"h\":44,\"abs_x\":395,\"abs_y\":4835}'\u003e  if (irValue \u0026lt; 50000)\u003cbr bis_size='{\"x\":201,\"y\":4436,\"w\":0,\"h\":21,\"abs_x\":537,\"abs_y\":4835}'\u003e    Serial.print(\" No finger?\");\u003c\/p\u003e\n\u003cp bis_size='{\"x\":59,\"y\":4497,\"w\":572,\"h\":44,\"abs_x\":395,\"abs_y\":4896}'\u003e  Serial.println();\u003cbr bis_size='{\"x\":168,\"y\":4497,\"w\":0,\"h\":21,\"abs_x\":504,\"abs_y\":4896}'\u003e}\u003c\/p\u003e\n\u003c\/blockquote\u003e\n\u003cp bis_size='{\"x\":17,\"y\":4558,\"w\":654,\"h\":22,\"abs_x\":353,\"abs_y\":4957}'\u003e \u003c\/p\u003e\n\u003c\/div\u003e","brand":"China","offers":[{"title":"Default Title","offer_id":43962441039937,"sku":"B119,KRT10,IMP100,Th50,A","price":450.0,"currency_code":"PKR","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0727\/2805\/1777\/files\/MAX30102_blood_oxygen_concentration_wrist_heart_rate_pulse_detection_heartbeat_sensor_module_STM32_sensor_In_Pakistan__3.jpg?v=1779538188","url":"https:\/\/stem.pk\/products\/max30102-blood-oxygen-concentration-wrist-heart-rate-pulse-detection-heartbeat-sensor-module-stm32-sensor-in-pakistan","provider":"stem.pk","version":"1.0","type":"link"}