Close

Choosing a Heart Rate and Pulse Oximetry Sensor

A project log for PreemieAlert

A frugal connected wearable to support caretakers in tending to premature babies #SDGclass2017

ccccccaaaaaaaccccccaaaaaaa 07/26/2017 at 11:470 Comments

One of the device constraints for this project is the size of the monitoring device. Typically premature babies have very small hands and ankles. Hence, choosing the different sensors we privileged size and accuracy.  

We chose the MAX30102 "High-Sensitivity Pulse Oximeter and Heart-Rate Sensor for Wearable Health"  to measure the  Pulse Oximeter and Heart-Rate of the child. 



Source code mostly taken from https://www.digikey.com/en/articles/techzone/2016/oct/maxrefdes117-heart-rate-and-pulse-oximetry-monitor but modified to allow the calculation of  the BPM and SPO2 at the same time. Main problems we currently have are the small size of the ram of the Arduino and trouble determining a correct BPM.

More info on the problems encountered: 

Small Sized Ram: The Arduino Genuino Uno has a Ram of 2kB and the calculations of the BPM/SP02 require 86-96% of the memory. To reduce the ram used we reduced the data stored before averaging to calculate the different measurements. We also refactored the code.  As the monitoring device is paired with a companion object which provides advice to the parents a possible solution would be to send the data directly to the companion and do all the calculations there. The advantages of this method revolve around the scale-able size of the companion object which allows more memory and processing power.  Possible disadvantages include poor connections between the objects. 

Trouble determining the correct BPM:  The BPM calculations used to work correctly at the start when measuring it alone. Perhaps the sensor was damaged, however as we have followed the simple instructions that come with it we are not sure. A second sensor is arriving in a few days time so this question should be resolved. We also tried different codes and measuring the BPM on its own (after combining it to test it) to no avail. 

Discussions