Blood Pressure Monitor Design Using MPX5050GP Pressure Sensor and Visual C# 2010 Express

Blood pressure monitor (BPM) using oscillometric method with MPX5050GP pressure sensor has been successfully fabricated and calibrated. Oscillometric method is measurement method to observe cuff pressure oscillations. In this study, the oscillometric waveform measured by fabricated BPM used Arduino Uno which processes pulse rate, systolic and diastolic pressures. Measurement results of pulse rate, systolic and diastolic pressures will be displayed and recorded in application designed using Visual C# 2010 Express. Fabricated BPM capable of measuring pulse rate and blood pressure in the range of 40-260 mmHg with ratio of systolic and diastolic pressures were achieved 0.48 and 0.78, respectively. The system has an average error of systolic pressure, diastolic pressure, and pulse rate were -4.38 mmHg (2.72%), 0.10 mmHg (5,55%), and 4.48 bpm (6.07%).


I. INTRODUCTION
Blood pressure measurements commonly used today is still conventional, i.e. using sphygmomanometer and stethoscope. This method requires high precision eye to see the mercury in sphygmomanometer and ears to hear Korotkoff sounds (sounds generated from blood pressure) on the stethoscope [1]. So it takes a special ability or experts who are used to perform blood pressure measurement. In addition, mercury is also to be inert, so it cannot rise or fall rapidly. Rounding measurement is sometimes also performed by the examiner based on estimates. Whereas, accurate data are needed for further diagnosis. In addition, mercury also dangerous if the sphygmomanometer is leaking and the skin. Some countries have banned the use of mercury. Thus, electronic measurement is the right choice [2].
The automatic digital BPM is commonly used in Indonesia nowadays. The automatic method most widely used nowadays is oscillometric method, which operates on the principle of monitoring the variation or oscillation of the pressure signal in an inflatable cuff tied around the arm. By analyzing the signal, the values of systolic, diastolic and pulse rate are determined [1]. While the cuff deflates from a level above the systole pressure the artery walls start to vibrate or oscillate as blood flows through the partially occluded artery [3]. Frequency of the oscillation represents the frequency of heart beating [4].
The cuff pressure will be increased 20 mmHg to 30 mmHg above systolic pressure and a reduced pressure of 2 to 3 mmHg per second by opening the valve on the pump or bulb. Pressure cuff will be recorded electronically or by computerbased process instrumentation. Oscillations range in cuff pressure is 1-5 mmHg [5]. The maximum oscillation associated with the cuff pressure is proportional to the mean arterial pressure (MAP) [6]. Determination systolic and diastolic determined by the specific ratios. The ratios before the maximum amplitude are used to compare a certain ratio to determine systolic, whereas the ratios after the maximum amplitude are used to compare to another ratio to find the diastolic. Some researchers and manufacturers obtain different ratios as the selection criteria: Arteta C. et al defines a standard for ratios as 50% and 70% [7], devices Cuff Link as 50% and 67% and BP Pump as 54% and 59% [3], Oktavianto H. et al as 85% and 55% [1], Moraes et al as 55,73% and 76,08% [8] for systolic and diastolic respectively. So we know that the ratios which will be different every system, for systolic 0.45-0.57 and diastolic 0.69-0.89 [9].
Oscillometric signal actually indicates contraction and relaxation pressure of the heart rhythm that gives the change in blood pressure along the walls of blood vessels. Pulsation of blood vessels pressure can be detected by the pressure sensor or piezosensor. Piezoresistive sensor consists four piezoresistors on the sensor membrane. These piezoresistors are arranged on a square membrane using the Wheatstones bridge principle (two transverse and two longitudinal piezoresistors). The membrane will deform when subjected to pressure. This membrane deformation will change the resistivity of piezoresistor which affects the piezoresistors resistance and output voltage of sensor [10]. The pressure sensor used is the type MPX5050GP are easily available in the market and this type is gauge (not depends on the atmospheric pressure). The change in pressure will then be recorded and processed by the Arduino Uno. The weakness of the existing blood pressure monitor (BPM) is not able to record the measurement results based on each user, it can only record based on time. Therefore, a designed application that can display measurement results, classify the results (low, high, or normal) based on the patients age, and save the results to user account will be made. The users can make their account by name and birth date. Thus, only the account owner can access measurement results. Users can access their medical records at any time during the measurement result has been saved. This application was made using the software Microsoft Visual C # (C sharp) 2010 Express.

Hardware Design
The pressure sensor used is MPX5050GP with working pressure range 0-50 kPa or 0-375 mmHg, sensitivity of 90 mV/kPa or 12 mV/mmHg, and output voltage range between 0-5 V [11]. The sensor has a built in miniature Wheatstone bridge and square membrane with 4 piezoresistors (2 transverse and 2 longitudinal). The square membrane will be deformed when pressurized [10].
There are 2 circuits to be designed. These are MPX5050GP pressure sensors basic circuit and oscillometric circuit. Sensor must be assembled with other components to generate resources and filter output voltage accordingly. Basic circuit MPX5050GP sensor can be seen in Fig. 1(a). Oscillometric circuit consists of an amplifier and high pass filter circuit. High pass filter is used to pass frequencies above 1 Hz which is the frequency of the signal and restrict blood pressure cuff pressure signal is about 0.04 Hz [12]. Oscillation signal amplifier circuit consists of several components such as op-amps LM324N, capacitors and resistors are arranged as in Fig. 1(b). Filter consists of two series RC to define two cut-off frequency. These are 4.83 Hz and 0.48 Hz [12].

