Fabric Bend Sensor

91K24977

Intro: Fabric Bend Sensor

Using conductive thread, Velostat and neoprene, sew your own fabric bend sensor.

This bend sensor actually reacts (decreases in resistance) to pressure, not specifically to bend. But because it is sandwiched between two layers of neoprene (rather sturdy fabric), pressure is exerted while bending, thus allowing one to measure bend (angle) via pressure. Make sense? Watch below:



So basically you could use most any pressure sensor to measure bend, but this one I find gives me the best results (sensitivity) for measuring the bend of human joints when attached to the body. It is sensitive enough to register even slight bend and has a large enough range to still get information when the limbs are fully bent.

The resistance range of this bend sensor depends a lot on the initial pressure. Ideally you have above 2M ohm resistance between both contacts when the sensor is lying flat and unattached. But this can vary, depending on how the sensor is sewn and how big the overlap of the adjacent conductive surfaces are. This is why i choose to sew the contacts as diagonal stitches of conductive thread - to minimize the overlap of conductive surface. But only the slightest bend or touch of the finger will generally bring the resistance down to a few Kilo ohm and, when fully pressured, it goes down to about 200 ohm. The sensor still detects a difference, right down to about as hard as you can press with your fingers. The range is non-linear and gets smaller as the resistance decreases.

This sensor is really very simple, easy to make and cheap compared to buying one. I've also found it to be reliable enough for my needs.

I am also selling these handmade fabric bend sensors via Etsy. Although it is much cheaper to make your own, purchasing one will help me support my prototyping and development costs >>
http://www.etsy.com/shop.php?user_id=5178109

This neoprene bend sensor is also featured on the CNMAT resource site, among other great possibilities for making your own bend sensors >>
http://cnmat.berkeley.edu/category/subjects/bend_sensor

To see this sensor in action have a look at the following video. The dancer has fabric bend sensors (the same as this Instructable shows) attached to her: Underarms, elbows, wrists, shoulders, hips and feet.



There is a Bluetooth module on the dancer's back that is transmitting all of the sensor information to a computer that is then triggering instruments (LEMUR's musical robots) to play. For more info visit:
http://kobakant.at/index.php?menu=2&project=4

There is another video at the end of this Instructable that shows you it in wearable action!

STEP 1: Materials and Tools

MATERIALS:
The materials used for the sensor are basically cheap and off-the-shelf. There are other places that sell conductive fabrics and Velostat, but LessEMF is a convenient option for both, especially for shipping within North America.

Velostat is the brand name for the plastic bags in which sensitive electronic components are packaged in. Also called anti-static, ex-static, carbon based plastic. (So you can also cut up one of these black plastic bags if you have one at hand. But caution! Not all of them work!)

To make the sensor fully fabric one can use EeonTex conductive textile (www.eeonyx.com) instead of the plastic Velostat. Eeonyx normally only manufacture and sells its coated fabrics in minimum amounts of 100yds, but 7x10 inch (17.8x25.4 cm) samples are available free of charge and larger samples of 1 to 5 yards for a minimum fee per yard.

The exact neoprene i used for the bend sensor is:
quality: HS
thickness: 1,5 mm
both sides: nylon- / polyesterjersey (standard)
one side: grey, other side: neon green
but you can defiantly try and experiment with different qualities and thicknesses!
also with different materials. i can imagine that foam rubber and similar will work.
one good thing about the neoprene is that it has jersey fused to either side which gives it a nice feel against the skin but also makes sewing easier, as stitches otherwise rip through the plain neoprene.

- Conductive thread from www.sparkfun.com
also see http://cnmat.berkeley.edu/resource/conductive_thread
- Neoprene from www.sedochemicals.com
- Stretch conductive fabric from www.lessemf.com
also see http://cnmat.berkeley.edu/resource/stretch_conductive_fabric
- Fusible interfacing from local fabric store
- Regular sewing thread from local fabric store
- Velostat by 3M from www.lessemf.com
also see http://cnmat.berkeley.edu/resource/velostat_resistive_plastic
- Machine poppers/snaps from local fabric store

TOOLS:
- Pen and paper
- Ruler
- Fabric and paper scissors
- Iron
- Sewing needle
- Popper/snap machine (handheld or hammer and simple version)
- Possibly pliers for undoing poppers

