A Pulse Oximeter is a very useful and affordable medical device that clamps on one of your fingers. A typical pulse oximeter incorporates a quick and easy way of measuring your heart rate as well as calculating the blood oxygen saturation!
A few months ago, I bought a few pulse oximeters from different online vendors and on the outside they all looked similar. I quickly opened one up to find what’s inside. In this tutorial I’ll be able to briefly explain how a pulse oximeter works and how to make sense of the electronics running in the background!
Fingertip Pulse Oximeter – Quick Intro!
A Fingertip pulse oximeter is a portable electronic device that has become common everyday medical equipment. After a few seconds of being applied to a finger, the unit gives readings but takes a few seconds to get a baseline reading and calibrate the sensor levels. The common fingertip pulse oximeter is battery powered and self-contained with the oxygen level displayed on a built-in multicolour display along with heartrate. Note that pulse oximetry is the non-invasive measurement of the oxygen saturation (SpO). Oxygen saturation is defined as the amount of oxygen dissolved in blood, based on the detection of Haemoglobin (Hb) and Deoxyhaemoglobin (HbO)2).
Fingertip Pulse Oximeter – What’s Inside?
The plastic jaw of the pulse oximeter holds a finger between an upper housing and lower housing that are connected by a pair of asymmetrical pivot hinges that connect a hole on the top with a slot on the bottom. The bottom housing contains a pair of batteries and a light source, while the top housing contains the main printed circuit board.
There is not much to see in the lower housing as there’s a small plastic lid that can be poked loose to reveal the battery contacts and solder points for four wires.
The upper housing has all the core components of the electronic circuitry. Here’s the inside view of the top housing with the main PCB and the vivid OLED display panel. The single button switch is for powering on the system and adjusting the display rotation.
As you can clearly see, the brain of the system is a relatively large microcontroller, but there is no shortcut to find its real part number. On the right of the microcontroller is a switched regulator circuit centered on a 3-pin chip and an SMD inductor. Next to that segment is an empty area reserved for an SMD piezo buzzer. The final key component is the 8-pin chip which’s a rail-to-rail op-amp RS622 (https://datasheet.lcsc.com/szlcsc/2010160334_Jiangsu-RUNIC-Tech-RS622XM_C237015.pdf). Note, for some reason the bottom of the PCB has not been examined yet.
See UART in-circuit programming/debugging pads (VCC / RX / TX / GND) provided near the MCU. The RX line extends from pin 5 and the TX line extends from pin 6 of the MCU.
At this point, it’s good to remember that most Chinese fingerprint pulse oximeter designs usually rely on very inexpensive but feature-packed microcontrollers like those in the STM32 series (32-bit microcontrollers from STMicroelectronics). A few other quite popular microcontrollers now under the same umbrella are:
- C8051F007 (Silicon Labs)
- MSP430 (Texas Instruments)
- NANO102LC2AN (Nuvoton)
Similarly, the OLED display is from an unknown manufacturer, so, nothing more about that now. But of course, the PCB also has a few miscellaneous passive and active components to support the core electronics.
Secrets below and above your fingertip!
A typical pulse oximeter (which also measures heartrate) uses two different light wavelengths – 660nm (RED) and 940nm (IR) – to measure the difference in the absorption spectra of HbO and Hb (Hb absorbs light at 660 nm and HbO at 940 nm). ).
Simply put, infrared and visible light from the LED (light source) mounted in the lower housing is into your finger where the light is transmitted by the haemoglobin and oxyhaemoglobin in your blood. The oxygen saturation percentage is calculated by the microcontroller, based on the levels of absorbance of the light from the source.
Above your finger is a photosensor (light-intensity-to-frequency converter) mounted in the upper housing that outputs a pulse train whose rhythm is directly proportional to the intensity of light that shines on the photosensor. The TSL237 (https://ams.com/documents/20143/36005/TSL237_DS000156_3-00.pdf) is just one of the photosensors broadly used for this application.
To sum up, and as described in an application brief published by Texas Instruments, a standard pulse oximeter uses PPG (https://en.wikipedia.org/wiki/Photoplethysmogram) techniques to detect heart rate and measure the oxygen saturation (%SpO2) of a human’s blood based on the red light and infrared light absorption characteristics of oxygenated and deoxygenated haemoglobin. The pulse oximeter flashes red and infrared lights alternately through a finger to a photodiode. Infrared light gets absorbed by oxygenated haemoglobin while the red light passes through. Alternatively, deoxygenated haemoglobin allows infrared light to pass through and absorbs red light. The photodiode receives the non-absorbed light from each LED. This signal is conditioned using a trans-impedance amplifier which represents the light that has been absorbed by the finger. You can read more at https://www.ti.com/lit/an/scda033a/scda033a.pdf
Now we know a little bit about what happens inside the finger slot of a regular pulse oximeter. As a side note, a finger type pulse oximeter uses transmittance mode photoplethysmography. For an in-depth reading, you can go through this article https://www.mdpi.com/2079-9292/3/2/282/htm
How to build one yourself?
Hopefully, by the end of this session you should be able to know how to build a fingertip pulse oximeter yourself, I won’t go in a lot of details at this time though.
The basic thing you have to do is to connect an appropriate sensor to a microcontroller so that it can read and process the data, but it’s not as simple as just interfacing the bare sensor to the microcontroller!
If you have a dedicated pulse oximeter sensor module (like the MAX3010x) handy, it’s too easy to go ahead with the idea of building an Arduino pulse oximeter yourself. There’re a variety of pulse oximeter sensor modules and breakout boards in the market – read this post https://www.electroschemics.com/heart-rate-sensor/
So, it seems Maxim’s MAX30100 is the most popular pulse oximeter sensor widely used by electronics hobbyists and makers. Other notable sensors in this series are MAX30102 (see below) and MAX30105.
The MAX30100 is an integrated pulse oximetry and heartrate monitor sensor solution. It combines two light emitting diodes, a photodetector, optimized optics, and low-noise analog signal processing to detect pulse oximetry and heart-rate signals (https://datasheets.maximintegrated.com/en/ds/MAX30100.pdf).
This is the most common MAX30100 module (RCWL-0530). Apart from the MAX30100 sensor, this 7-pin module holds two positive voltage regulators (3.3V and 1.8V) onboard.
Note that there are two widely available MAX30100 breakout boards in the market. Next is the 5-pin version – the GY-MAX30100 module.
You can use both MAX30100 modules to make your own Arduino Pulse Oximeter, the latter seems to be the best. Also, as usual, countless Arduino tutorials and dedicated Arduino libraries are available throughout the web (https://giybf.com/).
Hello Pulse Express!
ProtoCentral Pulse Express is a great breakout board with integrated high-sensitivity optical sensor MAX30102 and a biometric sensor hub MAX32664D as well!
Integrating Maxim’s MAX32664-Version D (https://datasheets.maximintegrated.com/en/ds/MAX32664.pdf)
makes Pulse Express unique, with an internal algorithm that works to measure different data as you start. With its built-in low power capability, the board is suitable for wearable electronics applications (https://github.com/Protocentral/protocentral-pulse-express). Ready for a try?
As it turns out, nowadays you can make your own fingertip pulse oximeter using an Arduino microcontroller and an appropriate pulse oximeter sensor module. There’s nothing to be afraid of, so go ahead and do it. Stop in next week for more design thoughts!