What is a Force Sensitive Resistor?

FSRs are sensors that allow you to detect physical pressure, squeezing and weight. They are simple to use and low cost.

FSR's are basically a resistor that changes its resistive value (in ohms) depending on how much its pressed. These sensors are fairly low cost, and easy to use but they're rarely accurate. They also vary some from sensor to sensor perhaps 10%. So basically when you use FSR's you should only expect to get ranges of response. While FSRs can detect weight, they're a bad choice for detecting exactly how many pounds of weight are on them.

However, for most touch-sensitive applications like "has this been squeezed or pushed and about how much" they're a good deal for the money!

Some basic stats

These stats are specifically for the Interlink 402, but nearly all FSRs will be similar. Checking the datasheet will always illuminate any differences

  • Size: 1/2" (12.5mm) diameter active area by 0.02" thick (Interlink does have some that are as large as 1.5"x1.5")
  • Price: $7.00 from the Adafruit shop
  • Resistance range: # Infinite/open circuit (no pressure), 100K ohms (light pressure) to 200 ohms (max. pressure)
  • Force range: Force range: 0 to 20 lb. (0 to 100 Newtons) applied evenly over the 0.125 sq in surface area
  • Power supply: Any! Uses less than 1mA of current (depends on any pullup/down resistors used and supply voltage)
  • Datasheet (note there are some mathematical inconsistencies in here)

Step 1: Getting Started

How to measure force/pressure with an FSR

As we've said, the FSR's resistance changes as more pressure is applied. When there is no pressure, the sensor looks like an infinite resistor (open circuit), as the pressure increases, the resistance goes down. This graph indicates approximately the resistance of the sensor at different force measurements. (Note that force is not measured in grams and what they really mean is Newtons * 100!)
(See graph below)

Its important to notice that the graph isn't really linear (its a log/log graph) and that at especially low force measurements it quickly goes from infinite to 100K ohms.

Testing your FSR

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 1M ohms and 100 ohms before 'giving up'.

Connecting to your FSR

Because FSRs are basically resistors, they are non-polarized. That means you can connect them up 'either way' and they'll work just fine!

FSRs are often a polymer with conductive material silk-screened on. That means they're plastic and the connection tab is crimped on somewhat delicate material. The best way to connect to these is to simply plug them into a breadboard

or use a clamp-style connector like alligator clips (see image below), female header

or a terminal block such as Phoenix #1881448

It is possible to solder onto the tabs but you must be very fast because if your iron is not good quality or you dally even a few seconds, you will melt the plastic and ruin the FSR! Don't attempt to solder directly to your FSR unless you are absolutely sure you have the skills to do so.

why you are dividing fsrconductance by 80 and in else part by 30. <br> <br>(if (fsrConductance &lt;= 1000) { <br>fsrForce = fsrConductance / 80; <br>Serial.print(&quot;Force in Newtons: &quot;); <br>Serial.println(fsrForce); <br>} else { <br>fsrForce = fsrConductance - 1000; <br>fsrForce /= 30; <br>Serial.print(&quot;Force in Newtons: &quot;); <br>Serial.println(fsrForce); <br> <br>kindly Explain this part of the code..
very good tutorial about how to interface a force sensor. also, I add this tutorial in my <a href="http://www.intorobotics.com/force-sensors-reviewed-and-programming-tutorials/" rel="nofollow">article about force sensors</a>
These work very well. I was able to hook them up to an Arduino with a simple voltage divider circuit (as suggested by the FSR integration guide), but I did not have to use an amplifier.<br> <br> I wrote a simple script to send the pressure data via serial from the Arduino, and then used it in a Panda3D Python application.<br> <br> They would probably not work for extremely accurate measurements, but I am able to control the pressure in the application with my fingertips quite well for my purposes.<br> <br> Cioara from <a href="http://www.45bet.com/betclic" rel="nofollow">Betclic</a>
Curious if once calibrated at zero, 1/3,2/3 and full scale, do these devices hold as far as remaining consistent? <br> With low linearity, what was the application these were designed for?
A very interesting Instructable. Thanks
Very interesting!

About This Instructable


73 favorites


Bio: All-original DIY electronics kits - Adafruit Industries is a New York City based company that sells kits and parts for original, open source hardware electronics projects ... More »
More by adafruit: Adaruit Resistor Helper Adafruit Photo Tutorial Logger Shield: Datalogging for Arduino
Add instructable to: