It turns out, oxygenated blood absorbs more infrared light and passes more red light while deoxygenated blood absorbs red light and passes more infrared light. Ultimately, by knowing the time between the increase and decrease of oxygen-rich blood, the device calculates the pulse rate. As the heart relaxes, the volume of oxygenated blood also decreases. When the heart pumps blood, there is an increase in oxygenated blood as a result of having more blood. Both the red light and infrared light is used to measure oxygen levels in the blood. For pulse rate, only the infrared light is needed. The device has two LEDs, one emitting a red light, another emitting infrared light. Having problems with this sensor module? Consider changing to the MAX30102, as it's Arduino-ready in both hardware design and software library.įirst, let me try to explain how the MAX30100 measures pulse rate. But building one wasn’t as easy as I thought. The moment I got my hands on the MAX30100 breakout board, I was ready to create my own Arduino heart rate sensor.