Zbotic Logo Zbotic Logo
  • Home
  • Shop
  • Sale
  • 3D Print Service
  • PCB Service
  • B2B
  • Blogs
  • Contact Us
0 0

View Wishlist Add all to cart

0 0
0 Shopping Cart
Shopping cart (0)
Subtotal: ₹0.00

View cartCheckout

  • Shop
  • About Us
  • Contact Us
  • Reseller
  • Blogs
020 69134444
1800 209 0998
[email protected]
Help Desk
Facebook Twitter Instagram Linkedin YouTube
Zbotic Logo Zbotic Logo
0 0

View Wishlist Add all to cart

0 0
0 Shopping Cart
Shopping cart (0)
Subtotal: ₹0.00

View cartCheckout

All departments
  • 3D Print Service
  • 3D Printer
  • Batteries & Chargers
  • Development Boards
  • Drone Parts
  • EBike parts
  • Sensor Modules
  • Electronic Components
  • Electronic Modules
  • IoT and Wireless
  • Mechanical Parts and Workbench Tools
  • Motors & Drivers & Pumps & Actuators
  • DIY and Robot Kits
  • Show more
  • Home
  • Shop
  • Sale
  • 3D Print Service
  • PCB Service
  • B2B
  • Blogs
  • Contact Us
Return to previous page
Home Sensors & Modules

Force Sensor FSR402: How to Measure Pressure with Arduino

Force Sensor FSR402: How to Measure Pressure with Arduino

March 11, 2026 /Posted byJayesh Jain / 0

The FSR402 (Force Sensitive Resistor) is a thin, flexible sensor that changes its electrical resistance in response to applied force or pressure. It is one of the most popular pressure-sensing components in the maker community because of its low cost, ease of use, and thin flat form factor. In this complete tutorial, we cover everything you need to know about using the FSR402 with Arduino — from the physics of how it works to complete project code examples.

Table of Contents

  1. What Is the FSR402?
  2. How Force Sensitive Resistors Work
  3. FSR402 Specifications
  4. The Voltage Divider Circuit
  5. Wiring FSR402 to Arduino
  6. Arduino Code
  7. Converting ADC Readings to Newtons
  8. Calibration with Known Weights
  9. Project Ideas
  10. FSR402 vs Load Cell: Which to Use?
  11. FAQ
  12. Conclusion

What Is the FSR402?

The FSR402 is manufactured by Interlink Electronics and is part of their FSR (Force Sensing Resistor) product line. It has an 18.28mm diameter active sensing area and comes with two flexible leads for easy breadboard or PCB connection. The FSR402 can measure forces from approximately 100g to 10kg, making it suitable for a wide range of pressure-sensing applications.

Key characteristics of the FSR402:

  • Flexible and thin — 0.45mm total thickness, can be bent around curves
  • Large force range — 100g to 10kg (0.2N to 20N)
  • Passive component — no power required for the sensor itself
  • Short response time — <3 milliseconds
  • Wide temperature range — -30°C to +70°C

The FSR series is commonly used in gaming controllers (force feedback), medical devices (pressure mats), smart furniture (seat occupancy detection), and numerous robotics and wearables projects.

How Force Sensitive Resistors Work

The FSR402 uses a polymer thick film (PTF) technology. The sensing element consists of two thin layers:

  1. Resistive layer: A conductive polymer coating with a high base resistance
  2. Electrode layer: An interdigitated (interleaved) electrode pattern printed on a flexible substrate

When no force is applied, the two layers are separated and resistance is very high (essentially open circuit — greater than 1MΩ). When force is applied, the layers are pressed together. More contact points form between the resistive polymer and the electrodes, reducing the resistance. The more force applied, the lower the resistance.

This relationship is non-linear — the resistance drops steeply at first, then more slowly as force increases. The force-resistance curve follows approximately a power law relationship, which we account for during calibration.

FSR402 Specifications

Parameter Value
Sensing Diameter 18.28mm (0.72 inch)
Force Range 0.2N to 20N (approx 20g to 2kg)
Resistance (no load) > 1MΩ
Resistance (at 100g) ~30kΩ
Resistance (at 1kg) ~5kΩ
Resistance (at 10kg) ~200Ω
Total Thickness 0.45mm
Response Time <3ms
Repeatability ±2% of full scale
Operating Temperature -30°C to +70°C

