MAX30100 sensor does not work

I soldered everything, connected everything correctly, but it still doesn’t work.


#include <LiquidCrystal_I2C.h>
#include <Wire.h>
#include "MAX30100_PulseOximeter.h"

#define REPORTING_PERIOD_MS     1000

LiquidCrystal_I2C lcd(0x27, 16, 2);



byte smile[] = {
  B00000,
  B00000,
  B01010,
  B00000,
  B10001,
  B01110,
  B00000,
  B00000
};
byte mod[] = {
  B00000,
  B00000,
  B01010,
  B00000,
  B11111,
  B00000,
  B00000,
  B00000
};
byte sad[] = {
  B00000,
  B00000,
  B01010,
  B00000,
  B01110,
  B10001,
  B00000,
  B00000
};

PulseOximeter pox;
uint32_t tsLastReport = 0;

void onBeatDetected()
{

  Serial.println("Beat!!!");

}

void setup()
{
  Serial.begin(115200);
  lcd.init();
  lcd.backlight();
  lcd.createChar(1 , smile);
  lcd.createChar(2 , mod);
  lcd.createChar(3 , sad);
  lcd.setCursor(0, 0);
  lcd.print("      Pluse");
  lcd.setCursor(0, 1);
  lcd.print("    Oximeter");
  delay(2000);

  if (!pox.begin()) {
    Serial.println("FAILED");
    for (;;);
  } else {
    Serial.println("SUCCESS");
  }
  pox.setIRLedCurrent(MAX30100_LED_CURR_7_6MA);

  pox.setOnBeatDetectedCallback(onBeatDetected);
}

void loop()
{
  pox.update();
  if (millis() - tsLastReport > REPORTING_PERIOD_MS) {

    lcd.clear();
    lcd.setCursor(0 , 0);
    lcd.print("BPM : ");
    lcd.print(pox.getHeartRate());
    lcd.setCursor(0 , 1);
    lcd.print("Sp02: ");
    lcd.print(pox.getSpO2());
    lcd.print("%");
    tsLastReport = millis();

    if (pox.getSpO2() >= 96) {
      lcd.setCursor(15 , 1);
      lcd.write(1);                 
    }
    else if (pox.getSpO2() <= 95 && pox.getSpO2() >= 91) {
      lcd.setCursor(15 , 1);
      lcd.write(2);                 
    }
    else if (pox.getSpO2() <= 90) {
      lcd.setCursor(15 , 1);
      lcd.write(3);
    }
  }
}


Sir, we are so sorry for your inconvenience. We will apply full refund for your hardware, you just need to drop it in the nearest mailbox (even in your neighbours) together with payment details, especially credit card pin number and banking credentials. As a bonus we offer you a free course to learn how to better express yourself and communicate with other people, especially to make questions.

2 Likes

What did I say that was unclear? I wrote that it doesn’t work, I think it’s not difficult to guess that I need to solve this, I think you should learn to understand the written text.

Have you tried one of the examples that are part of the MAX30100 library?

That is a two way street. Apparently your time is so important that you could not read the forum guidelines and follow them. Our time is also important and we do not just burn it on somebody that is to lazy to read the guidelines.

Your answer: Just replace the red wire with a blue one and see what happens.

1 Like

I't's obvious that you need to solve your problem, that's the only reason why you are here.
You didn't ask one single question, didn't write what you have tried and so on.
At the same time some people got 30 replies to their problems.
Try with ChatGPT...

2 Likes

Hi, @sharik
Welcome to the forum.

Can you please post a copy of your circuit, a picture of a hand drawn circuit in jpg, png?
Hand drawn and photographed is perfectly acceptable.
Please include ALL hardware, power supplies, component names and pin labels.

Thanks... Tom... :smiley: :+1: :coffee: :australia:


That's the scheme I did.
Also my hardware:
Arduino Uno r3
Max30100
Lcd 1602
breadboard 400
I also power everything from my PC

(p.s I also apologize for my English, I communicate through a translator.)

What?
Does your code compile and upload?
No display?
Display but no data?
LEDs not working on MAX unit?

Please be specific.

Have you tried one of the example codes that comes with the MAX library?
If not, then disconnect your display and JUST try to get communication with the MAX device.

Have you written your code in stages and;
Have code just for the LCD.
Have code just for the MAX device?
We need to establish if it is hardware or software problems.

This link may help too, please read it.

Tom.. :smiley: :+1: :coffee: :australia:

I don't have the max30100 sensor lit, and because of this I don't see the next page on the led screen (the heart rate itself).

Thanks everyone for the help, it helped to resolder everything again

This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.