Part

Force-sensing resistor

A pad that is open until touched, then lower the harder it is pressed.

See every part
  • 2 pins
  • 3 settings
  • In 2 projects
  • In 1 lesson
Drawn live by the editor's own code, at the size you see it.
At a glance

The Force-sensing resistor in brief

What it is, and every setting the properties panel gives it.

A force-sensing resistor is the Interlink FSR 402 and its half-inch twins: two films with a spacer, one printed with interleaved fingers and one with carbon ink that shorts them where pressed, so the resistance falls as the force rises. Its two legs, 1 and 2, have no polarity and need no supply; it goes in a divider. On an Uno, one leg to 5 V, the other to A0 with 10 k from A0 to GND,; on an ESP32, the same divider from 3.3 V into an ADC1 pin. Mokxi follows the datasheet’s log-log line, R = r100 x (100 g / F) ^ slope, with r100 10 k and slope 0.8 as properties: about 36 k at the 20 g actuation point, 10 k at 100 g, 1.6 k at a kilogram and 900 ohms at 2 kg. Below 20 g the films do not touch and the part is open, 10 megohms. The slider presses up to 2 kg. The classic mistake is wiring it with no divider resistor; the other is expecting grams, which is a load cell’s job. Hysteresis, creep under a steady load, temperature and part-to-part spread are not modeled.

Family
Sensors
Pins
2
r100
10000
slope
0.8
open
10000000
Pins

2 pins

Named as the editor names them, so a wire lands where you expect it.

Pin
What it does
1
One leg.
2
The other leg.
How to use it

How to use a force-sensing resistor with an Arduino

An FSR has two legs and no polarity, and it only gives a reading inside a divider. In this circuit leg 1 goes to 5 V, leg 2 to A0, and a 10 k resistor runs from A0 to GND. Unpressed the pad is open and A0 sits near 0; press it and its resistance falls from about 36 k at 20 g to 10 k at 100 g and under 1 k at 2 kg, so the count climbs toward 1023.

The knock lock reads it the way an FSR is best read, as harder or softer rather than as grams: a reading over 100 is a knock, and the sketch counts a knock only on the change from not pressed to pressed. Press the button to lock, then drag the FSR’s slider up and down three times and the servo bolt opens. Leave out the 10 k and A0 floats; for real weights, use a load cell and an HX711.

Part pin
Board pin
1
5 V
2
A0, and 10 k to GND

On an ESP32, feed the divider from 3.3 V and read an ADC1 pin; the 12-bit reading runs to 4095 instead of 1023.

Arduino Uno: knock lock with a force sensorlive0.000 s 0.00x
Hold the button
This is the simulator itself, running here. Click anything to open it in the editor.
One knock per press, from the knock lock sketch
bool pressed = analogRead(SENSOR) > KNOCK_LEVEL;
if (pressed && !wasPressed) {
  knocks++;
  if (knocks >= KNOCKS_TO_OPEN) unlock();
}
wasPressed = pressed;
How it is modeled

What is true about the Force-sensing resistor, here

In its help article’s own words: what the simulation gets right, and where it stops.

Modeled

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.

Not modeled

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.

From Force-sensing resistor, in full.

Projects

See the Force-sensing resistor in a project

2 built-in projects use it. Each opens in the editor, already wired.

Lessons

Where it turns up in a lesson

One lesson places it in its own circuit.

Boards

The boards it is shown on

This board has a built-in project with the Force-sensing resistor in it.

Wire up the Force-sensing resistor

Open the editor and push it into the breadboard. It is free, and it runs on your own machine.