|
Flex Sensors Sensor Report
Spectra Symbol Flex Sensor, Abrams-Gentile Flex Sensor, FlexPoint Bend Sensor (click names for datasheets)
Flex sensors are sensors that change in resistance depending on the amount of bend on the sensor. They convert the change in bend to electrical resistance - the more the bend, the more the resistance value. They are usually in the form of a thin strip from 1"-5" long that vary in resistance from approximately 10 to 50 kilohms. They are often used in gloves to sense finger movement.
There are two main brands of flex sensors that are affordable and easily available: SpectraSymbol Flex sensors and the Gentile-Abrams sensor, available from Jameco (part #150551 for $12.95). There are variations on the typical flex sensor such as the FlexPoint Bend Sensor which measures force as well and has a wider resistance range. Interlink is another brand that senses force as well. The Flexpoint sensors range in price from $3-$7 depending on length (1"-3"). They also add on a plastic connector casing for $0.75.
The Flexpoint Bend Sensor was developed through testing a thin potentiometer which would show analog feedback from finger movement. The bend-sensitive carbon-based ink was developed at that point.
I tested the following for these experiments: 2 different Abrams-Gentile sensors, 1 SpectraSymbol, and 2 FlexPoint Bend Sensors - a 1" and a 3".
Applications
Flex sensors are used in gaming gloves, auto controls, fitness products, measuring devices, assistive technology, musical instruments, joysticks, and more.
The Flexpoint bend sensor was first developed for automotive airbags and now is also used in car horns, toys that detect different degrees of pressure or bending, robots, machine control, medical devices and assistive technology.

ITP-related projects using flex sensors:
Glove by Dennis Crowley
Flex Sensor Ping Pong Paddle
ASL Glove
- Digital Sign Language using flex sensors on a glove to sense what sign is being made
Container for Sound - gets MIDI data into Max/MSP from a flex sensor
How They Work
Flex sensors are analog resistors. They work as variable analog voltage dividers. Inside the flex sensor are carbon resistive elements within a thin flexible substrate. More carbon means less resistance. When the substrate is bent the sensor produces a resistance output relative to the bend radius. With a typical flex sensor, a flex of 0 degrees will give 10K resistance while a flex of 90 will give 30-40 K ohms. The Bend Sensor lists resistance of 30-250 K ohms.
The Flexpoint Bend Sensor is somewhat different from the simple flex sensors. It has a much bigger range of resistance - see the chart below.

It might be useful to note that these companies will do custom jobs, including screen-printing these special carbon-based inks on various materials.
Electrical Characteristics
Size: approx 0.28" wide and 1"/3"/5" long
Resistance Range:1.5-40K ohms depending on sensor. Flexpoint claims a 0-250 resistance range.
Lifetime: Greater than 1 million life cycles
Temperature Range: -35 to +80 degrees Celcius
Hysteresis: 7%
Voltage: 5 to 12 V
Datasheets:
Flexpoint Bend Sensor Datasheet
Spectra Systems Flex Sensor Datasheet
Gentile-Abrams Datasheet
Schematics
Flex sensors can be used in a variety of ways:
Basic Circuit: Flex Sensor as Voltage Divider - Output voltage increases with the bend.
 The impedance buffer in the circuit above is a single sided operational amplifier, used with these sensors because the low bias current of the op amp reduces errer due to source impedance of the flex sensor as voltage divider. Suggested op amps are the LM358 or LM324.
You can also test your flex sensor using the simplest circut, and skip the op amp. Adjustable Buffer - a potentiometer can be added to the circuit to adjust the sensitivity range.
Variable Deflection Threshold Switch - an op amp is used and outputs either high or low depending on the voltage of the inverting input. In this way you can use the flex sensor as a switch without going through a microcontroller.
Resistance to Voltage Converter - use the sensor as the input of a resistance to voltage converter using a dual sided supply op-amp. A negative reference voltage will give a positive output. Should be used in situations when you want output at a low degree of bending.
Code Samples In order to measure data for various sensors, I used a very basic circut with a resistor and the PIC18F452 microcontroller. The PIC code outputs one value from the sensor and the Processing code reads it after call and response, and outputs the numbers and visualization on screen.
| PIC Code |
Processing Code |
'**************************
'* Name : Sensors & Time.BAS *
'* Version : 1.0 *
'* Notes : outputs analog sensor value
'***************************
define osc 4
DEFINE ADC_BITS 10 ' Set number of bits in result
DEFINE ADC_CLOCK 3 ' Set clock source (3=rc)
DEFINE ADC_SAMPLEUS 20 ' Set sampling time in uS
tx var portc.6
rx var portc.7
n9600 con 16468
TRISA = %11111111
ADCON1 = %10000010
sensorValue var byte
blinK var byte
statusLED var portd.2
output portd.2
blink = 0
main:
if blink < 4 then
high statusled
pause 200
low statusled
pause 200
blink = blink + 1
endif
adcin 0, sensorvalue
serout2 tx, n9600, [sensorvalue]
pause 200
goto main |
/*
Analog Sensor Graphing
This program takes raw bytes from the serial port at 9600 baud and graphs them.
To start/stop the graph, click the mouse.Based on Datalogger by Tom Igoe - http://www.tigoe.net/pcomp/code/archives/php/000713.shtm
*/ import processing.serial.*; Serial myPort; // The serial port
PFont font;
// initial variables:
int i = 1; // counter
int inByte = -1; // data from serial port void setup () {
size(400, 350); // window size
font = loadFont("ArialMT-72.vlw");
// List all the available serial ports
println(Serial.list());
// I know that the third port in the serial list on my mac
// is always my Keyspan adaptor, so I open Serial.list()[2].
// Open whatever port is the one you're using.
myPort = new Serial(this, Serial.list()[0], 9600);
// set inital background:
background(255);
}
void draw () {
if (myPort.available() > 0) {
inByte = myPort.read();
serialEvent();
}
} void serialEvent () {
// draw the line:
stroke(0,0,255);
line(i, height, i, height - inByte);
textFont(font, 72);
fill(255);
stroke(255);
rect(0, 0, width, 70);
fill(0);
text(inByte, 125, 60);
// at the edge of the screen, go back to the beginning:
if (i >= width) {
i = 0;
background(255);
}
else {
i++;
}
} |
Typical Behavior
The Flexpoint Bend Sensor gave the greatest range of values for the bend. The Gentile-Abrams brand was the noisiest. In fact, when connected to a 6' wire, it was virtually unreadable.
Watch the movie to see the Flexpoint in action.
This is video of the FlexPoint Bend Sensor on a 6 " wire, with a 10K ohm resistor in the circuit. About halfway through the movie you can see what happens when you bend the sensor backwards - lots of noise.
| More movies - click to open new window to play |

Here's the 3" Bend Sensor with various resistors in place. |

The 1" Bend Sensor acts quite differently than the 3" - it's more sensitive. |

The Jameco Flex Sensor gives good readings in a range of about 100 from straight up to about 50 degrees - good for gloves. |

The Spectra Symbol has a bit less range than the Jameco, but gives less noise. |
Resistors
Here are number values based on my experiments with various resistors with the Bend Sensor:
| 3" FlexPoint Bend Sensor - # ranges with various resistors in circuit between sensor and ground. Number ranges are for an approximate 90 degree bend towards the printed side of the sensor. |
| Resistor |
Approximate range of output numbers |
Notes |
| No resistor |
250-255 |
|
| 10 Ohm |
0-2 |
|
| 220 Ohm |
14-24 |
|
| 1K Ohm |
60-110 |
this also seems to be the only resister that allows for good readings when the sensor is bent backwards. It proceeds from 60-10. |
| 10K Ohm |
140-240 |
past about 45 degrees, readings jump to 250, but this is best sensitivity for slight bends |
| 22K Ohm |
100-170 |
|
Some things to know when working with flex sensors:
- Most flex sensors give better readings went bent towards the printed side. Backwards bending usually results in undesirable results while forward bending can give a nice logarythmic curve.
- Resistors matter! See the FlexPoint resistor experiment data above.
- Mount them on a surface firmly and evenly for more reliable readings

- Connections should be sealed with hot glue, heat shrink or plastic encasings.
- Be aware that any irregular bending may produce irregular results. For example, the two bends on the right will give very different data - the one on the left is bending backwards first which will usually give unreliable results.
- On most sensors, but the Jameco ones in particular, a longer wire connection between microchip and sensor will dramatically increase noise in the readings.
- Most flex sensors seem to take some time to revert back to low numbers at rest. In other words,
the original at rest/ no bend reading may be 65, but after bending, the low number at no bend will be 80 for at least 20 seconds.
- It may seem obvious, but the flex sensor reads bends best. In the example on the right, the tops of the sensors are in a similar location, but the one on the right will give a finer resultion and more reliable readings.
- Curving the flex sensor around an object, such as dowel or finger, increases the resistance.
Application Notes
My application: I was thinking about using the flex sensor to determine when a cardboard figure on top of a long vertical rod is moving. I was thinking that the flex sensor could detect the bend in the rod, but after extensive testing it looks like a tilt sensor would work better.

Testing for glove apps (click to watch movie) |

Testing for cow project - not enough bend for any of the flex sensors to reliably detect. |
Flex sensors are great for projects wherein you need to detect from at 10 to 50 degree bend, and sense a change of a least 10 degrees. Some possible applications for projects here:
- detecting the opening of a lid
- wearables that detect finger movement, elbow or knee bending
- assistive technology - movement on a chair, using or gripping objects correctly
- Rebecca Bray, Spring 2006 |

| My Sensor Home |
| In this Report |
Applications
How They Work
Electrical
Schematics
Code Samples
Typical Behavior
Things to Know
Application Notes
|

ASL glove
|