In this article we are going to see, what force sensing resistor is, their construction, specification and finally how to interface it with Arduino microcontroller.

By: Girish Radhakrishnan

What is Force Sensing Resistor

A force sensing resistor senses the force applied to it and correspondingly changes its resistance. The resistance is inversely proportional to force. This means when the applied force high, it reduces its resistance and vice-versa.

The “force sensing resistor” or FSR is not an ideal term, since it is actually sensing the pressure and the output is dependent on the pressure on the surface of the resistor. The more appropriate name would be pressure-sensitive resistor. But force-sensing resistor became common term to refer it.

It has a wide range of resistance, it can vary from few ohm to >1M ohm. An unloaded FSR would have around 1M ohm and fully loaded would have around few ohm resistance.

The force-sensing resistor comes in various shapes; the common shapes are circle and square. It can sense weight ranging from 100g to 10Kg. The major disadvantage is that, it is not very accurate and has very high tolerance value. The accuracy reduces overtime due to usage. But it is reliable enough to be used for hobby projects and non critical industrial measurements. It is not suitable for high current applications.

Force Sensing Resistor


The device measures from 20 x 24 inches to as small as 0.2 x 0.2 inches. The thickness ranging from 0.20 mm to 1.25mm depending on the material used.

The force sensitivity is from 100g to 10Kg. The pressure sensitivity ranging from 1.5psi to 150 psi or 0.1Kg/Cm square to 10Kg/Cm square.

The response time of FSR ranges from 1-2 milliseconds. The operating temperature is from -30 degree Celsius to +70 degree Celsius.

The maximum current is 1 mA/Cm square. So handle this resistor carefully, do not apply huge current through this resistor.

The life time of FSR is greater than 10 million actuations.

The brake force or minimum force to respond by FSR must be from 20-100 gram. The resistance is not affected by noise or vibration.

Working of FSR:

The force sensing resistor consists of three layers: an active area, plastic spacer and conductive film.

The active area where the force is applied, the plastic spacer which isolates the two layers and an air vent is provided for discharge of air bubbles. The accumulation of air bubble leads to unreliable results.

The conducting film consists of both electric and dielectric particles which are suspended in matrix form.

When force is applied it changes its resistance in predictable manner. These are microscopic particles ranges few micrometers. The conductive film is basically a kind of an ink coated on plastic film. When pressure is applied the conducting particles come close together and reduce resistance and vice-versa.

Basic circuits using force sensitive resistor:

You can use this resistor for any application to detect changes in force. For instant, you can make a pressure sensitive switch by paring FSR with op-amp.

Basic circuits using force sensitive resistor

Interfacing with Ardiono

You can set threshold by adjusting 10k potentiometer. When you apply force to the resistor and reaches above threshold voltage the output goes high and vice-versa. Thus we can obtain digital outputs from it; this output can be interfaced to digital circuits.

Here is another circuit using arduino which measures different pressure level:

In interfacing force sensitive resistor with Arduino

The input is fed to analog read pin, which takes different voltage levels digitally from 0 to 255.

User can set their own threshold level in the program (Program is not given).

When light pressure is given blue LED turns ON, when medium pressure is given green LED turns ON, if high pressure is applied red LED turns ON.

Just use your imagination to find new applications and it’s endless.

Need Help? Please send your queries through Comments for quick replies!