Reading patient's heart rate is the first step to get a more useful physical parameter: blood pressure

The idea I want to develop in this challenge is to tighten the finger until the sensor is no longer able to read heart beat. At that point, the pressure that lace is equal to the blood pressure. Typically, the blood pressure measurement units use a cuff that is pumped by a small compressor. To save weight and reduce the building cost of the MagicHat, I will try a different approach: a servo will pull an elastic string until the blood stops flowing in the finger. At that point, the force exercised by the lace is measured by means of a Force Sensing Resistor (FSR for short)

A Force Sensing Resistor is a device whose resistance decreases with the force applied on the sensor surface. A typical graph of the sensor resistance versus applied force is shown below

07 - Resistance vs force.png


The easiest way to measure a resistive sensor is to connect one end to Power and the other to a pull-down resistor to ground. Then the point between the fixed pull-down resistor and the variable FSR resistor is connected to the analog input of a microcontroller such as an Arduino (shown).

07 - Fritzing FSR.png


07 - FSR Circuit.gif


In this configuration the analog voltage reading ranges from 0V (ground) to about 5V (or about the same as the power supply voltage)

The way this works is that as the resistance of the FSR decreases, the total resistance of the FSR and the pull-down resistor decreases from about 100Kohm to 10Kohm. That means that the current flowing through both resistors increases which in turn causes the voltage across the fixed 10K resistor to increase.

The easiest way to determine how your FSR works is to connect a multimeter in resistance-measurement mode to the two tabs on your sensor and see how the resistance changes. Because the resistance changes a lot, a auto-ranging meter works well here. Otherwise, just make sure you try different ranges, between 1 Mohm and 100 ohm before 'giving up'.


Weight (g)

Force (N)

FSR Resistance

(FSR + R) ohm

Current thru FSR+R

Voltage across R





0 mA


20 g

0.2 N

30 Kohm

40 Kohm

0.13 mA

1.3 V

100 g

1 N

6 Kohm

16 Kohm

0.31 mA

3.1 V

1 kg

10 N

1 Kohm

11 Kohm

0.45 mA

4.5 V

10 kg

100 N

250 ohm

10.25 Kohm

0.49 mA

4.9 V

This table indicates the approximate analog voltage based on the sensor force/resistance w/a 5V supply and 10K pulldown resistor.


Note that our method takes the somewhat linear resistivity but does not provide linear voltage! That's because the voltage equation is:


Vo = Vcc ( R / (R + FSR) )

That is, the voltage is proportional to the inverse of the FSR resistance (see graph below)


07 - Vout vs Rm.png