I finally succeeded in measuring blood pressure in an almost reliable way. In this post I will show the results of my experiments


In order to determine the law between the value returned by the Force Sensor Resistor and the blood pressure, I run some comparison tests. Basically, I measured my real blood pressure with a normal home medical device (see picture) and associate the readings of the medical devices with the corresponding ADC reading of the FSR.

I made a test on myself (I have a blood pressure of about 130) and my wife (which has a blood pressure of 110)

Here are the data I collected


14 - Collected data.png


In terms of accuracy, it seems quite good. I applied the following formula to determine the accuracy of the instrument:


   14 - Formula1.png


I got that the blood pressure reading can vary of less the 10, which is not enough for the MagicHat to be approved for use as a diagnostic device, but it's good enough for a gadget. Also, the design can definitely be improved in terms of sensor selection and mechanical building.

Regarding the selection of the sensor, I probably select the wrong one because its range will allow me to measure blood pressure only up to about 150. IN a next design revision a FSR with a maximum load of up to  3 kilos will be selected


Given the above data, I have been able to detemine the following linear correlation between ADC reading and blood pressure


  14 - Formula2.png


Since I will use Arduino's map function, I need the values corresponding to ADC readings 0 and 1023. So


ADC reading = 0 -> Blood pressure = -253,24

ADC reading = 1023 -> Blood pressure = 196,88


The above-mentioned results have been obtained in parallel with the choice of the most suitable speed of the elastic rubber string that forces the patient's finger. I need to determine whether the blood is still flowing so I have to wait at least 1.5 seconds to determine whether heart beat is still detectable or not. This requires the movement to be slow. However, it's not very comfortable for the patient if it takes a long time just to measure blood pressure...

The best compromise I found was to move the servo for 20 ms and stop it for 500 ms.


Here is a video showing the blood pressure measurement device at work