The Voltage Divider Circuit

The FSR402 is a variable resistor, so we need a voltage divider circuit to convert its changing resistance into a voltage that Arduino’s ADC can read. The formula is:

Vout = Vcc × R_fixed / (R_FSR + R_fixed)

Choosing the right fixed resistor (R_fixed) is important:

  • For light touch applications (20g–500g): Use 100kΩ — gives better resolution at low forces
  • For medium force (100g–2kg): Use 10kΩ — best overall linearity
  • For heavy force (1kg–10kg): Use 1kΩ — gives resolution at high forces

For most Arduino projects, 10kΩ is the best starting point. The voltage output will be approximately:

  • No force: ~0V (R_FSR >> 10kΩ)
  • Light touch: ~1V
  • Firm press: ~3–4V
  • Maximum force: ~4.5V

Wiring FSR402 to Arduino

Standard Voltage Divider Wiring

  • FSR Pin 1 → Arduino 5V
  • FSR Pin 2 → Arduino A0 AND one end of 10kΩ resistor
  • Other end of 10kΩ resistor → Arduino GND

That’s it — only 3 connections needed! The 10kΩ resistor forms the lower half of the voltage divider and pulls the analog pin low when no force is applied.

1Kg Load Cell Electronic Weighing Scale Sensor

1Kg Load Cell – Electronic Weighing Scale Sensor

For precision weight measurement projects, upgrade to a load cell — more accurate than FSR for calibrated weight readings up to 1kg.

View on Zbotic

Arduino Code

Basic FSR Reading

// FSR402 Basic Reading Example
// Voltage divider: FSR + 10kΩ to GND

const int FSR_PIN = A0;
const float VCC = 5.0;       // Supply voltage
const float R_DIV = 10000.0; // 10kΩ fixed resistor

void setup() {
  Serial.begin(9600);
  Serial.println("FSR402 Pressure Sensor");
  Serial.println("ADC | Voltage | FSR Resistance");
}

void loop() {
  int adcReading = analogRead(FSR_PIN);

  if (adcReading == 0) {
    Serial.println("No pressure detected");
  } else {
    // Convert ADC to voltage
    float voltage = adcReading * VCC / 1023.0;

    // Calculate FSR resistance from voltage divider
    float fsrResistance = R_DIV * (VCC / voltage - 1.0);

    Serial.print("ADC: "); Serial.print(adcReading);
    Serial.print(" | V: "); Serial.print(voltage, 2);
    Serial.print("V | R_FSR: "); Serial.print(fsrResistance);
    Serial.println(" Ω");
  }

  delay(500);
}

Converting ADC Readings to Newtons

The FSR402’s resistance-to-force relationship is non-linear, but Interlink Electronics provides a conductance (1/R) vs force graph in the datasheet. Conductance is roughly linear with force, which makes calculations easier:

// FSR402 Force Estimation in Newtons
// Uses conductance approach from Interlink datasheet

const int FSR_PIN = A0;
const float VCC = 5.0;
const float R_DIV = 10000.0;

void setup() {
  Serial.begin(9600);
}

void loop() {
  int adcReading = analogRead(FSR_PIN);

  if (adcReading <= 5) {
    Serial.println("No force");
  } else {
    float voltage = adcReading * VCC / 1023.0;
    float fsrResistance = R_DIV * (VCC / voltage - 1.0);
    float conductance = 1.0 / fsrResistance; // in Siemens

    float forceGrams;
    // Piecewise linear approximation from datasheet
    if (conductance <= 0.00085) {
      // Low force region: 100g to ~600g
      forceGrams = conductance / 0.00000085;
    } else {
      // High force region: 600g to 10kg
      forceGrams = conductance / 0.000000085;
    }

    float forceNewtons = forceGrams * 9.81 / 1000.0;

    Serial.print("Force: ");
    Serial.print(forceGrams);
    Serial.print(" g | ");
    Serial.print(forceNewtons, 3);
    Serial.println(" N");
  }
  delay(500);
}

