SoftPot Hookup Guide
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.
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.
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.
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
What is an Arduino?
Resistors
Analog vs. Digital
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.
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Ω.
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.
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 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.
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.
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 |
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 |
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.
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.
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. |
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.
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:
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.
A series of line graphs should begin flowing by in the serial monitor.
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: