0% found this document useful (0 votes)
45 views

Microcontroller Based Pulse Oximeter For Undergraduate Capstone Design

puls

Uploaded by

Israel Castro
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
0% found this document useful (0 votes)
45 views

Microcontroller Based Pulse Oximeter For Undergraduate Capstone Design

puls

Uploaded by

Israel Castro
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
You are on page 1/ 3

See discussions, stats, and author profiles for this publication at: https://www.researchgate.

net/publication/251925490

Microcontroller based pulse oximeter for undergraduate capstone design

Article · March 2010


DOI: 10.1109/NEBC.2010.5458198

CITATIONS READS
0 3,037

3 authors, including:

Michael Tamayo Ying Sun


University of Rhode Island University of Rhode Island
2 PUBLICATIONS   0 CITATIONS    239 PUBLICATIONS   1,439 CITATIONS   

SEE PROFILE SEE PROFILE

Some of the authors of this publication are also working on these related projects:

Comparing the Effectiveness of Reflectance and Transmittance PPGs on Different Locations for Use in a Helmet Mounted Sensor View project

Biomedical Instrumentation View project

All content following this page was uploaded by Ying Sun on 08 August 2014.

The user has requested enhancement of the downloaded file.


Microcontroller Based Pulse Oximeter for
Undergraduate Capstone Design
Michael Tamayo, Andrew Westover, Ying Sun, PhD.
Department of Electrical, Computer, and Biomedical Engineering
University of Rhode Island, Kingston, RI 02881

Abstract— Pulse oximeters are used worldwide as a non-intrusive


way to monitor a patient's pulse and blood-oxygen saturation
instantaneously. The purpose of this design is to examine the
possibility of using a simple microcontroller to measure pulse and
blood-oxygen saturation in real time, as well as the level of
difficulty and learning curve associated with assigning such a
task as a senior capstone design project. The circuit consists of a
PIC18F452 microcontroller, transistor network, photoplethys-
mogram amplifier (PPG), pulse oximeter probe, digital-to-analog
converter (DAC), and an LCD screen to display results. Software
is written in C++ for the microprocessor, which supports a
limited C syntax. The project requires various engineering
proficiencies such as signal processing, programming, circuitry,
and microprocessors. Overall, the project is a good introduction
to medical instrumentation and capstone design for
undergraduate biomedical and electrical engineers.

Index Terms— Biomedical engineering, capstone design,


undergraduate education, pulse oximeter, photoplethysmogram.

I. INTRODUCTION
The core concept behind pulse oximetry is the variation of
the absorption of photons traveling through a blood specimen Fig. 1. Block Diagram of the pulse oximeter system and transistor network
schematic.
at different wave lengths [1]. This variation is related to the
presence of hemoglobin in the blood specimen. The extinction is limited time in a college career, such a design project could
coefficient for each state of hemoglobin—oxyhemoglobin teach a number of practical abilities, and give undergraduates
(HbO2), deoxyhemoglobin (Hb), carb-oxyhemoglobin an experience of facing real-life engineering obstacles [2].
(HbCO), and methemoglobin (HbMet)—varies uniquely with
respect to photon wavelength. II. METHODS
A sensor containing two LEDs (infrared and red) and a
photodiode is placed on a thin part of the patient’s anatomy, A. Hardware
such as a finger. The two LEDs are paired and placed on the This section of the design consists of a transistor network,
opposite side of the photodiode such that as they alternately pulse oximeter probe, and photoplethysmogram (PPG)
transmit light through the anatomy, the photodiode acts as a amplifier circuit. The PIC microcontroller drives the transistor
light detector, generating an analog electrical signal for each network and subsequently the LEDs with a 1 KHz square
wave length proportional to the amount of photons which have wave alternating between zero and five volts. The transistor
not been absorbed or scattered. The pulsatile component of network is designed to simplify the process of toggling
each signal is used to generate similar arterial pressure between the infrared and red LEDs of the probe, which as
waveforms which, because of the difference in hemoglobin shown in figure 1, are reverse biased and thus require a bipolar
extinction coefficients discussed, can be compared to deduce signal to change. Given that the microcontroller is limited to
the proportion of oxyhemoglobin in the patient’s blood and positive voltage, the transistor network utilizes two output
thus give an accurate estimate of their oxygen saturation. ports of the PIC to generate the necessary bipolar signal. That
Recognizing the vital facts of this information, the objective is, a positive or negative difference in voltage across the LED
of the project is to design and construct a fully operating pulse terminals is determined by the port chosen for output by the
oximeter through the use of the PIC18F452 microcontroller PIC. This scheme offers a work-around for high frequency
(Microchip, Chandler, AZ) and to determine whether such a time multiplexing used in commercial pulse oximeters such
project is adequate as a senior capstone design. that the infrared and red signals may be processed
Undergraduate courses in engineering rely heavily on the individually.
fundamentals of electronics, signal processing, and Once at the probe, the 1 KHz signal is amplitude-modulated
programming, with little hands-on application. Because there by the pulsating blood in the patient’s finger and received by

