low profile spo - web.wpi.edu
TRANSCRIPT
Low Profile SpO
2
Monitoring
A Major Qualifying Project
Submitted to the Faculty
of the
WORCESTER POLYTECHNIC INSTITUTE
In partial fulfillment of the requirements for the
Degree in Bachelor of Science
By
Linnea J. Brown
Date of Submission: December 9, 2019
Stephen J Bitar, Major Advisor
Brown, Linnea J.
1
Brown, Linnea J.
Abstract
This project explores the feasibility of making a pulse oximeter or SpO2 monitor in the form
factor of a standard credit card, to minimize cost and maximize simplicity. Several commercially
available pulse oximeters were reviewed to determine their operation and whether or not they could
be adapted to the desired design. It was found that creating an inexpensive, low profile devise
appears to be a viable and achievable goal, but further testing and development is required.
2
Brown, Linnea J.
Acknowledgements
A big thank you to the following people:
● My loving and supportive family
● Professor Bitar
● Alex Briskman
● Timon Butler
3
Brown, Linnea J.
Glossary of Terms
SpO2 - This light based monitoring system is used to detect the percentage of oxygen in the
blood.
Arduino - a common microprocessor that runs on C++
IR - InfraRed
LED - Light Emitting Diode
MCU - MicroController Unit
MSP430 - a low power microprocessor
4
Brown, Linnea J.
Table of Contents
Introduction 6
Background 7
Common Uses for SpO 7 Prior Art Teardown 9 Problems Addressed 9 Clinical Monitoring 10
Heart Rate (BPM) 10
SpO2 10
Conclusion 12
Problem Statement 14
Client Statements 14
Design Objectives & Constraints 14
Objectives 14
Constraints 14
Methodology 16
Input 16
Digital Processing 18
User Interface 18
Summary 19
Implementation/ Design 20
Input 20
Processing 20
Output 21
Analysis and Results 22
Input 22
Output 25
Recommendations 28
Conclusion 30
Bibliography 31
Appendix A 33
5
Brown, Linnea J.
Table of Figures
Figure 1- Power Regulation Board 9
Figure 2- Topside of Monitor 10
Figure 3- Main Control Board 11
Figure 4 - Absorption Coefficient of IR and Red light 13
Figure 5 - Light Absorption 13
Figure 6 - Relationship between SpO2 and R 14
Figure 7 - System Block Diagram 18
Figure 8 - Sensor and Amplification Circuit Diagram 19
Figure 9 - Prototype Sensor input system 25
Figure 10 - Prototype amplification components setup 26
Figure 11 - Steady Heart rate Output 26
Figure 12 - Schematic for the SSD1306 LED board 27
Figure 13 - Heart-rate signal with Interference 28
Figure 14 - Powered On Initial Output 29
Figure 15 - Design Concept of Final Monitor 30
6
Brown, Linnea J.
Introduction
The focus of the project is designing and building a prototype commercial
(“outpatient”) SpO2 monitor that can inform future design and refinement. There are many
different devices that allow for SpO2 monitoring. This includes large scale medical devices,
and expensive smartwatches. The closest devices to the proposed design are the current
portable models available on the market. These devices range from $15-20 and all have a
similar designs. They have a clip that goes over the finger and holds it in place as the
oxygenation is read. This is then processed and output on the screen. These devices are most
often powered by two AAA batteries. This makes the device bulky and heavy. Information
provided in the teardown of similar products, background on what is expected in the market,
and what the client expected all suggested that a smaller more portable version of SpO2
monitor was feasible. This device should be easy and intuitive so anyone can use the
monitor with minimal instruction or assistance.
The design can be broken down into 3 major parts. An input which is related to
reading in the data. Second is the related analog processing. The processing involves
manipulating the data into digital information that can be analyzed and modified into a data
stream for the output. The third aspect is the output, or what the user sees from the device.
This includes any visuals like a screen. These 3 main parts can be connected together to
create the complete system. This is a fairly linear design and this benefits a straightforward
construction, with discrete (input, processing, and output) sections that can be easily
connected.
7
Brown, Linnea J.
Background
Research started many years ago, before the popularization of the smartwatch. The question
posed at the time was whether an SpO2 monitor could be built with the same dimensions of
a credit card, replicating its length, width, and thickness. With the advent of the smartwatch
we have seen many devices, such as the Apple Smartwatch *** approach relative thickness,
and surpass the specifications for length and width. These devices also include much more
than just SpO2 and heart rate monitoring. This alleviates the problem for more affluent
people who might need consistent health monitoring but leaves those who struggle to use, or
afford such technology. These people are left with old and outdated systems. The project
intends to assist people who are not affluent enough to have or use the more advanced
technologies. This allows us to focus on creating a device that would fit the original
specifications but also allow innovation in systems to ensure the device is an affordable and
easy to use.
The first version of an oximeter was designed by Glenn Allan Millikan in the 1940s. It
read absolute O2 saturation by sending light through the ear. These original systems
involving light filters and photocells are the basis for the modern pulse oximeter [Millikan.
1942]. The first version of the “modern” pulse oximeter, a device that reads Infrared (IR) and
red light absorption through the finger, was designed in the 1970s at Nihan Kohden. The
device was commercialized by Biox in 1980 [Severinghaus 1987]. The general simplicity and
non-invasive nature of this device caused it to quickly become a staple in medical care. Common Uses for SpO
Continuous monitoring is used both in and outside the hospital and helps ensure the
continued health of patients. SpO2 monitoring is a common reading for doctors and nurses.
Oximeters are a necessary part of any medical monitoring device. In the hospital oximeters
are a necessary part of a standard health monitoring. This becomes extremely important
when a patients’ heart or lungs could be compromised in some way, or they would not be
breathing on their own such as under heavy anesthetics. This can include, but is not limited
to, surgery, post-surgery care, Neonatal care, and Emergency care [Phillips. 2003]. A drop in
blood Oxygen levels is an early warning sign for possible heart failure. Having early warning
signs for dropping oxygen levels, and possible heart failure can prevent a patient from
suffering permanent damage, or in the worst cases death. While this level of monitoring has
been a staple of in-patient care for decades only within the past 10 years has it become a part
of out-patient, and independent health monitoring [El-Amrawy 2015].
8
Brown, Linnea J.
SpO2 continue to be an important health monitoring tool for long-term health
problems. In modern medicine long term data collection and monitoring has become an
important part of helping doctors and patients achieve good health. The primary conditions
monitored in this way are heart and lung conditions, this is intended for people with
repeated heart strokes, irregularity in rhythm, or people with COPD or similar breathing
problems[]. The people most at risk for contracting these health problems are also those
least likely to have access to devices and technologies that could keep them healthy.
Less than 5% of Adults over the age of 50 have “ideal” cardiovascular health,
there are many factors contributing to this issue including poor eating habits, and lack of
physical exercise[CDC maps 2015]. Though using an oximeter to monitor heart rate and
oxygen levels is not a solution to heart problems it can preemptively alert those of
pulmonary abnormalities. This can be important for those who are most at risk for heart
problems, the elderly. This warning can ensure they can receive the assistance they need.
Since Pulse Oximetry measures the successful oxygenation of the blood it is also a useful
tool for monitoring the state of the lungs in problems such as COPD, Chronic Pulmonary
Disease [Mannino 2000].
COPD is an umbrella term for diseases that cause airflow blockages and breathing
problems. Similar to heart problems continual monitoring can help to alert to potential
problems before they become dangerous[cdc.gov 2019]. COPD is more prevalent in rural
areas, counties with a population below 200,000 people. Rural populations experience higher
rates of COPD prevalence, hospitalization, and death, about 8% or double that of those in
urban areas, [cdc.gov/ruralhealth 2018]. In addition, the elderly, people over 65, people who
are unemployed or unable to work are most likely to contract COPD according to a report
by the CDC in 2013[Wheaton 2013]. Prompt response to medical emergencies increases the
likelihood that the person can be saved and minimize lasting complications. Having
continual monitoring with health issues can give predictive warnings, and prevent those
suffering from contracting dangerous side effects.
Currently the easiest way to monitor and track pulse oximetry is using a modern
smart watch. These devices range from a little under $100 to well over $500 dollars. This
means it is difficult for those in highest need of this monitoring to acquire such monitoring
as they can be difficult to use, and expensive to obtain. The current low cost alternative
available is $10-15 which is a reasonable price but lacks certain amenities that could greatly
assist with use. These designs are all very similar. They are powered by two AAA batteries
which makes these products clunky and heavy. The lack of rechargeable batteries and lack of
memory storage creates a massive gaps between the low-cost alternative and modern smart
watch.
9
Brown, Linnea J.
Prior Art Teardown
We tore down two low cost, modern SpO2 monitors. Which would give a baseline of care.
During teardown it was determined that, excluding some external differences, the circuitry
of these two devices were identical. The body was divided into 2 main parts and is designed
to clamp around the finger. One side, the bottom side, holds the 2 batteries and the LEDs
(Figure 1). This is connected to the otherside of the device by a few thin wires. These AAA
batteries make the device much heavier than necessary and requires a large cost over time.
Figure 1: Power regulation board on the Underside of the Monitor
The other part holds the main circuit board, LED screen, and a multipurpose button
(Figure 2). The LED screen shows the heart rate waveform, SpO2 percentages, and general
info about the device such as battery power.
10
Brown, Linnea J.
Figure 2: Top side of monitor with cover removed
Along with regulating the main screen the circuit board has a small MCU in charge of
calculating the SpO2 value and visual appearance of the screen (see Figure 3). This one
component is the workhorse of the circuit allowing for transfer analog input from the
receivers into a digital output onto the screen and an auditory alert through a speaker.
11
Brown, Linnea J.
Figure 3: Main control Board of the monitor. Top and Bottom .
Control over the circuit uses a small button situated near the interface screen. This
button is the user’s primary way to interact with the device. Pushing this button once turns
on and prepares it to read the blood through the finger by turning on the LEDS. This button
has a couple of additional features depending on how long you hold the button for, or how
many times its pressed. Though these features aren’t completely intuitive, and instructions
provided are on a small sheet of paper that could be easily be misplaced.
Problems Addressed
The low price device has a fairly high level of accuracy even compared to hospital
standard devices. The issues with these devices don’t come from its function as an oximeter,
but rather the gap between the inexpensive device and the more modern smartwatch, which
caters to those with a larger disposable income and a high degree of technological literacy. A
key feature of smartwatches is how multifunctional they are, which is an advantage for those
who understand how to use them, and a disadvantage to those who lack the knowledge.
These devices also give highly accurate SpO2 readings along with recording the data, which
can help enhance the quality of care of those with chronic conditions.
12
Brown, Linnea J.
The population most likely to have chronic health conditions that could be helped by
continuous SpO2 monitoring are those with low income, or those with a low level of
technological literacy. The current devices exist at two extremes, devices like the Apple
smartwatch and Fitbit, which have a high level of entry, in both cost and sophistication, and
the budget option which has fallen behind, and hasn’t evolved beyond the most basic designs
for portable monitoring. These “budget” devices lack innovation that have happened over the
past 10 years and that can be seen in its lack of data tracking and continued use of disposable
batteries, along with other signs of its age. This leaves those most in need of help monitoring
potentially fatal conditions with very few options for ideal maintenance and possible
improvement to their health.
Clinical Monitoring
Heart Rate (BPM)
This is the most basic form of monitoring and measuring for the heart. This can
differentiate between proper functioning and issues that cause irregularities in the regular
and consistent beating of the heart. Currently BPM is used as a basis for increasing accuracy
in other heart monitoring systems.
SpO2
This light based monitoring system is used to detect the percentage of oxygen in the
blood. This is used to determine if the heart is pumping correctly and if the heart is properly
infusing the blood with oxygen from the lungs. It is a necessary part of complete monitoring
systems for most in-hospital patients.
Oxygenated and non-oxygenated blood absorb light differently, these absorption
differences can be read by a photodiode as the light which passes through the finger. Red and
near-IR light is used because this wavelength range penetrates tissue where higher
wavelengths like green and blue can not accurately penetrate through the tissue [Matcher
2016].
13
Brown, Linnea J.
Figure 4 - Absorption Coefficient of IR and Red light
Two separate wavelengths near-IR and Red are used (Figure 4). This is because the difference
between oxygenated (HbO2) and non-oxygenated (Hb) blood molecules can be observed in
these two wavelengths. Oxygenated blood absorbs red light and reflects IR light.
Non-Oxygenated blood does the opposite it absorbs IR light and reflects red light. By
analyzing the information received by the photodiode. These values fluctuate as blood
pumps through the arteries. This causes the artery to grow and shrink, which also affect the
volume of blood the light is being reflected through. This gives a base level non-fluctuating
Direct Current (DC) and an Alternating current, created as the volume of the blood changes
(Figure 5) [Tamura 2018].
Figure 5 - Light Absorption
14
Brown, Linnea J.
Accounting for the fluctuations in the value we can determine a modulation ratio(R)
also sometimes referred to as R/IR[Johnson 2006].
R = (ACr DCR)/(ACir DCir)/
The relationship between the calculated value and the actual SpO2 can be seen in
Figure 6. This conversion is used to turn the information provided by the light into a value
that can be used by doctors to analyze the blood. SpO2 and heart rate are important aspects
of the human body that can give insight on how well the body is functioning while using
minimally invasive and highly effective methods.
Figure 6 - Relationship between SpO2 and R
Conclusion
SpO2 monitoring has been used in clinical settings for over 40 years, and its continued use in
the medical community is a statement to its importance. In today’s medical environment any
additional data can help diagnose and treat a variety of diseases. In the case of SpO2
15
Brown, Linnea J.
monitoring it gives information on the general effectiveness and functionality of the heart
and lungs. As time has passed the focus is most often on continued innovation leaving a gap
between those who can afford new technology and those left with the remnants of past
innovations. Options are skewed toward those with the income to spare and the
technological literacy to use these devices. This means those with the largest need to monitor
health conditions with Oximetry, the elderly and low income, are not given easy access to
the devices that could help them. The goal of this project is to close this gap. To do this the
project will take advantage of the improvements in technology in the medical industry,
portable devices, and compact designs. Using these innovations an affordable, and effective
device that reflects the needs of those who currently don’t have access, a lower price range
and higher ease of use.
16
Brown, Linnea J.
Problem Statement
Create a model of a modern commercial (“outpatient”) SpO2 monitor and
communicate its functionality.
Revised statement.
Provide a proof of concept design that focuses on heart rate monitoring that can be
easily adapted into a small form factor SpO2 monitor.
Client Statements
Information provided in the teardown, background on what is expected in the
market, and what the client expectation all suggested that a smaller more portable version of
SpO2 monitor was desirable.
Two types of people need regular SpO2 monitoring. People doing high intensity
fitness, such as runners and mountain climbers, and people with persistent heart problems
such as arrhythmia and or risk of heart attack.
Design Objectives & Constraints
Objectives
Ease of Use:
This device should be easy and intuitive to use. Anybody should be able to use the
monitor with minimal instruction or assistance.
Portability/Size reduction:
The final design profile should be similar to that of a credit card. This will make the
device more portable. This would also greatly improve the thickness in comparison to other
existing portable SpO2 monitors.
Constraints
Battery Power:
To fit such a thin design the battery needs to also be extremely thin. This means no
matter which battery is chosen it will have a lower amperage than standard portable designs.
This means power draw must be a constant consideration.
17
Brown, Linnea J.
Size:
All the parts of the design must have a low profile small form factor option.
Ease of Use:
To make sure issues are minimal for users the backend should be robust and error
proof. This helps to ensure user intuitiveness is minimal.
18
Brown, Linnea J.
Methodology
The design can be broken down into 3 major parts (Figure 7). An input which is
related to reading in the data(sensor input), and the analog processing (Amplification)
related to it. The Digital Processing which involves manipulating the data from the input into
digital information that can be used and modified then turned into a data stream for the
output. The third aspect is the output, or what the user sees from the device. This includes
any visuals like a screen. These 3 main parts can be easily connected together to create the
complete system.
Figure 7 - System Block Diagram
Input
There were two input systems discussed. These two options affected all aspects of the
project and represented a major decision point as they affected the design for all other
aspects of the project. A high-tech option focused around a chip made by MAXIM that
focused on SpO2 monitoring, and a low tech option that emphasized hardware design. These
two designs focused on different aspects of heart rate and SpO2 monitoring. Each came with
different advantages and disadvantages.
The MAXIM chip, and further the MAXIM evaluation kit focuses on high level SpO2
monitoring. It is designed to minimize some of the inherent flaws in the system. On the
evaluation board all information is controlled by the Maxim chip. It controls the LED inputs
and the photodiode receiver. Along with this it includes an accelerometer. This system allows
for a high accuracy and better erroneous reading cancellation.
The complexity of the maxim system is also its largest failing. It is a more advanced,
and self contained system. This makes it more difficult to select information from the system.
The software program provides an SpO2 output waveform but no way to route this
information to a place where it could be extracted. It transfers information over encoded
bluetooth with no easy way to add in additional receivers, and the few areas that could be
19
Brown, Linnea J.
tapped into on the board didn’t have information that could be considered “readable.” Even
if the information required could be retrieved it would require a higher level of programming
language and understanding.
The “Low Tech” option is a hardware design based on bandpass filter/amplifier. This
includes a LED setup using the standard Heart rate/SpO2 set up (Figure 8).
Figure 8 - Sensor and Amplification Circuit Diagram
This simpler design allows customizability with a general focus on hardware design.
There is only one stream of data to be processed. The MCU receives a single digital signal
that is an amplified version of the outpost signal of the LED receiver. Not only does this
allow for less complicated signal lines, which helps with circuit board design, it also means
the programing is more straight-forward. Maxim contains more safety checks and signals
but these make for increased points of system failure. The other advantages to using a
system based around analog components is the increased customizability. The components
can be adjusted easily depending on power, weight, and size requirements. This is a benefit
for the final goal of the project.
The simplicity of this system could also be a disadvantage. This setup does not
regulate the errors that are prominent to Spo2/ Heart rate reading. This means the signal has
higher likelihood of inaccuracy in the readings. This could be compounded by two
prominent issues with traditional Spo2 monitoring: moment and light. These can be
minimized by proper mechanical set-up, which requires more mechanical set-up .
20
Brown, Linnea J.
Between the high tech and low tech systems the analog system was chosen. Though
the Maxin system has more features, a combination of relative complexity and programming
inexperience made it ultimately an impractical choice. The focus on creating a solid analog
system that could be a proof of concepts without unnecessary difficulty.
Digital Processing
Determining the Input was an important factor of the design, and affects how the
system is set up and the relative focus of the project. Both types of possible input were taken
into account when determining the processing unit, but focused on the use of a hardware
input, and the necessities of the output. It was determined early on that an MCU would be
needed to create the ideal output with a screen. Though the input design could be set up to
provide an analog output it would not meet the standard we had set for the output. This is a
marginally easier decision because it is dependant on the relative familiarity with, or ease of
learning, the language used, and setup of the microcontroller.
We focused on devices and systems with which we had some familiarity. We used a
version of an MSP430, because we had previous experience and it is ideally suited for low
power devices, such as the one in our design. To assist with connecting each piece of the
system, and the focus on proving the system without additional complications, we decided to
work with an MSP430 Development board. This did not restrict our options so much that a
board with a chip that would be functional for the design was not found. An
MSP-EXP430FR2355 was eventually acquired as it was nearly ideal for our design, with its
low power requirements, and had a small variety of sister chips that could be used in the
final design if changes were necessary.
Using the MSP430 Development board came with an unexpected boon: the company
had recently switched from Verilog based software, to their own personal coding shell based
on Arduino which uses C++. This is a much more widely used language, which helps in
finding coding samples and tutorial, and that we have previous experience with.
User Interface
Large OLED screen that allows for a detailed output of SpO2, BPM, and other useful
tidbits of information including the battery charge and time of day. The focus of the
prototype is to present proof that the device designed can work in practice. Knowing this, the
focus was for choosing a screen that would be similar to a final design, but also one that
allowed ease of connectability and ease of use. The ultimate goal is to find a low profile, low
power screen that can fit into the lightweight design.
21
Brown, Linnea J.
When looking into the final design, as an outline for our choice for the proof of
concept screen, we started with the largest factor, power. The final design requires a thin
battery, which is a restriction to the amount of power that can be provided. Screens are, by
their nature, huge power draws. Knowing this we focus on the practicality, importance of,
and relative power budget necessary for each factor of the screen: size, color, lighting, type.
It was quickly determined that a large screen would be impossible without
compromising our power budget, and therefore other aspects of the system that are
considered more important. For similar reasons, and the self imposed sized restriction we
also focused on smaller screens, those with a similar size to the batteries suggested in the
final design.
Unlike the prior two attributes we felt as though some level a backlight, could be low
enough of an additional power draw to be added as more of an aesthetic feature into the
design. Throughout this process aesthetic ideas such as this will be put at a low priority,
especially during proof of concept, and are subject to being removed or ignored in favor of
presenting a cohesive prototype.
Summary
The focus of the design is on creating a prototype of an Oximeter. This design will be
a thin portable design. It will have an analog input that simple and low profile in
construction. The processing will be done by a low power MSP430, and have an LED screen
output that balances power saving and aesthetics. The final design should also incorporate a
thin rechargeable battery.
22
Brown, Linnea J.
Implementation/ Design
The focus of the project is designing and building a prototype that can be used, in
future, to refine the design. This is a fairly linear design and this benefits a straightforward
construction, with discrete (input, processing, and output) sections that can be easily
connected.
Input
An SpO2 monitor is practically two heart rate signals that are read and compared.
The calculations and comparison all happen during the processing phase. This means the
hardware has two main jobs, first read the heart rate as a waveform, and amplify it to a point
that the MCU can easily read.
The amplifier is a bandpass filter centered around the range of a human heart rate
which is about 2Hz. The design uses a low pass filter that isolates signals below 10Hz. This
gives a bit of wiggle room around the signal without picking up too much extraneous data.
The first stage of the hardware input is the LEDs, during proof of concept we focused
on acquiring a heart rate with an IR sensor system. For SpO2 monitoring an IR system and
Red LED are required. They will both read blood flow rhythm, but only the IR presents an
accurate reading of the heart rate whereas the red focuses on the difference in oxygenated
blood. Proving the specific setup works for an IR system, will also in turn provide a solid
starting point for the design and setup for the red LED receiver. The basic idea is simple
power up an IR emitter and IR receiver, both with resistors to regulate power levels.
Processing
The code can be broken into two parts: signal processing and output design. Included
in signal processing is reading the analog signal, placing it into the chart integer, and the
scaling of the visual output. The output design dictates the specific placement of the output
and its visual appearance.
The input design begins by reading in the waveform from the IR LED into one of the
arduino’s analog inputs and then storing the data stream into a circular array in order to
capture the most recent 3 seconds of data. The specific period of sample retention is
adjustable by increasing or decreasing the number of milliseconds before the next data point
is read. The array is then displayed by calculating a scalar transformation from the 10 bit
analog input (0-1024) precision that the data is stored with, to the 128 pixel vertical screen
23
Brown, Linnea J.
height that it will be displayed with. The scalar is calculated so as to ensure the signal always
fills about 80% of the screen at any time in order to allow it to be examined more easily.
The input capture code can then be duplicated to read in a second waveform for the
red LED simultaneously using a second arduino input pin, this signal. Unlike the heart rate
(IR LED signal), the visual spectrum signal will not have a direct data display output.
However, these two waveforms can processed together to determine the modulation variable.
which can then be used to determine the SpO2 percent. Additionally, the IR waveform can
be used to determine heart rate by calculating the peak to peak signal duration between
heart beats and then inverting the number into beats per minute. Signal peaks can be
identified by examining local and relative maxima relative to the adjustable data collection
speed.
The output code design focuses on how to display the information and relate it to the
input signal waveforms. The display uses some premade files and codes to assist display
output. This allows us to focus on how the signal output appears and not some of the
difficulty associated with designing code for an unsupported LED display.
Output
As stated in the methodology, the screen used for this design is not entirely reflective
of what would be, theoretically, chosen and presented in the final low profile design. This
screen does not meet those requirements because it is too thick and has a higher than ideal
power draw. It is powered at the target voltage of 3.3V. Despite these issues, it serves as an
adequate model of the kind of screen that would be in the final design. The screen is
connected over 8 lines using SPI protocol. Three of these lines provide power to the screen
while the rest provide data. SPI is a commonly used protocol across all sorts of digital
peripherals and is universal enough to reasonably assume compatibility with most other
component displays that don't have their own onboard display processing capabilities in
order to use more advanced physical layer communications such as HDMI. The SPI protocol
itself is supported using an open source SPI library freely available for arduino that is more
than robust enough to perform all of the necessary display work.
24
Brown, Linnea J.
Analysis and Results
Input
Before the final design and the hardware focused setup, time was spent designing
and building a system that worked with a digital setup provided by Maxim. This was a
complete system, and development board, that allowed for advanced SpO2 readings along
with various accessory components and systems to help minimize the problems inherent to
traditional SpO2 and heart rate monitoring. The main issue we encountered with this design
was two related ideas, its general complexity, and the amount of propriety or restricted
information that related to it. This often made the device difficult to work with, and few easy
ways to gain additional information to solve these problems. Owing to this, along with all of
the subsequent possible issues that could result from these concerns, it was decided to
transfer over to a simpler hardware design. As such the results and tests done will focus on
the success of this prototype, and how that relates to the project moving forward. The Maxim
board did still provide a useful template for design decisions and proved helpful for
determining the eventual hardware system.
The first design draft just used a low pass filter, letting only values below 10hz pass to
the amplification circuit. This only showed a minor amplification that was insufficient to
allow it to be read by the MCU (2-3x). To increase the amplification, the circuit was modified
to also include a high pass filter, turning the system into a bandpass filter. This filter closed
to 1Hz as to allow through any signal about 1Hz. Creating an amplification range for signals
between 1hz and 10hz.
When the system is turned on the LEDs begin emitting light. This light is shown
through the finger into the LED receiver . Problems initially encountered with the LED
related mostly to power draw and a proper holding system for the emitter/receiver pair. If the
regulating resistors before the LEDs are too large it lowers the intensity of the light and dulls
the measurements, which increases the likelihood of error. Once the proper resistances were
achieved the next focus was on the IR emitter the original LED had too large of a focus angle
and this caused distortion in the signal. The second emitter had a much lower focus angle,
15degrees, and this made it easier for the Receiver to catch the light after it had passed
through the finger. To further help issues with the pairing of the emitter and receiver a
holding device was used to further reduce light leakage and increase stability, Figure 9.
25
Brown, Linnea J.
Figure 9 - Prototype Sensor input system
Though clunky, the light cancelling and stabilizing properties of the PVC barrel design used
in another design by Professor Bitar proved sufficient to meet the intended purpose of this
preliminary design. A more streamlined version of this was chosen to be integrated into the
final design.
Once the signal is successfully collected it is prudent to remove the DC voltage to
ensure it can be successfully amplified by the Op-Amp. To do this, a capacitor is added to the
circuit removing any DC voltage (Figure 10). A voltage divider needs to be added back at a
voltage we can control. If this is not done, only the positive side of the signal will be
amplified and presented at the visual output. To simplify the voltage divider two resistors of
equal value allowed for a DC voltage addition of half the total Vcc.
26
Brown, Linnea J.
Figure 10 - Prototype amplification components setup
Once the signal is properly cleaned it is sent through the bandpass filter described
above. Narrowing in on the signal was difficult as it required finding a filter that could
provide adequate amplification for low frequency of the adult human heart, about 2Hz. To
do this high value resistors and capacitors were used to balance the values. Once the design
of the amplifier was done it consistently provided an output that could easily be read by the
MSP430 (Figure 11).
Figure 11 - Steady Heart-rate output
27
Brown, Linnea J.
Output
The most difficult part of processing was enhancing the heart beat signal sufficiently
to gain meaningful data without overly degrading the signal quality. After boosting the signal
as much as possible via hardware amplification, the code further aids in this process by
ensuring that the signal is always displayed across as much of the screen as possible without
having to clip it. This accounts for the height of the waveform and that it exists within the
bounds, in this case the whole screen, and expands the signal to fill the area. This helps
ensure the signal is reasonable no matter the initial size of the input. It reads the relative
minimum and maximum of the signal then runs it through an if/else statement to create an
upper and lower buffer. These buffers are then used to assist the pointer for displaying the
signal. Once this is done it is set up as an SPI output that can be read by the the LED board.
To simplify the prototype an LED board is used. This board takes an LED screen and
attaches it to a larger board that does the regulation and accessory circuitry necessary to
connect to an arduino, or similar board. The schematic seen in Figure 12 is the proto board
used for the LED and can be used to help design the final product.
Figure 12 - Schematic for the SSD1306 LED board
28
Brown, Linnea J.
Most of the focus was put into the code used for the visual appearance of the LED
(see appendix A). The output design without digital amplification can be seen in Figure 13.
Problems encountered with the appearance of the waveform were to be expected because of
the nature of basic SpO2. The signal becomes degraded by any sort of obstruction on the nail
such as nail polish, and any sort of movement. These problems cannot be fixed unless the
entire system is changed or advanced.
Figure 13 - Heart-rate signal with Interference
The Physical output setup itself proved to be fairly simple as the board was connected
to a small PCB which did all the necessary hardware design on board (Figure 14). Most of the
difficulty around the Output will be related to its setup when being implemented in the final
design. This includes things like power draw, specific visual appearance - such things as
including a charge level, heart rate, and SpO2%. The current prototype is restricted to a peg
board which allows for easy adjustment as improvements are made but decreases the general
aesthetic qualities and improvements that can be made related to that concept.
29
Brown, Linnea J.
Figure 14 - Powered on initial Output
30
Brown, Linnea J.
Recommendations
In considering the completed design, we can safely make several conclusions about
the final hardware design and mechanical setup, starting with the LEDs and receivers. Both
LEDs should have a narrow focus angle along with this the light should be as powerful as is
reasonable for such a low power system. This mechanical setup is more temporary as it is not
a space saving system, which is in direct conflict with the ultimate goal of a thin, portable,
design. Designs such as the one shown in figure 15 adhere more closely to the final goal, and
is inspired by the prototype. Though clunky, the light cancelling and stabilizing properties of
this mechanical interface was sufficient to meet the intended purpose of this preliminary
design.
Figure 15 - Design Concept of Final Monitor
The basic components, capacitors and resistors, are a matter of acquiring the smallest
reasonable form factor. Variances in resistance and capacitance have a minimal effect on the
design functionality but with the amplification system closer to the exact value was the
better. The Op-amp should be similar to the one used in the prototype. It should be a low
power chip, meaning it requires only a small supply current and low voltage source. It should
also have a rail-to-rail output which helps to further clarify the amplified signal and make it
easier to convert the amplified signal into a digital signal.
In summary, the Op-Amp should require the least amount of power and output the
cleanest amplified signal possible. In the prototype the output is directly connected to a
development board that is capable of processing the analog data into a digital signal. In the
final design an ADC, and the components necessary to support the conversion, will be
added. As with all existing components related to this design it should be a balance of low
power and high quality with the priority focused on conserving power for higher
consumption systems like the LEDs and the output screen.
31
Brown, Linnea J.
The current visual output is a bare bones design. It displays the heart rate waveform
output successfully cleaned up and amplified by the code then sent over SPI to the screen.
Combining the Arduino and screen setup was easy, as they are designed to work together,
and no major problems were encountered. This was further helped that the screen purchased
came attached to a small PCB. This did not do much more than make the connections
mechanically easier. Converting this over to a final design is simply a matter of adding the
basic components necessary when dealing with such a complex connection. The most
difficult aspect of the LED screen and Output are not as apparent or as worrying since we do
not have to worry about relative power draw and battery life.
The two parts of the design in need of the most improvement is the screen and the
ultrathin battery desired. These are the least developed aspects of the prototype, since that
focused on the input and the manipulation of it, where the battery and screen focus more on
the general power draw on the system and the restrictions these decisions cause. Though
power draw was considered when analyzing designs and parts, and the parts were deemed to
fall into rough parameters, this has not been extensively analyzed. The biggest step moving
forward is to find a screen and battery team that can mesh well with the existing parts and
outline provided from the input and processing sections.
If work is continued on the project improvements will continue to be made towards
creating a final design that meets the suggested objectives. Overall this project can be seen as
a success, as it proved the input design and the ability to read and use the information it
provides. More importantly this is a big stepping stone in the success of the larger idea, and
in turn the final project.
32
Brown, Linnea J.
Conclusion
Though the project presented some unexpected difficulty and unusual problems it was able
to prove the oximeter prototype. Given the prototype we were able to prove the functionality
of an analog input which used an IR emitter/receiver and a bandpass Op-Amp filter. This
created a reasonable waveform that could then be further analyzed by the MSP430/ MCU.
This basic circuit and the suggestions provided can be used to design and build a PCB that
would fit the requested specs.
This basic structure allows for further design possibilities. The code is similar, as it
provides a basic set-up for the encoding and visual output, but could also be used as the basis
for a more complex system.
This project focused on being able to design a system from the ground up, and
understanding its component parts to enhance an existing design. This produces a different
challenge from innovating an entirely new system since it forces you to establish which
building blocks of existing designs to keep and which to replace. Each building block you
replace becomes the challenge, along with what is designed that expands and innovates the
current product.
This made for a different design challenge, one that forces looking outside the box
and coming up with different ideas that still conform to how the basic system works. Given
the proof provided by the prototype it is clear the design is a solid alternative to the modern
portable SpO2 monitors.
33
Brown, Linnea J.
Bibliography
Basics About COPD, Chronic Obstructive Pulmonary Disease (COPD), Center for Disease
Control, https://www.cdc.gov/copd/basics-about.html#ref2
Centers for Disease Control and Prevention, National Center for Chronic Disease Prevention
and Health Promotion, Division for Heart Disease and Stroke Prevention. DHDSP
Data Trends & Maps [online]. 2015. [accessed Oct 24, 2019]. URL:
https://www.cdc.gov/dhdsp/maps/dtm/index.html .
COPD Burden in Rural America, Center for Disease Control.
https://www.cdc.gov/ruralhealth/COPD/burden/ Rev. August 28, 2018
El-Amrawy, F., & Nounou, M. I. (2015). Are Currently Available Wearable Devices for Activity
Tracking and Heart Rate Monitoring Accurate, Precise, and Medically Beneficial?.
Healthcare informatics research, 21(4), 315–320. doi:10.4258/hir.2015.21.4.315
How pulse oximeters work explained simply, How Equipment Works.
https://www.howequipmentworks.com/pulse_oximeter/
Johnston , William S., "Development of a Signal Processing Library for Extraction of SpO2, HR, HRV,
and RR from Photoplethysmographic Waveforms" (2006). Masters Theses (All Theses, All
Years). 919. https://digitalcommons.wpi.edu/etd-theses/919
Mannino DM, Gagnon RC, Petty TL, Lydick E. Obstructive lung disease and low lung function in
adults in the United States: data from the National Health and Nutrition Examination Survey
1988-1994. Arch Intern Med. 2000;160:1683–1689.
34
Brown, Linnea J.
Matcher, S. J., & . Signal Quantification and Localization in Tissue Near-Infrared Spectroscopy (2016).
In Handbook of Optical Biomedical Diagnostics, Second Edition, Volume 1: Light-Tissue
Interaction. doi: https://doi.org/10.1117/3.2219603.ch9
Millikan , G. A. (1942). The Oximeter, an Instrument for Measuring Continuously the Oxygen
Saturation of Arterial Blood in Man. Review of Scientific Instruments, Volume 13, Issue 10,
p.434-444, 10.1063/1.1769941
Severinghaus , J.W. & Honda, Y. J Clin Monitor Comput (1987) 3: 135.
https://doi.org/10.1007/BF00858362 Chapter 9:
Social Vulnerability Index Mapping and Dashboard. Agency for Toxic Substances and Disease
Registry, Center for Disease Control, https://svi.cdc.gov/map.aspx
Tamura T., Maeda Y. (2018) Photoplethysmogram. In: Tamura T., Chen W. (eds) Seamless Healthcare
Monitoring. Springer, Cham. doi: https://doi.org/10.1007/978-3-319-69362-0_6
Understanding Pulse Oximetry SpO2 Concepts . (2003). Understanding Pulse Oximetry SpO2
Concepts . Andover, MA.
http://incenter.medical.philips.com/doclib/enc/fetch/586262/586457/Understanding_Pulse_Ox
imetry.pdf%3Fnodeid%3D586458%26vernum%3D2
Wheaton AG, Cunningham TJ, Ford ES, Croft JB. Employment and activity limitations among adults
with chronic obstructive pulmonary disease — United States, 2013. MMWR Morb Mortal
Wkly Rep. 2015:64 (11):290–295.
35
Brown, Linnea J.
Appendix A
#include <SPI.h> #include <Wire.h> #include <Adafruit_GFX.h> #include <Adafruit_SSD1306.h> #define SCREEN_WIDTH 128 // OLED display width, in pixels #define SCREEN_HEIGHT 64 // OLED display height, in pixels // Declaration for SSD1306 display connected using software SPI (default case): #define OLED_MOSI 5 #define OLED_CLK 4 #define OLED_DC 3 #define OLED_CS 2 #define OLED_RESET 6 #define WRITE_PIN 12 #define READ_PIN A0 Adafruit_SSD1306 display(SCREEN_WIDTH, SCREEN_HEIGHT, OLED_MOSI, OLED_CLK, OLED_DC, OLED_RESET, OLED_CS); int chart[] = { 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 }; int head = 0; void setup() { Serial.begin(9600); // SSD1306_SWITCHCAPVCC = generate display voltage from 3.3V internally if(!display.begin(SSD1306_SWITCHCAPVCC)) { Serial.println(F("SSD1306 allocation failed")); for(;;); // Don't proceed, loop forever } // Show initial display buffer contents on the screen -- // the library initializes this with an Adafruit splash screen. display.display(); delay(100); // Pause for 2 seconds // Clear the buffer display.clearDisplay(); //display.drawPixel(10, 10, WHITE); } void loop() { int val = analogRead(READ_PIN); chart[head] = val;
36
Brown, Linnea J.
head = roundAdd(head); displayChart(head, chart); } void displayChart(int head1, int chart1[]) { display.clearDisplay(); int max = Max(chart1); int min = Min(chart1); int height = max - min; int lowerbuffer = 0; int upperbuffer = 0; int middle = max - (height / 2); if (height > 64) { lowerbuffer = more(min - (height / 10), 0); upperbuffer = less(max + (height / 10), 1024); } else { if (middle < 33){ lowerbuffer = 0; upperbuffer = 64; } else { if (middle > 992) { lowerbuffer = 960; upperbuffer = 1024; } else { lowerbuffer = middle - 32; upperbuffer = middle + 32; } } } int pointer = 0; int point1 = 0; int point2 = 0; for(int i=1; i<128; i++){ pointer = roundAdd(head1 + i - 2); point1 = ((chart1[pointer] - lowerbuffer) * 64) / (lowerbuffer - upperbuffer); pointer = roundAdd(i + 1); point2 = ((chart1[pointer] - lowerbuffer) * 64) / (lowerbuffer - upperbuffer); display.drawLine(i-1, less(point1, 63), i, less (point2, 63), WHITE); } display.display(); delay(5); // !important! controls how fast the display scrolls } int roundAdd (int num) { num++; if (num >127){ num = num - 128; } return num; } int Max(int chart1[]){ int max = 0; for(int i=0; i<128; i++){
37
Brown, Linnea J.
if (chart1[i] > max){ max = chart1[i]; } } return max; } int Min(int chart1[]){ int min = 1024; for(int i=0; i<128; i++){ if (chart1[i] < min){ min = chart1[i]; } } return min; } int less (int a, int b) { if (a < b) { return a; } else { return b; } } int more (int a, int b) { if (a > b) { return a; } else { return b; } }
38