SoftPot Hookup Guide

Pages
Contributors: jimblom
Favorited Favorite 6

Introduction

Soft potentiometers are very thin and very unique potentiometers. Instead of a knob or physical slider, the softpot's wiper is any object -- a finger, pen cap, stylus, etc -- that can slide across its sensor membrane. Softpots can be used as position sensors in CNC machines, volume control sliders in custom stereos, throttles for drones, or in any project that requires linear movement sensing.

SoftPot Membrane Potentiometer - 50mm

SoftPot Membrane Potentiometer - 50mm

SEN-08680
$8.50
3

Like any potentiometer, the softpot is a three terminal device. The middle pin is the wiper, and the other two terminals are the high and low ends of the resistive element. By supplying the outer terminals with a power and ground connection, the middle terminal can be used to produce a variable voltage.

Suggested Materials

This tutorial serves as a quick primer on soft potentiometers, and demonstrates how to hook them up and use them. In addition to the softpot, the following materials are recommended:

Arduino Uno -- We'll be using the Arduino's analog-to-digital converter to read in the variable voltage of the softpot. Any Arduino-compatible development platform -- be it a RedBoard, Pro or Pro Mini -- can substitute.

Breadboard and Jumper Wires -- The soft pot three terminals are breadboard compatible. The breadboard is used as an intermediary device between sensor and jumper wires to the Arduino.

SparkFun RedBoard - Programmed with Arduino

SparkFun RedBoard - Programmed with Arduino

DEV-13975
$21.50
50
Breadboard - Self-Adhesive (White)

Breadboard - Self-Adhesive (White)

PRT-12002
$5.50
48
Jumper Wires Standard 7" M/M - 30 AWG (30 Pack)

Jumper Wires Standard 7" M/M - 30 AWG (30 Pack)

PRT-11026
$2.45
20

Force Sensitive Resistor Adapter -- While the FSR terminals are breadboard-compatible, we've found that it may be loose in the breadboard. For those looking for a way to make a more secure connection without soldering, try looking at the associated Amphenol pin adapters. You will need a pair of needle nose pliers to clamp the the adapter down.

Amphenol FCI Clincher Connector (2 Position, Female)

Amphenol FCI Clincher Connector (2 Position, Female)

COM-14194
$2.10
Amphenol FCI Clincher Connector (2 Position, Male)

Amphenol FCI Clincher Connector (2 Position, Male)

COM-14195
$2.10
Amphenol FCI Clincher Connector (3 Position, Female)

Amphenol FCI Clincher Connector (3 Position, Female)

COM-14196
$1.05
1
Amphenol FCI Clincher Connector (3 Position, Male)

Amphenol FCI Clincher Connector (3 Position, Male)

COM-14197
$1.05
2

Suggested Reading

SoftPot's are a great entry-level component for beginners, but there are still a few basic electronics concepts you should be familiar with. If any of these tutorial titles sound foreign to you, consider skimming through that content first.

Analog to Digital Conversion

The world is analog. Use analog to digital conversion to help digital devices interpret the world.

What is an Arduino?

What is this 'Arduino' thing anyway? This tutorials dives into what an Arduino is and along with Arduino projects and widgets.

Resistors

A tutorial on all things resistors. What is a resistor, how do they behave in parallel/series, decoding the resistor color codes, and resistor applications.

Analog vs. Digital

This tutorial covers the concept of analog and digital signals, as they relate to electronics.

SoftPot Overview

Softpots come in a variety of sizes. The SparkFun catalog sports 50mm, 200mm, and 500mm long softpot strips. You can also find circular, arc-shaped, or other uniquely-shaped softpots in the market.

SoftPot Membrane Potentiometer - 500mm

SoftPot Membrane Potentiometer - 500mm

SEN-08681
$25.95
7
SoftPot Membrane Potentiometer - 50mm

SoftPot Membrane Potentiometer - 50mm

SEN-08680
$8.50
3
SoftPot Membrane Potentiometer - 200mm

SoftPot Membrane Potentiometer - 200mm

SEN-08679
$12.95
3

The 50mm and 200mm softpot's feature a 10kΩ overall resistance between the outer-two terminals, while the larger 500mm softpot measures in at 20kΩ.

