Measuring heart rate and blood oxygen levels for portable medical and wearable devices

June 1, 2014 OpenSystems Media

The changes occurring in the medical and fitness fields, along with their associated electronic and wearable devices, can be called truly revolutionary. The demands of today’s healthcare device markets are many, varied, and challenging. Devices that were once primarily found in hospitals are now used for home medical applications, as well as fitness monitoring.

The capability to measure heart rate and blood oxygen levels is showing up more often now in consumer products. These measurements can be taken using pulse oximeters that are now available as both home-medical devices and as part of integrated wearable fitness activity trackers.

What is oximetry?

Oximetry is the measurement of oxygen saturation in blood, and is usually expressed as a percentage (a normal reading is typically 97 percent or higher). A pulse oximeter is a non-invasive device that measures the oxygen saturation of a person’s blood as well as their heart rate. Pulse oximeters are easily recognized by their associated clip-type probe, which is typically applied to a patient’s finger.

A pulse oximeter can be a stand-alone device, part of a patient-monitoring system, or integrated into a wearable fitness tracker. Accordingly, pulse oximeters are used by nurses in hospitals, outpatients at home, fitness enthusiasts at the gym, and even by pilots in unpressurized aircraft.

Blood oxygen saturation

Blood oxygen saturation is measured by examining hemoglobin, which is the oxygen-carrying pigment of red blood cells that gives them their red color and serves to convey oxygen to the tissues. Hemoglobin is found in two forms. The first is called oxidized (oxy-) hemoglobin, which is denoted as HbO2 (also called “oxygen-loaded”). The second is called reduced-oxygen (deoxy-) hemoglobin, which is denoted as Hb (“oxygen-depleted”).

Blood oxygen saturation (SpO2) is the ratio of oxy-hemoglobin to deoxy-hemoglobin. This can also be expressed as: SpO2=HbO2/(Hb + HbO2).

Measuring blood oxygen saturation

One of the really interesting things about hemoglobin is how it reflects and absorbs light. For example, Hb absorbs more (and reflects less) visible red light. HbO2 absorbs more (and reflects less) infrared light. Since blood oxygen saturation can be determined by comparing the values of Hb and HbO2, one method for doing this is shining both a red LED and an infrared LED through a body part (such as a finger or wrist), and then comparing their relative intensities. There are two common methods of doing this: (1) measuring the light transmitted through tissue is called transmissive oximetry, and (2) measuring the light reflected by tissue is called reflectance oximetry (Figure 1).

Figure 1: Transmissive and reflective oximetry methods.

One example of transmissive pulse oximetry is found in hospitals. Generally, most hospital patient-monitoring systems have an integrated transmissive pulse oximeter. On the other hand, many of the newer, high-end wearable fitness devices utilize the reflectance-pulse-oximetry method.

Measuring pulse rate

When your heart beats it pumps blood through your body. During each heartbeat, the blood gets squeezed into capillaries, whose volume increases very slightly. Between heartbeats, the volume decreases. This change in volume affects the amount of light, such as the amount of red or infrared light, that will transmit through the tissue. Though this fluctuation is very small, it can be measured by a pulse oximeter using the same type of setup that is employed to measure blood oxygen saturation.

Anatomy of an oximeter

Typical pulse oximeters monitor the SpO2 of a person’s blood based on the red light (using a 600-750 nm wavelength) and infrared light (using a 850-1000 nm wavelength) absorption characteristics of HbO2 and Hb. This type of pulse oximeter flashes the red and infrared lights alternately through a body part, such as a finger, to a photodiode sensor.

The photodiode is normally utilized to receive the non-absorbed light from each LED. This signal is then inverted using an inverting operational amplifier, or op amp. The resulting signal represents the light that has been absorbed by the finger (Figure 2).

Figure 2: Real-time red and Infrared (IR) pulsation signals, as captured by an oscilloscope.

The pulse amplitudes (Vpp) of the red and infrared signals are measured and converted to Vrms, in order to produce a ratio value: Ratio = (Red_AC_Vrms/Red_DC) / (IR_AC_Vrms/IR_DC).

The SpO2 can be determined using the ratio value and a look-up table that is made up of empirical formulas. The pulse rate can be calculated based on the pulse oximeter’s Analog-to-Digital Converter (ADC) sample number and sampling rate.

A look-up table is an important part of a pulse oximeter. Look-up tables are specific to a particular oximeter design and are usually based on calibration curves derived from, among other things, a high number of measurements from subjects with various SpO2 levels. Figure 3 shows an example of a calibration curve.

Figure 3: Oximeter calibration curve.

Oximeter circuit design

The following example will detail the different sections of a transmissive pulse-oximeter design. This design, as shown in Figure 4, demonstrates the measurement of both the pulse rate and blood oxygen saturation levels.

Figure 4: Transmissive pulse oximeter system block diagram.


The SpO2 probe used in this example is an off-the-shelf finger clip that integrates one red LED and one IR LED, plus a photodiode. The LEDs are controlled by the LED driver circuit.

The red light and IR light passing through the finger are detected by the signal-conditioning circuit, and are then fed into the 12-bit ADC module that is integrated into the Digital Signal Controller (DSC), where the percentage of SpO2 is calculated.

LED driver circuit

A dual single-pole, double-throw analog switch, driven by two PWM signals from the DSC, alternately turns the red and infrared LEDs on and off. In order to acquire the proper number of ADC samples and still have enough time to process the data before the next LED turns on, the LEDs are switched on and off according to the timing diagram in Figure 5.

Figure 5: Oximeter timing diagram.

The LED current/intensity is controlled by a 12-bit Digital-to-Analog Converter (DAC), which is driven by the DSC.

Analog signal-conditioning circuit

There are two stages in the signal-conditioning circuit. The first stage is the transimpedance amplifier, and the second stage is the gain amplifier. A high-pass filter is placed between the two stages.

The transimpedance amplifier converts the few micro amps of current, which are generated by the photodiode, to a few millivolts (mV). The signal received from this first-stage amplifier then passes through a high-pass filter, which is designed to reduce background-light interference.

The output of the high-pass filter is then sent to a second-stage amplifier with a gain of 22 and a DC offset voltage of 220 mV. The values for the amplifier’s gain and DC offset are set to properly place the output signal level of the gain amplifier into the MCU’s ADC range.

Digital filter design

The output of the analog signal-conditioning circuit is connected to the DSC’s integrated 12-bit ADC module. This example utilizes a dsPIC DSC from Microchip Technology. The dsPIC33FJ128GP802 used in this design enables developers to take advantage of its integrated DSP capabilities and Microchip’s Digital Filter Design Tool.

One ADC sample is taken during each LED’s on-time period, and one ADC sample is taken during both LEDs’ off-time periods. Due to the challenges of taking light-based measurements through organic tissue, the filter design tool was used to implement a 513th-order, digital-FIR, bandpass filter, which enables the filtering of ADC data. This filtered data was then used to calculate the pulse amplitude (Figure 6).

The specifications of this FIR bandpass filter are:

·      Sampling Frequency (Hz): 500                     

·      Passband Ripple (-dB): 0.1

·      Passband Frequency (Hz): 1 and 5           

·      Stopband Ripple (-dB): 50

·      Stopband Frequency (Hz): 0.05 and 25                

·      Filter Length: 513

·      FIR Window: Kaiser

Figure 6: Input and filtered data. Graph 1, shown in red, is the input signal to the FIR filter. Graph 2, shown in green, is the output signal from the FIR filter. X-Axis shows the number of ADC samples. Y-Axis shows the ADC code values.

The growth of embedded medical devices.

The home-medical and fitness markets are growing at a rapid pace. The demand for devices that can measure heart rate and blood oxygen levels will only increase over the next few years. Pulse-oximeter reference designs, such as the one described in this article, can be very helpful in providing medical and fitness device designers with a head start toward getting their designs into production and out to market.


Pulse-Oximeter Design

- Principles of Pulse Oximetry Technology (2002). Retrieved April 23, 2014:

- Microchip Technology Inc., Online Medical Design Center:

- Or go to and find Pulse Oximeter under the left Applications navigation bar:

- Webster, J. G. (1997). Design of Pulse Oximeters. Bristol and Philadelphia: Institute of Physics Publishing.


Pulse-Oximeter Simulation

- Fluke Biomedical. (2007). Index 2XL SpO2 Simulator User Manual.


Zhang Feng is Senior Medical Applications Engineer, Medical Products Group at Microchip Technology Inc.

Marten Smith is Staff Medical Segment Engineer, Medical Products Group at Microchip Technology Inc.

Microchip Technology

Twitter: @MicrochipTech





Zhang Feng (Microchip Technology Inc.) and Marten Smith (Microchip Technology Inc.)
Previous Article
Embedding intelligence in medicine and sports

Embedded systems for medical and sports wearable (and ingestible) devices are adding intelligence to how we...

Next Article
Reducing bugs in hardware design with EDA and formal verification technology

Complex SoCs are often behind schedule or require re-spins due to bugs not caught by verification. In order...


Stay updated on healthcare-related topics with the Medical edition of our Embedded Daily newsletter

Subscribed! Look for 1st copy soon.
Error - something went wrong!