Software Design
There are 2 softwares that used in this study. These are the Arduino software and Microsoft Visual C # 2010 Express. The Arduino software is used to design the program to Arduino Uno which contains commands for controlling and processing data from the measurement results of blood pressure and pulse rate. While the Visual C # 2010 Express is used to make application that can display measurements, such as systolic, diastolic, pulse rate, and also the result of the condition statement (low, normal, or high) based on patients age. Fig. 2 is a picture showing the design of software using Visual C # 2010 Express.
The cuff should be pumped up to 270 mmHg and then slowly open the valve cuff so that the cuff pressure will decrease. When the cuff pressure of 260 mmHg, the Arduino Uno will start recording and processing information received from the sensor. When the cuff pressure has reached 40 mmHg, the measurement will be stopped so it will show the results of measurements of blood pressure, pulse, and a description of the condition of the measurement results.

Hardware Testing
Hardware testing consists of pressure sensor testing and oscillometric circuit testing. Pressure sensor testing is to know the sensitivity and offset voltage of MPX5050GP pressure sensor.The test used calibrated sphygmomanometer that connected with the sensor. From the results of sensor testing, the actual measured sensitivity of the pressure sensor obtained from the slope of the line of sensor response (Fig.3) is 12.08 mV/mmHg. The offset voltage obtained from the test is 189 mV. These values will be used to convert voltage value to pressure value on mmHg.
The second test was used to obtain and find out the oscillometric signals produced by the both circuits ( Fig. 1(a) and  1(b)). This test is carried out using a cuff looped on the arm. Pressure sensor and oscillometric circuit are connected. The cuff is pumped until the voltage shows 3 V, then the cuff is deflated slowly. Both signal from these 2 circuits are recorded using Arduino Uno, so that the Fig. 4 is obtained.
The output of the sensor consists of two signals; the oscillation signal ( 1 Hz) riding on the cuff pressure signal ( 0.04 Hz). Hence, a 2-pole high pass filter is designed to block the cuff pressure signal before the amplification of the oscillation signal. The filter consists of two RC networks which determine two cut-off frequencies, 4.8 Hz and 0.48 Hz. These two poles are chosen to make the oscillation signal is not distorted or lost [12].
The red graph on the left side (0-10 s) shows the voltage changes when pumping. After deflating, we will get the oscillation signal which is the result of amplifying and filtering of cuff pressure signal (blue signal). From these signals, we can determine systolic, diastolic, and pulse rate. Peaks at red signal (Fig. 4) is an indication of the pulses. When the heart is pumping, blood pressure will be higher. Changes in blood pressure is forming peaks on the oscillation signal. Therefore, the oscillation signal has a frequency and a certain period.

Blood Pressure Ratio Determination
Because every system measurement has different ratios of MAP, the blood pressure ratios determination is needed. The ratio of determining the systole and diastole values is changed directly on prototype BPM program.These prototype measurement resultis compared to calibrated OMRON SEM-1 measurement results. The error value is obtained by equation 1. The ratio that produces the smallest error will be used as the multiplier ratio of the peak value or MAP. Table I is the result of an average error blood pressure ratio testing.
The smallest error for systolic ratio is 0.48 and diastolic ratio is 0.78. These ratios will be used as a multiplier ratio of the highest peak (MAP) to determine systolic and diastolic peaks.

Software Testing
Designed application is equipped with a sign-up process, login, form measurement, and measurement data record (Fig.5 to Fig.7). After measuring, the measurement result displayed with classification of condition systolic, diastolic, and pulse rate (Fig.8). Users can save the result by clicking simpan data and see the record at storage form (Fig.9).

Fabricated BPM Testing and Calibrating
Program on Arduino is designed to record pumping and deflation of the cuff. The program recorded data until 270 mmHg when pumping, then the array will be reset. When the valve is opened and the cuff deflated to a pressure of 260 mmHg, the data began to be recorded again. The difference of 10 mmHg is used as a valve opening lag time to avoid big noise or overshoot. So, this fabricated BPM capable of measuring pulse rate and blood pressure in the range of 40-260 mmHg.  Arduino Uno was programmed that the threshold level of a valid pulse is set to be 1.75 V to eliminate noise or spike. The Arduino Uno will ignore the signal for 450 ms to prevent any false identification due to the presence of premature pulse overshoot due to oscillation [12]. When the cuff pressure has reached less than 40 mmHg, then array recording is stopped.
Fabricated BPM testing is used to determine the measurement error. This test was conducted in Balai Pengamanan Fasilitas Kesehatan (BPFK) Surabaya using BPM calibrator called BP Pump 2. BP Pump 2 is blood pressure monitor calibrator. The principle is like a human heart simulator that can generate static systolic pressure, diastolic pressure, and pulse rate. BP Pump 2 connected with the fabricated BPM and the measurement data would be compared. Then error value is determined by equation 1. From Table II, we know that that preliminary data showed a good agreed because theres no error more than 20% [7]. The average error of systolic pressure was -4.38 mmHg (2.72%) whereas an average error of diastolic pressure was achieved at 0.10 mmHg (5,55%).

IV. CONCLUSION
Fabricated blood pressure monitor capable of measuring pulse rate and blood pressure in the range of 40-260 mmHg with ratio of systolic and diastolic pressures were achieved 0.48 and 0.78, respectively. This BPM is working good, because theres no error more than 20%. The average error of systolic pressure was -4.38 mmHg (2.72%) whereas an average error of diastolic pressure was achieved at 0.10 mmHg (5,55%). Meanwhile, pulse rate of the system has an average error of 4.48 bpm (6.07%).