We are making a simple pulse oximeter device with an Arduino Nano and a MAX30102 sensor.
The problem is the SpO2 reading and processing algorithm of the MAX30102 library literally does signal processing on the Arduino with large arrays of data and because of that, when you do BPM and SpO2, the 2kb memory of the Arduino is already full.
Can you guys give me some advice to overcome this problem?
-
If you mean large lookup tables / reference data, you should say, because that's definitely something worth knowing. More details in any case.timemage– timemage2021年06月14日 11:16:18 +00:00Commented Jun 14, 2021 at 11:16
-
Are you saying it doesn't work with just that library, or are you saying there are other libraries also that make it not work (like an OLED library)?Dave Newton– Dave Newton2021年06月14日 11:17:24 +00:00Commented Jun 14, 2021 at 11:17
-
I meant the arrays that saves data. It takes 4 second of data and process it. That beginning data alone takes 400 bytes of 2k. And it hits %90 of 2kb at spo2,bpm and oled but i still need to add bluetooth.Recep uludağ– Recep uludağ2021年06月14日 13:51:10 +00:00Commented Jun 14, 2021 at 13:51
-
1Which specific library? The linked datasheet does not make any reference to a library.user85471– user854712024年12月10日 21:05:52 +00:00Commented Dec 10, 2024 at 21:05
1 Answer 1
Arduino UNO is not recommended for MAX30102 as it requires a lot of processing and RAM. Consider shifting to Arduino Mega or the ESP32.
-
1In the question they acknowledge the library they're using uses a lot of ram. I think the question is how do they do it on their hardware despite that. If it's fundamentally not doable in less ram, then explaining that might be useful.timemage– timemage2021年10月26日 15:07:17 +00:00Commented Oct 26, 2021 at 15:07