top of page

Blood Pressure Monitor

Spring 2022

My lab group's blood pressure monitor was used to measure both systolic and diastolic pressures as well as mean arterial pressure (MAP) in an individual using a sensor, adjustable pressure cuff, and bulb pump. Due to an inadequate amount of time to fully prototype this design, the measurement was made possible by the utilization of an oscilloscope, external power supply, and Arduino code. Our measurements for systolic pressure and MAP were very similar to the values obtained from an external market-standard device whereas those for diastolic pressure were not as similar; these results were proven by subsequent statistical testing.

Special thanks to my lab partners, Neica Joseph and Riddhi Ranjithkumar, for their parts in making this project successful!


As our final lab project in BME354L, students were tasked with creating a biomedical device someone may find in a hospital and/or clinical setting. BME354L is a junior year BME course where students study the basic principles of biomedical electronics and their applications. A few options provided to us by the lab instructor were an incubator, electrocardiogram (EKG), spirometer, and blood pressure monitor. My lab group chose the blood pressure monitor as we had not completed a lab similar to it during the semester; this provided an interesting challenge for us to take on as our final project. The goal of our final project was to construct and test a blood pressure sensing device able to obtain a student's systolic and diastolic blood pressures.


Background

Blood pressure is the pressure of blood pushing against the walls of your arteries. When the heart pumps blood through these arteries, the blood puts pressure on the artery walls. A typical blood pressure for a healthy individual is stated to be 120/80; oftentimes, the implementation of a healthy diet, physical activity, and the limitation of one's use of alcohol and/or drugs can help an individual maintain a healthy blood pressure. High blood pressure, also known as hypertension, indicates a higher risk for other health problems such as heart disease, heart attack, and stroke. Low blood pressure, or hypotension, is less common and more prevalent in the elderly population.


A blood pressure sensor is a non-invasive sensor designed to measure human blood pressure by reading systolic, diastolic, and mean arterial pressure (MAP) by means of the oscillometric method. Pulse rate is often reported alongside blood pressure. Most blood pressure cuffs on the market today include a sensor, adjustable velcro cuff, and bulb pump with a release valve. In order to use the device, the cuff is wrapped around the patient's upper arm and inflated to stop the flow of blood to the individual's artery. As the cuff is slowly deflated, a stethoscope is used to listen to the blood pumping through the artery. These pumping sounds, formally termed Korotkoff sounds, register on a gauge attached to the cuff. The first sound heard is recorded as the systolic pressure whereas the last sound heart is recorded as the diastolic pressure. Much more common in clinical settings today, automatic blood pressure monitors are used to take a patient's blood pressure without the use of a stethoscope or bulb pump.


Implementation Rationale

The relationship between systolic, diastolic, and mean arterial pressure (MAP) were crucial in the implementation of our design (Figure 1). Systole occurs when blood is ejected from the arteries, while diastole is the pressure of the heart at rest. MAP is the average arterial pressure throughout one cardiac cycle, systole, and diastole.


Figure 1. Ideal oscillometric pulse as a function of cuff pressure as well as the basis for our calculations of systole, diastole, and MAP.


Disregarding the noisy portion from 5-15 seconds, the oscillometric pulse envelope seen from 20-45 seconds can be correlated directly to the decreasing pressure of the cuff. The peak of this pressure envelope as well as the first large peak were used in our calculations to determine the patient's blood pressure. With this in mind, manual measurements were taken from the oscilloscope of the systolic and MAP in order to calculate diastolic pressure (Figure 1).


Methods

In order to track the individual's systolic pressure and MAP, a MPX2050GP pressure sensor and manual blood pressure cuff were used. Arduino code was written to calibrate the pressure value and generate an equation to convert voltage to pressure. We also used an oscilloscope to view and calculate the blood pressure of the individual.


Subjects were to stay still with their arms completely relaxed. The cuff was then placed on their bicep of choice with the tubing facing their brachial artery (Figure 2). Another individual was tasked with quickly inflating the cuff to ~160 mmHg before gradually releasing the pressure bulb to obtain the Korotkoff waveform seen in Figure 1.



Figure 2. Blood pressure cuff and stethoscope diagramed in the correct position on top of the brachial artery.


Block Diagram

Our group's block diagram was used to describe the operation of the device as well as the process of obtaining measurements before any mechanical or electrical design took place. The green ovals represent the action taken by the user, the orange hexagon shows a certain state of the device, and the blue squares represent what needs to be observed or measured.


Our block diagram begins with the patient slipping the blood pressure cuff onto his/her bicep. When the device's button is turned on, the experimenter is tasked with observing and recording both the oscilloscope and serial monitor. As the cuff pressure is increased through the pumping of the cuff, the Arduino OLED is to be observed. When the experimenter reaches the maximum cuff pressure of ~160 mmHg, the cuff pressure is to be released and the oscilloscope measurements are to be taken.



Figure 3. Block diagram of blood pressure monitor.


Circuit Diagram

