Implementing MAX30100 #11902
Replies: 2 comments
-
for design filter: read also: |
Beta Was this translation helpful? Give feedback.
-
You might be interested in micropython-filters which provides a means of implementing realtime digital filters on STM and RP2 chips. It would be possible to approximate a Butterworth response. |
Beta Was this translation helpful? Give feedback.
Uh oh!
There was an error while loading. Please reload this page.
-
Hello!
I'm trying to make a project that measures SPO2 and heart rate in BPM using a microcontroller running MicroPython to read values. However, I'm looking into the practical implementation of it. I found a driver and a lot of useful information. However, I'm running into a more practical problem and I'm trying to figure out if it can be solved.
The MAX30100 has a sample rate of 50-1000 samples per second, which I assume is too fast for my code. I did some measurements and figured out that it barely is able to cooperate with me. Simply reading data from I2C and appending it to a list for example took 11568us (during one measurement, others are similar). This gives me, if my math is correct and not tired from many hours coding today, the possibility to process about 80 samples per second. However, I am not getting any reasonable values with a sample rate of 50. So what I am looking for is two things:
Bonus question:
This useful website uses a Butterworth filter to filter out values. I have no experience with this filter nor the (seemingly complicated) math behind it. If I want to recalculate the Butterworth constants for a different sampling rate, in this case, 50 hertz, can anyone point me to good references, resources, or websites that help me calculate it? The linked website in the tutorial I just linked seems useful, but to someone who is new to filters, I am just trying to figure out what to put into the boxes...
Thank you for any help!
Beta Was this translation helpful? Give feedback.
All reactions