978-1-4244-6923-9/10/$26.00 ©2010 IEEE


the photodiode. The amplitude-modulated signal is then sent characters and output to the LCD display [4].
from the probe through the PPG circuit where it is amplified, The amplitude of the arterial pressure waveform is recorded
passed through a band pass filter with a center frequency set to and averaged for the eight detected peaks by each LED. A
1 KHz, and demodulated using an envelope detector and low ratio is taken for the mean amplitude of red to infrared LEDs,
pass filter. The resulting arterial pressure waveform is sent to and the use of a look-up table gives an estimation of the
an analog-to-digital converter onboard the PIC. The digital blood-oxygen saturation. The look-up table is based on a
signal is therein processed to compute the patient’s pulse and calibration test using a commercial pulse oximeter.
oxygen saturation, both of which are shown on a LCD display.
Additionally, for debugging purposes, the digital arterial III. RESULTS
pressure waveform is output to a digital-to-analog converter
The LCD screen updates when four peaks have been
(DAC) to be displayed on an oscilloscope.
detected after switching LEDs, accurately displaying pulse
This hardware is powered by two 9V batteries used to
and oxygen saturation of the blood. Figure 2 depicts a user’s
supply the circuit with ±9V. A voltage regulator supplies the
arterial pressure waveform with accurate peak-valley detection
PIC processor with its required 5V.
and LED switching across a 20 second span. These results
were obtained using an oscilloscope, with channel 1 connected
B. Software
to the DAC to show the arterial pressure waveform and
Code is written in C++ using the CC8E compiler with
channel 2 to an output port of the PIC set to alternate between
MPLAB (MathWorks, Natick, MA) in order to integrate the
0 and 5 volts corresponding to peak-valley detection.
PIC processor with the IDE. [3] The simplicity of the CC8E
compiler and the PIC18F452 limits the C syntax to common
IV. DISCUSSION
operations and integers no greater than unsigned 16 bit values.
In order to calculate the patient’s pulse and oxygen Overall, the project was successful. Accurate heart rate and
saturation in real-time, the microcontroller must output a 1 oxygen saturation results were obtained using a PIC processor
KHz square wave from alternating ports while simultaneously incapable of complex operations. This assignment was an
digitizing and discretely processing the analog signal from the excellent learning experience and it was discovered that this
PPG amplifier circuit. A timer interrupt is used to control the type of project would be a useful capstone design for students
sampling rate, switch LEDs, and complete the data processing. interested in biomedical applications. The project facilitated a
In the interrupt service routine, the backward difference substantial foundation in skills necessary for biomedical
algorithm shown below is used to identify peak and valley engineers, with emphasis on programming and medical
data points in the arterial pressure waveform. instrumentation, fitting in the timeline of one semester of
study.
x[n] = u[n] – u[n-1] (1)

where u[n] represents the nth data point of the digitized signal.
Positive x[n] identifies a rising edge of the signal; negative
x[n] identifies a falling edge of the signal; and x[n] = 0
identifies a peak or valley in the signal. Whether x[n] = 0
corresponds to a peak or a valley is determined by simply
comparing x[n+1] and x[n-1]. That is, if x[n-1] > x[n+1], x[n]
identifies a peak in the signal. If x[n-1] < x[n+1], x[n]
identifies a valley in the signal. These conditions are checked
within the interrupt using basic control statements wherein
each peak and valley is counted. Due to the dicrotic notch in
some arterial waveforms—corresponding to the closing of the
aortic valve and a momentary increase in aortic pressure—a
Fig. 2. Arterial pressure waveform and peak-valley detection results.
delay is added to the detection algorithm causing the program
to disregard a set number of data points after detecting a peak. REFERENCES
After eight peaks have been detected a flag is set, changing the
1 KHz square wave output port and thus switching LEDs. A [1] Webster JG. Medical Instrumentation: Application and Design, fourth
edition. John Wiley and Sons, New York, New York, 2009.
small delay is also triggered by this flag to ensure the system
has settled before peak and valley detection resumes. [2] Opuszynski M, Belani H, Andrews R, Potvin J, Sun Y. Experiential
The patient’s pulse is calculated in beats per minute (bpm). Learning in an Undergraduate Biomeasurement Course: Embedded
Instrumentation. Northeast Bioengineering Conference 2009.
A flag is set after four peaks have been counted in each signal,
initiating pulse calculation in the main function of the [3] CC8E C Compiler, http://www.bknd.com/cc8e/introduction.shtml.
January 30, 2010.
program. This calculation is based on the sampling rate and a
loop counter which is incremented for every sample. The [4] Chabot E. Serial LCD Interface: ELE 492 – Embedded System Design.
result is then passed through a function converting it to Course handout, University of Rhode Island. July 20, 2006.

View publication stats

You might also like