In order to obtain the desired result, a pressure sensor was used in conjunction with three stages of operational amplifiers; these amplifiers were used to amplify, filter, and display results on the OLED. The circuit for the blood pressure sensor was built as shown in Figure 4 using the MPX2050GP pressure sensor; this sensor is connected to a blood pressure cuff and inflation system with a T-splitter.


Figure 4. Combined schematic of assembled circuit .


The first stage uses an INA126 instrumentation amplifier to amplify the pressure signal from the cuff. The second stage uses two LF353 operational amplifiers as bandpass filters (with gains 12 and 15, respectively) to filter the cuff pressure and obtain the Korotkoff sounds as well as small oscillations allowing us to calculate the blood pressure. The third stage uses an OLED that displays the live cuff pressure as well as the peak Korotkoff value. Both the cuff pressure and the Korotkoff values are sent to the Arduino Nano Every for analysis. The oscilloscope leads were connected to the outputs of stage 1 to calculate the patient's blood pressure and stage 3 to visualize the Korotkoff sounds.


In order to test the first block of the circuit, the participants wore the blood pressure cuff and began to increase the pressure through use of the bulb pump. While this was occurring, the Arduino code used to measure pressure was tested and the values were observed on the serial monitor. By completing this step, we verified that there was a relative increase or decrease which matched the pressure variation on the dial of the blood pressure cuff. The output was also observed on an oscilloscope to see if the shape of the waveform corresponded to the changes applied to the blood pressure.


To test the second stage of the amplifier, the output of this second amplifier as well as the first amplifier were observed on an oscilloscope. The waveforms were observed and compared to Figure 1 in order to see if the waveforms matched one another. If there was signal clipping, the gain of this stage of the circuit was altered by changing the resistor and capacitor values until the full output could be visualized.


Finally, to test the third stage, the code for the OLED screen was written and the outputs were verified to match those on the serial monitor tested prior. The working OLED screen can be seen in Figure 5, below.


Figure 5. Functioning OLED screen showing the value of the pressure at that moment in time as well as the magnitude of the Korotkoff sounds.


Arduino Code and Software

The Arduino code was written in two parts: the set-up function and the loop function. The set-up was used to initialize the serial communication so that measurements could be continually displayed on the serial monitor as a method of testing if the device was working correctly during development. The OLED screen was also configured in this function as it contained the results of the live output of the device. The loop function contains code that reads the output of the first and third amplifier stages from the analog input pins of the Arduino and converts it into a pressure using the linear regression found in Figure 6. The code outputs the value of the pressure and peaks to the OLED screen in real time.


Linear Regression

A linear regression was performed in order to calibrate the output voltage into pressure before any calculation of diastolic or systolic pressures were made; this was necessary because, by convention, the MPX2050 pressure sensor measures an output voltage rather than a pressure value.


Figure 6. Linear regression of output digital signal to convert from voltage to pressure in calibration step. The measured data points are blue circles and the line of best fit is shown as a yellow line.


The data for this linear regression was taken by inflating the cuff in 20 mmHg intervals up to 160 mmHg and recording the output voltage at that time. The equations below were used to convert this measured output voltage data into pressure by using the coefficient found in the linear regression in Figure 6, above.


'Vin' is always 5V, 'V' refers to the magnitude of the voltage output measured at a lead of an oscilloscope, and 'Volt' refers to the ratio of this output voltage to the input voltage. Below are the equations used for the conversion of the sensor's voltage data to pressure data; note, the slope of the linear regression is used in the first equation, below.


P = 0.2916(Volt) - 57.79

Volt = (V/Vin) * 1023


Calculation for Diastolic Pressure

Diastolic pressure was calculated by using the relationship between systolic, diastolic, and MAP. After manually measuring the MAP and systolic pressure (SP) with the cursors on the oscilloscope, those values could be converted to pressures with the two equations above and used to solve for diastolic pressure (DP) as seen in the equation below.


DP = 3/2 ((MAP) - 1/3(SP))


Numerical Data

In order to test our device, we measured the blood pressure of each person in the group (Sarah, Riddhi, and Neica) three times; this allowed us to obtain an average of our measured data. A patented, automatic blood pressure monitor was then used to obtain the "actual" blood pressures of each participant; this was used to check the accuracy of our measurements. Table 1 gives the values of each participant's actual blood pressure as well as data for the three trials and the average of those three trials. The actual and average blood pressures from our three trials are highlighted in yellow.


Table 1. Systolic and diastolic pressures for the three participants.


In order to have sufficient information to calculate the systolic and diastolic pressures for each participant, a measurement of MAP was necessary; these measurements can be seen in Table 2, below.


Table 2. Actual and experimental values of each participant's MAP.

When analyzing the data, we found that the systolic pressure for each participant was fairly accurate while the diastolic pressure for two of the participants was not very accurate. The accuracy of the systolic measurement was ±2.67 mmHg while the accuracy of our diastolic measurement was ±10.67 mmHg.


Blood Pressure Profiles