For connecting to your computer:
I'm not going to go into detail here, because this Instructable is really more about the sensor itself and less about this connection. But if you have question just send me message.
- Arduino physical computing platform from www.sparkfun.com
- Arduino software free from www.arduino.cc
- Processing programming environment free from www.processing.org
- Crocodile clips from www.radioshack.com
- A pullup or pulldown to the ground of your Arduino, with a 10-20 K Ohm resistor
- Some wire and solder and stuff

STEP 2: Make a Stencil

Because we are making a bend sensor it makes sense to make it long so that it can be easily attached to where bending should be measured.
You do not have to follow the shape and size for this sensor exactly. I've kept it simple to communicate the idea.
Create a stencil that includes marking for stitches that should run diagonally. It is good to leave at least 5mm space between the stitches and the edge of the neoprene. Leave 1cm space between the stitches. It is about NOT creating a too conductive surface, so that the sensor stays sensitive. 4-7 diagonal stitches (depending on the length of your sensor) are normally fine. Also, they do not need to be long. 1,5cm max. For this version you'll want to leave about 1-2 cm space at each end of the sensor so that you can attach a popper, which will be useful for connecting it into a fabric circuit later on.

STEP 3: Preparing Materials

Once you've created the stencil, trace it onto the neoprene so that you have two IDENTICAL (not mirrored) pieces.
Using interfacing, fuse a small piece of stretch conductive fabric (see photos) to the end of each piece of neoprene. On once piece it should be on the green side (inside) and on the other on the gray side (outside). This is so that later on, once the sensor is sewn together, the conductive fabric only faces one side (this is more for aesthetic reasons, so it will still work no matter which side you fuse the conductive fabric to).

STEP 4: Sewing

Now that both sides of your sensor are prepared, thread a needle with a good amount of conductive thread. You can take it double or single. I prefer to take it single.
Sew into the neoprene from the back/outside (in this case grey side). Start at the end furthest away from the patch of conductive fabric. Stitch back and forth as shown in the photos. When you reach the end, sew the thread to the conductive fabric. Make at least 6 stitches to connect the two.
Do this sewing for both pieces of neoprene, with the exception that in once case the conductive fabric is on the other side of the conductive stitches. Still you want to attach the conductive thread to the conductive fabric patch with at least 6 stitches.

The reason the stitching on both sides must be identical is so that when they lie on top of each other (facing each other) the stitches crisscross and overlap in one point. This has two advantages. First that it is unlikely that the stitches will not line up and not make any overlapping connection. And secondly that the surface of connection is not too big. I’ve found that if the conductive surfaces are too big that the sensitivity of the sensor is no longer good for what I want.

STEP 5: Closing the Sensor

Before closing the sensor you will want to cut out a piece of Velostat that is just a little bit smaller than your pieces of neoprene. This piece of Velostat will go in between your two conductive stitches. And this is what creates the pressure sensitive change in resistance. The Velostat lets more electricity through, the harder you press the two conductive layers together, with the Velostat in between. I'm not really sure exactly why this is, but I imagine it's because there are carbon particle in the Velostat that conduct electricity and the more pressure on them the closer they come together and the better they conduct or something similar (???).

So, place the piece of Velostat in between and sew the sensor together as shown in the pictures. Don't sew too tightly, otherwise you'll have an initial pressure which will make your sensor less sensitive.

STEP 6: Poppers

Read the instructions that came with your popper machine. I have attached two different poppers (female and male) to either side of my sensor, but this is up to you. I have attached the front part of each popper (the popper part) to the side with the patch of conductive fabric, so that both poppers attach at the same side.

If you happen to make a mistake with the poppers, the best tool to undo them is a pair of pliers and to squeeze together the weaker part, which is normally the back part (often just a ring). And then fiddle until it comes loose. This often ruins the fabric though.

STEP 7: Multimeter Test

Now your sensor is finished!
Hook either end up to a multimeter and set it to measure resistance. Each sensor will have a different range of resistance but as long as it is not too small and works for your purposes, all is good.

The sensor I made had following ranges:
Lying flat: 240 K Ohm
Pressing with finger: 1 K Ohm
Lying on side: 400 K Ohm
Bent: 1,5 K Ohm

STEP 8: Software Visualization

To visualize the change in resistance in the bend sensor you just made you can also hook it up to your computer via a microcontroller (Arduino) and use a little bit of code (Processing) to visualize it.


For Arduino microcontroller code and Processing visualization code please look here >> http://www.kobakant.at/DIY/?cat=347

See the orange bar in the pictures. How it is on the right of the computer screen when the wrist is bent. And at the very left when the wrist is straight!!

Have fun and thanks for reading. Let me know what you think.

74 Comments

Hi! I am working on this project, but for this material:
- Stretch conductive fabric from www.lessemf.com
This is the most expensive part by far. Are there any other alternatives?
Hi. i cant find velostat in my country. i can do that with another thing?? can you help me with that please?? Thanks

Hi,

I am working on a similar project using conductive yarns to make knitted pressure sensors. Even though it shows the resistance going down on the application of pressure on the multi meter however, i am having problem in the circuit making and linking it up with an arduino.

Can you please share your circuitry and arduino coding foir this?

What is the yellow orange (prototype board?) and why didn't you not use a breadboard? (Sorry if this seems dumb I have no experience with arduino and am just starting out with the duemilanove board)

its a perferated prototyping board. it basically reduces the electrical interference you can get from breadboards, can be cut to a smaller size (so he can attach it to a dancer), and is usually a little more durable then a bread board because its held together with solder.

Hi.. Can you please give more instructions on the assembling of hardware?
Hey plusea long time ago we had a chat about seeing your awsome motion capture suit in amsterdam, at the time i was unable to come, sorry for that.

Anyway i'm certainly going to attempt and make these awsome bend sensors for a glove with the arduino that allows you to make gestures to control patterns on a laser projection system (which I own)

Thank you so much for making all this, I keep recommending your documentations to clients I have that want to build their motion capture suits.
Simply because the idea's you share are brilliant.
thanks for your comment. i would love to see pictures of the glove you are building. feel free to post a link to any instructable you might publish on the work you are doing. also check out the e-textile workspace at V2_: http://www.v2.nl/lab/projects/e-textile-workspace
Hi plusea,

Thanks for both the link and response.
I will make an instructable.
Sadly I still need to learn java to master processing.
I will also certainly include references to your instructables and such when i publish about it.

I still need to find some of the parts you mentioned here too.
My hands are tingling of wanting to build it and i can't wait.

Best regards,

Pieter
Hi! Thanks so much for your previous help, i've managed to get some velostat and "shieldit super" conductive fabric, but i've found that when i put a piece of velostat loosely between the two layers of shieldit, it bridges the gap instantly and reacts as though i'd connected input 1 to ground. When the wires are unconnected the whole graph just wiggles all over the place. Have i got the sensitivity wrong somehow?

I think i need a multimeter.

Huge thanks,

Susan
have you set the internal pull-up resistor? or connected an external one (about 20K, between plus and input)?
using conductive fabric instead of stitching with conductive thread does reduce the range of the sensor. so that it might just be acting like an on/off switch, with no analog range. you might want to try a few more layers of velostat in between. or making the conductive surfaces smaller.

hope this helps.
Hello,

Thanks for your advice! I've tested it with a 9v battery and an led, it gives a great response! (although it heats up a little...) I'll fiddle with the resistors as you recommend, although i can't find the option for the internal resistor, is it in the arduino sketch or the processing sketch?

-Susan
you might want to use a 3V coin cell battery or two AA (or AAA) batteries. the 9V can burn through conductive thread if it shorts the battery.
you can set the internal pull-up in the arduino code. for analog input0:
void setup(){
digitalWrite(14, HIGH);
}
Ah! i've got it working! thank you so much!
Hi Plusea,

The links you posted appear broken, do you have them still.

Many thanks in advance!

Hi Plusea,

i really like your work, it's awesome!
I've followed your instructables and managed to build a bend sensor which I am now trying to visualize. The site to download the code and application does not exsits though.. :( Did you move the code somewhere?
Thank you and keep u the amazing work!
Cuchara
You could use the standard Arduino Analog Input code, albeit slightly altered, to find the bend. I did it this way and then I was able to visualise it in Blender using a simple python script that read the bend sensor value from the serial port and applied it to the movement of an object.

This is just an alternative option in case you can't find the code of course.
I have the same issue - cuchara, did you manage to find the files for the visualization?

thx
amok
Thanks for the great instructable. Amazing work. I have a question on the conductive thread. What type do you recommend. lessemf.com has 66 Yarn 22+3ply 110 PET. And Sparkfun has 117/17 2 ply, and 234/34 4 ply. I can't wait to build one of these. Thanks again.
lessEMF used to sell the same thread that sparkfun now sells. be careful, the 66 yarn has very high resistance. so it is great for embroidering potentiometers but nor for the bend sensor!
More Comments