Note: These formulas give approximate readings. For accurate measurements, always calibrate with known weights as described in the next section.

Calibration with Known Weights

For reasonably accurate force measurements, calibrate the FSR with known weights:

  1. Create a flat, even mounting surface — mount the FSR on a hard flat surface. Irregular surfaces cause uneven pressure distribution and inaccurate readings.
  2. Zero calibration: Record the ADC value with no weight.
  3. Apply known weights: Use calibrated weights (coin + known weight in grams works in a pinch). Record ADC values at 50g, 100g, 200g, 500g, 1kg.
  4. Build a lookup table or calculate a best-fit polynomial from the data points.
  5. Interpolate between table entries for readings between known weights.

Important tips for accurate readings:

  • Always apply force through a flat actuator (small disc or coin) — never press with a sharp point
  • Creep: FSR readings drift under sustained load — not suitable for long-duration static weight measurement
  • Temperature affects resistance — recalibrate if temperature changes significantly
  • Hysteresis: readings may differ slightly during loading vs unloading

Project Ideas

1. Smart Doorbell (Pressure-Based)

Embed an FSR402 behind a door nameplate. When someone presses it, trigger a buzzer or IoT notification. No moving parts — completely silent and weatherproof with proper waterproofing.

2. Seat Occupancy Detector

Place FSR under a chair cushion to detect if someone is seated. Useful for automated lighting, smart desks, or elderly care monitoring. Trigger a timer if the person has been seated continuously for too long without moving (sedentary alert).

3. Grip Strength Monitor

Encapsulate the FSR in a soft rubber grip and squeeze to measure hand grip force. Log data over time to track rehabilitation progress. Pair with Bluetooth to send data to a smartphone app.

4. Smart Kitchen Scale

Use 3–4 FSR sensors in parallel under a weighing platform to create a basic kitchen scale. The parallel arrangement averages out uneven force distribution. Note: for precise measurements over 500g, load cells are more reliable.

10Kg Load Cell Electronic Weighing Scale Sensor

10Kg Load Cell – Electronic Weighing Scale Sensor

Need to weigh heavier items? The 10kg load cell with HX711 amplifier gives precision weight measurement far beyond what FSRs can provide.

View on Zbotic

5. Piano/Keyboard Keys

Place FSR sensors under piano keys or drum pads to create a velocity-sensitive MIDI controller. The harder you press, the higher the MIDI velocity value — creating a realistic playing feel.

FSR402 vs Load Cell: Which to Use?

Feature FSR402 Load Cell (with HX711)
Accuracy ±5–10% ±0.1–0.5%
Cost ~₹150–300 ~₹200–500 + HX711
Form Factor Thin, flexible Rigid, requires mounting
Wiring 2 wires + resistor 4 wires + HX711 module
Hysteresis High Very low
Best Use Touch detection, presence sensing Precise weight measurement
50kg Half-bridge Body Scale Load Cell Sensor

50kg Half-bridge Body Scale Load Cell

Build a bathroom scale or heavy-duty weighing system — this 50kg load cell with HX711 is ideal for applications where the FSR402’s range isn’t enough.

View on Zbotic

Frequently Asked Questions

Q: Can the FSR402 be used outdoors?

The FSR402 is not inherently waterproof. For outdoor use, protect it with a silicone sealant or encapsulate in a waterproof casing. Avoid extended UV exposure which can degrade the polymer film over time.

Q: What is the maximum force the FSR402 can measure?

Interlink rates the FSR402 up to approximately 10kg (100N). Exceeding this force will not immediately damage the sensor but will cause the resistance to bottom out (around 200Ω) and readings will no longer increase. For heavier loads, use the FSR406 or a proper load cell.

Q: Why does my FSR give different readings each time?

FSRs have inherent hysteresis (up to 10%) and drift. The reading depends on how force is applied — use a flat, rigid actuator disc for consistent results. Readings also drift over the first few seconds after applying force (creep effect). For repeatable measurements, always let the reading stabilize for 1–2 seconds.

Q: Can I connect FSR402 directly to a digital pin?

Not directly for analog readings. However, you can use it as a simple touch threshold detector with a voltage divider — set the threshold resistor so that any meaningful touch pushes the voltage above 2.5V, then use digitalRead() for a simple touch/no-touch detection. For actual force values, you must use analogRead().