Placing your wiper at the base of the soft pot will effect a nearly 0Ω resistance between the middle pin and pin 1 (indicated by the arrow). When the wiper reaches the far end of the soft pot, the resistance will approach 10kΩ. And, if the wiper is in the middle, the resistance should be around 5kΩ.

Resistance along soft pot

The softpot is generally linear across the entire sensor area, so any math you'll do to determine a wiper's position should be relatively simple!

Hardware Assembly

The sensors have solder tabs that are stapled through a flexible substrate to make contact with the semi-conductive material. Depending on your project application and skill set, there are a few methods of connecting to the sensor. Some assembly may be required to connect to the pins reliably.

Solder Tabs on Force Sensitive Resistor

Breadboard Compatible Tabs

For prototyping and testing, these solder tabs can be inserted into a breadboard or female jumper wires. Here are two examples with the flex and soft potentiometer sensors.

Flex Sensor Inserted Vertically on Breadboard SoftPot Inserted Vertically on Breadboard Flush Against the Table
Flex Sensor Inserted Vertically on Breadboard with Space to Bend SoftPot Inserted Vertically on Breadboard Flush Against the Table

Soldering to Tabs

When integrating it into a long term project and installation, there is an option to solder wires or a PCB directly to the solder tabs. However, excessive heat can melt the material and damage the sensor due to the limitations in the flexible substrate and the semi-conductive material. Below is an example of the flex sensor soldered to a PCB from our production assembly technicians.

Flex Sensor Soldered on PCB for Qwiic Flex Glove Controller

While you can solder to the SofPot's solder tabs, we only recommended for advanced users that have experience with soldering. For those soldering to the SoftPot , you would need to solder at a lower temperature and ensure that the soldering iron is not heating the tab for no more than 1 second. Any longer and you can damage the material and semi-conductive material. The force sensitive resistor in particular is more susceptible to damage compared to the flex sensors and SoftPot.

Amphenol CFI Clincher Connector

As an alternative, users can use the Amphenol FCI Clincher connector to make a reliable connection to the sensor and provide a small amount of strain relief on the crimped connector. This is recommended for those that have not soldered before and are using the sensors in an long term projects beyond the breadboard or in a classroom setting. The connector was designed to crimp pins on flexible printed circuits as an alternative to applying heat to heat sensitive components such as the semi-conductive material or conductive ink.

Clincher connector on the Force Sensitive Resistor, Flex Sensor, and SoftPot

Crimping the Clincher Connector

We'll be using the male Clincher connector to crimp down on the flex sensor. However, the instructions listed below can be applied to any two or three pin flexible sensor as well.

To connect, you will need to cut off the solder tabs on the sensor. Make sure to cut as close to the solder tabs as possible. You can have issues connecting to the semi-conductive material if you cut off too much of the sensor. The length of the semi-conductive pads on the SoftPot is smaller than the force sensitive resistor and flex sensor.

Cutting Solder Tabs Off Flex Sensor Cutting Solder Tabs Off Slide Pot
Cutting Solder Tabs Off Flex Sensor Cutting Solder Tabs Off Slide Pot

After cutting the staples off, insert the sensor in the respective Clincher connector. Make sure to align the semi-conductive material with the new staples or you may create a short. Depending on the sensor, you may have less semi-conductive material to work with. The SoftPot will have smaller pads to work with after cutting the solder tabs off as shown on the image to the right.

Inserting the Flex Sensor into the 2-Pin Clincher Connector Inserting the SoftPot Sensor into the 3-Pin Clincher Connector
Inserting the Flex Sensor into the 2-Pin Clincher Connector Inserting the SoftPot Sensor into the 3-Pin Clincher Connector

Once you have aligned the sensor, we recommend adding a piece of tape to hold down the sensor with the Clincher connector to prevent the sensor from moving around when clamping the connector down.

Flex Sensor Held Against Clincher Connector with Tape

We recommend using a flush, slip joint plier to clamp the connector down. As you can see from the image, the force is being applied on the center of the latch and staples instead of along the grooves on the side of the connector. The force sensitive resistor will be easier to clamp down compared to the other flexible substrates on the flex sensor and SoftPot. You will hear a small but satisfying pop when the crimp pins bite through the sensor.

Flush Slip Joint Pliers Used to Apply Uniform Force Against Tab in the Middle

