Force-sensing resistor
A force-sensing resistor, Interlink FSR 402 style: a round half-inch pad on a flat tail, with two legs at the end. Aliases: FSR, pressure sensor, force sensor.
Two layers of film with a spacer between them: one printed with interleaved fingers, the other with a carbon ink that shorts the fingers together wherever it is pressed onto them. Press harder, more of the ink touches, and the resistance falls. There is no supply and no output pin: like the LDR it goes in a divider with a fixed resistor.
Pins
| Pin | What it does |
|---|---|
1 |
One leg. |
2 |
The other leg. |
Properties
r100 is the resistance with 100 g on the pad, 10 000 ohms by default. slope is how
steeply it falls on log-log paper, 0.8 by default. open is the resistance with
nothing touching, 10 000 000 ohms by default.
While it runs
Drag the slider to press on the pad, 0 to 2 kg. The pad dents as it is pressed.
What the model gets right
The datasheet's shape: open until the actuation force of about 20 g, then a straight
line on log-log paper, R = r100 x (100 g / F)^slope. That is about 36 k at 20 g, 10 k
at 100 g, 1.6 k at a kilogram and 900 ohms at 2 kg, the top of the range for this size.
The step at 20 g is the thing to notice. An FSR is not a load cell: it is a switch that turns on at a light touch and then goes on getting better at being on. It says "harder" and "softer" well and "how many grams" badly; for grams, use the HX711 and a load cell.
What it does not model
Hysteresis (a real one reads lower on the way up than on the way down), drift under a steady load (it creeps down a few percent a minute), the size and shape of whatever is pressing, and temperature. The resistance follows the slider at once. The datasheet quotes a part-to-part repeatability of 6% at best; every pad here is the typical one.
Common mistakes
Wiring it with no divider resistor. On its own between a rail and an ADC pin it gives no usable reading; put 10 k from the ADC pin to ground.
See it in action
Squeeze and bend lights a lamp through an FSR and puts a flex sensor on a multimeter. Open it at /templates.