Q: What’s the difference between FSR400, FSR402, FSR406, and FSR408?

All are from Interlink’s FSR series with the same sensing technology but different sensing areas: FSR400 (0.63cm round), FSR402 (1.27cm round, most popular), FSR406 (2.54cm long strip), FSR408 (4.57cm long strip). The force range and resistance-force characteristics are similar across the series — choose based on the size of area you need to sense.

Conclusion

The FSR402 force sensor is an excellent introduction to pressure and force sensing in Arduino projects. Its thin, flexible form factor, simple two-wire interface, and reasonable force range make it ideal for touch detection, occupancy sensing, interactive devices, and dozens of other applications.

Remember: the FSR402 is best suited for relative force detection and touch/press sensing. If you need precision weight measurement (better than ±5% accuracy), pair it with a proper load cell and HX711 amplifier for accurate results.

The key to getting good FSR readings: use the right divider resistor for your force range, apply force through a flat actuator, add software averaging to smooth the readings, and calibrate with known weights for your specific use case.

Find Load Cells & Force Sensors at Zbotic

Shop FSR sensors, load cells, and all electronic components for your Arduino projects — fast delivery across India.

Shop Sensors & Modules

Tags: force measurement arduino, force sensitive resistor arduino, FSR arduino tutorial, FSR402 force sensor, pressure sensor arduino
Share Post
  • Facebook
  • Linkedin
  • Whatsapp
TMC2209 vs TMC2208: Best Silen...
blog tmc2209 vs tmc2208 best silent stepper driver comparison 596459
blog sht31 vs dht22 vs bme280 best humidity sensor for your project 596465
SHT31 vs DHT22 vs BME280: Best...

Related posts

Svg%3E
Read more

Encoder Module: Position and Speed Measurement with Arduino

April 1, 2026 0
A rotary encoder converts the angular position and rotation speed of a shaft into electrical signals that Arduino can count... Continue reading
Svg%3E
Read more

Infrared Obstacle Sensor: Line Follower and Object Detection

April 1, 2026 0
Infrared obstacle sensors are the building blocks of line-following robots, edge detection systems, and proximity triggers. These tiny modules emit... Continue reading
Svg%3E
Read more

Rain Sensor and Raindrop Detection Module: Arduino Guide

April 1, 2026 0
A rain sensor module detects the presence of water droplets on its surface, giving Arduino a simple signal to trigger... Continue reading
Svg%3E
Read more

LiDAR Sensor TFmini: Distance Measurement Beyond Ultrasonic

April 1, 2026 0
When ultrasonic sensors hit their limits — range too short, accuracy too coarse, outdoor sunlight causing interference — LiDAR sensors... Continue reading
Svg%3E
Read more

Pressure Sensor BMP280: Weather Station and Altitude Meter

April 1, 2026 0
The BMP280 barometric pressure sensor by Bosch measures atmospheric pressure with ±1 hPa accuracy and temperature with ±1°C precision. These... Continue reading

Add comment Cancel reply

Your email address will not be published. Required fields are marked

Facebook Twitter Instagram Pinterest Linkedin Youtube

Get the latest deals and more.

Download on Google Play Download on the App Store

Call us: 020 69134444 / 1800 209 0998

Monday - Saturday 09:30 AM - 06:00 PM
For Technical Supports Email: [email protected]
For Sales / Enquiries Email: [email protected]

  • My Account

    • Cart

    • Wishlist

    • Checkout

    • My Orders

    • Track Order

    • My Account

  • Information

    • FAQs

    • Blogs

    • Career

    • About Us

    • Contact Us

    • Payment Options

  • Policies

    • Privacy Policy

    • Terms & Conditions

    • GST Input Tax Credit

    • Shipping Return Policy

    • E-Waste Collection Points

    • Our Sitemap

© Zbotic.in is registered trademark of Moxie Supply Pvt Ltd – All Rights Reserved
Login
Use Phone Number
Use Email Address
Not a member yet? Register Now
Reset Password
Use Phone Number
Use Email Address
Register
Already a member? Login Now