Otherwise, needle nose pliers can be used to clamp the staples to the sensor. Close the tab to hold the crimp pins against the semi-conductive material. Then make sure to carefully apply force on the center from each corner (while avoiding the grooves on the side).

If you apply force incorrectly with needle nose pliers, there is a risk of damaging the plastic housing. The image on the right shows the Clincher connector housing damaged even though the crimp pins are making contact with the SoftPot.

Pliers applied incorrectly to the Clincher connector. Clincher connector's housing damaged for the SoftPot.
Pliers applied incorrectly to the Clincher connector. Clincher connector's housing damaged for the SoftPot.

When finished, remove the tape from the back. To test, you can use a multimeter to determine if the sensor has a short or is able change in resistance. You can also connect the sensor to your circuit using jumper wires to check if the sensor is working as expected.

Clincher connector on the Force Sensitive Resistor, Flex Sensor, and SoftPot

Example Circuit

By supplying a voltage to the outer pins of the SoftPot, we can generate a variable voltage on the middle wiper pin. Here's an example hookup:

Fritzing example circuit

A 10kΩ resistor between the wiper and ground pulls the SoftPot's analog output signal down. This ensures that the sensor's output value doesn't "float" -- a term we use when the voltage of a signal is bouncing around with no real certainty.

By connecting pin 1 to ground and pin 3 to 5V, we cause the voltage on the middle pin to rise from 0V to 5V as the wiper moves from the bottom of the softpot (towards the terminals) to the top. Reversing the power supply can swap that relationship around.

Example Code

Here is a simple Arduino example based on the circuit above. Copy and paste this into your Arduino IDE, then upload!

Note: This example assumes you are using the latest version of the Arduino IDE on your desktop. If this is your first time using Arduino, please review our tutorial on installing the Arduino IDE.

If you have not previously installed an Arduino library, please check out our installation guide.

language:c
/******************************************************************************
SoftPot_Example.ino
Example sketch for SparkFun's soft membrane potentiometer
  (https://www.sparkfun.com/products/8680)
Jim Lindblom @ SparkFun Electronics
April 28, 2016

- Connect the softpot's outside pins to 5V and GND (the outer pin with an arrow
indicator should be connected to GND). 
- Connect the middle pin to A0.

As the voltage output of the softpot changes, a line graph printed to the
serial monitor should match the wiper's position.

Development environment specifics:
Arduino 1.6.7
******************************************************************************/
const int SOFT_POT_PIN = A0; // Pin connected to softpot wiper

const int GRAPH_LENGTH = 40; // Length of line graph

void setup() 
{
  Serial.begin(9600);
  pinMode(SOFT_POT_PIN, INPUT);
}

void loop() 
{
  // Read in the soft pot's ADC value
  int softPotADC = analogRead(SOFT_POT_PIN);
  // Map the 0-1023 value to 0-40
  int softPotPosition = map(softPotADC, 0, 1023, 0, GRAPH_LENGTH);

  // Print a line graph:
  Serial.print("<"); // Starting end
  for (int i=0; i<GRAPH_LENGTH; i++)
  {
    if (i == softPotPosition) Serial.print("|");
    else Serial.print("-");
  }
  Serial.println("> (" + String(softPotADC) + ")");

  delay(500);
}

After uploading, open your serial monitor, and set the baud rate to 9600 bps.

Then actuate the softpot by sliding a finger, pencil eraser, tool grip, or anything slide-able across the sensing area of the potentiometer.

Softpot slider in action

A series of line graphs should begin flowing by in the serial monitor.

Serial monitor example

The raw ADC reading is also printed out after each reading. Take that, and start building sliding control systems of your own!

Resources and Going Further

If you need any further SoftPot-related documentation, here are a few resources that may help:

Now that you've set your Arduino up with slide-control, what are you going to build? Need some inspiration? Check out some of these SparkFun tutorials:

Touch Potentiometer Hookup Guide

Learn how to use the SparkFun Touch Potentiometer to control lighting, volume or other inputs in your daily life.

Rotary Switch Potentiometer Hookup Guide

How to use the Rotary Switch Potentiometer breakout board, with some sample applications.

Bare Conductive Musical Painting

Learn how to make a musical painting using the Bare Conductive Touch Board and Conductive Paint.

MP3 Trigger Hookup Guide V24

Incorporate sound into your next project easily with the MP3 Trigger.