Max30102 with Aruino NANO Every

Hi,

I would like to use a Max30102 with an Arduino nano every becouse of its larger memory. But the library does not work with the board. Is there anything I can do to get this going?

if you ask for help, you should provide more / specific information about “what is not working”. Doesn’t it compile or upload or wrong information or can not find device etc. etc.

Hi,

I m her student with the problem.

So we use an arduino nano every with an max 30102 oxymeter to get the Pulls oxygen.

We use the Sparkfun max 3010x Pulse and proximity Sensor libary. Everything from this libary works exept the Spo2 algorithm Wenn i User this algorithm in a Code everything Compiles and runs until something with this libary happens. So for Exemplar all the Code to check if the components are wired runs. But Wenn the Code starts where i want to calculate the oxygen the Code Stopps and the serial monitor Stops. When i only use the basic readings without the Spo2 algorithm everything works so the Spo2 algorithm is the problem. what can i Do?

Tanks for ur answer Noah

thanks

I do not own a Max3102 but looked at the source code. In the files Spo2_algorithm.cpp AND Spo2_alogrithm.h there is an important remark

#if defined(__AVR_ATmega328P__) || defined(__AVR_ATmega168__)
//Arduino Uno doesn't have enough SRAM to store 100 samples of IR led data and red led data in 32-bit format
//To solve this problem, 16-bit MSB of the sampled data will be truncated.  Samples become 16-bit data.

So clearly the memory is constrained. The Arduino Nano Every however does not have an ATmega328p nor ATmega168. It has an ATMega4809. While it has more SRAM than a UNO, it might not be enough. Try to extend the defines to include the atmega409 in both the files (Spo2_algorithm.cpp AND Spo2_alogrithm.h )

#if defined(__AVR_ATmega328P__) || defined(__AVR_ATmega168__) || defined(__AVR_ATmega4809__)

Hi paulvha,

I have recently work on a project with MAX30102 sensor. I used ESP32 with MAX30102 sensor to get the SPO2 value. But when I verify the code in Arduino IDE it was shown error I2C… not declared on the scope. For few modifications like the changes of ESP32 pin number 21 and 22 instead of Arduino 13 and 11 and in I2C section. It was uploaded but the values are not much accurate. It hang around (100-98) only, and Heart Rate much Higher (150-166).

Now I going to change some modifications in the light intensity and frequency. At this time it was showing error on that same I2C line (line number 64)in the void setup.

I was again going to set all the values as default as previous when the code is working but the problem was still same. So will the problem is in the code or in the MAX30102 sensor? Or the problem arise from Arduino IDE?

Please help

An ESP32 has Wire / Wire1 defined by default. The correct pins are defined as SDA or SCL (capitals) in the variant folder for your board. But you can overrule those with SetPins() before calling begin.

I have tried to compile the example8 and that worked without an error message. But as I do not own a Max30102 I can not test. Check that you have the latest ESP32 version ( 3.0.4 at this moment) and remove any of the other/older ( e.g. Sparkfun ESP32 versions).