Oscilloscope screen images were taken of all three participants' blood pressure profiles in order to compare each student's oscillometric pulse envelopes to one another. The use of these images was crucial in understanding the compatibility of our device with a variety of participants as well as how to best implement a universal, automatic blood pressure monitor in the midst of experimental variables. In all three figures below, the yellow line represents the Korotkoff sounds, which are generated when blood flow through the artery begins (systole) and ends (diastole) while the blue line represents cuff pressure.


Figure 7. Oscilloscope screen image of Sarah's blood pressure profile.


Figure 8. Oscilloscope screen image of Riddhi's blood pressure profile.


Figure 9. Oscilloscope screen image of Neica's blood pressure profile.


The difference in individual waveforms across subjects makes it difficult to develop an algorithm that can accurately approximate each student’s systole and diastole. Some waveforms have a gradual increase and decrease while others appear to have a sudden increase or more noise. Figure 8 most closely represents the ideal waveform seen in Figure 1 as it has a gradual increase and decrease in pressure. In contrast, Figure 9 shows a waveform with a rapid increase in pressure and gradual decrease. This would make the identification of systole and MAP much more apparent and allow for consistent waveforms and robust algorithmic development.


For future implementation, one could save the live blood pressure measurements for both the cuff pressure and Korotkoff sounds to an SD card. These could be written into an algorithm to track Korotkoff peaks to make appropriate calculations and report those back to the OLED. In addition, we would experiment with making the gain of the second bandpass filter lower in order to allow for more frequency content to come through and obtain a more complete signal. As we were limited with both time and inconsistent waveforms, this method was not possible.


Statistical Testing

Three two-sample, paired t-tests were used to test whether there was a statistical significance between the manual and the experimental measurements of systole, diastole, and MAP. A Shapiro-Wilk Test was used to confirm the normality of the data. There were three null hypotheses for this set of data including:

  • no significant differences in our actual and experimental systole

  • no significant different in our actual and experimental diastole

  • no significant difference in our actual and experimental MAP


Table 3. Two-sample, paired t-test results, assuming α=0.05.


The two-sample, paired t-test told us that the difference between our measurements for systole and MAP compared to the actual ones for systole and MAP were not significant while those for diastole were; this means that our values for systole and MAP are much closer to the actual values than those for diastole.


From statistical analysis in Table 3, we see there is no significant difference in our actual and experimental systolic pressure. This tells us that our blood pressure monitor can accurately determine the first Korotkoff sound (ie. the pressure when the heart ejects blood into the arteries). The same conclusion can be made for the MAP measurements; this tells us our system can approximate the mean arterial pressure through one cardiac cycle. However, when we look at Figures 7-9 we see that each subject has a distinct Korotkoff waveform. It appears that some waveforms are squared off as we approach the MAP, this could be a result of having too small of a gain in our system. Since the MAP is not distinct across trials, a limitation we found was that user error comes into play when determining the right voltage for the measurements. Our statistical analysis shows that there is a statistically significant difference between the actual and experimental diastolic blood pressures. Small changes in MAP greatly impacted the calculated diastolic pressure which is a likely cause for the statistical outcome.


Conclusion

Our group succeeded in creating a functioning blood pressure sensor that could be used to calculate the patient's mean arterial pressure (MAP), systolic, and diastolic blood pressure. We used Arduino code, a circuit, and an oscilloscope to run our device. Although the screen of the OLED displayed the pressure, it did not help visualize the Korotkoff sounds like we would have hoped. The outputs of the oscilloscope were used to record systolic pressure and MAP from which diastolic pressure was then calculated. We repeatedly tested and measured these metrics by the use of three different participants and compared them to values obtained on an actual blood pressure device.


A t-test was performed on the actual and average values resulting in a t-crit of 4.303. For systolic pressure and MAP, the t-stat values were 0 and 1.589, respectively; this means that there was no significant difference between our tested results and the actual values obtained from our market-standard device. Unfortunately, our diastolic pressure had a t-stat value of -6.1; this means that there was a statistical difference for diastolic pressures within our data set.


We attributed the inaccuracy of the diastolic pressures to the incorrect gain of the circuit as the filtering did not capture the signal of the waveform when it approached diastole. Diastole is also calculated from MAP which was found using the pressure at the highest peak-to-peak voltage. This was recorded visually, but it was difficult to discern this peak as there was no typical wave profile among all those tested and the largest peak did not look consistent in all cases. The presence of continuous peaks also introduced variability to our experimental design. Industrially, there are patented algorithms to do so but the lack of uniformity meant there was no set formula to calculate the MAP and therefore the diastolic pressure accurately.


Overall, our device successfully measured systolic pressure and MAP, but not diastolic pressure. We feel confident that with more time and repeated testing we could have further developed our device to accurately record diastolic pressure, automate the entire process, and eliminate the use of an oscilloscope for manual measurement.


Project Notes

Methods of Organization/Communication:

  • GoogleDrive (shared documents)


Software/Tools:

  • LucidCharts (block diagram)

  • MATLAB (linear regression)

  • Arduino (programming)

  • Oscilloscope


Skills:

  • Electronics/Circuitry

  • Programming Languages


bottom of page