Hard to soft connections was a Fabricademy assignment that explored how to integrate textiles with electronics. In this assignment, I experimented with hand sewing stretch sensors using different types of electrically conductive threads and stitch patterns. I used two types of conductive thread, and found most success with the thread that had the lowest resistance using a zigzag stretch. The stitches I used were the chain stitch and zig zag stitch, following tutorials from “The Geometry of Hand Sewing,” by Natalie Chanin. I attached the ends of the stitch to button snaps so I could connect it to alligator clips for resistance measurement. The resistance of the most stretchable and electrically reliable stitch had a resistance on order of 10-20 Ohms.
I connected the stitch sensor to an Arduino using the code, which is a mash-up of (1) a code to turn your Arduino into an Ohm meter, (requires knowledge of approximate resistance value of resistor being measured), and (2) the code I used for my Skin Electronics assignment:
// Code for making an Arduino an Ohm meter
// Also mapping this to variable LED brightness
int analogPin = 0; // Resistor 1 (R1) is connected to pin 0
int LEDpin = 9; // connecting LED to pin 9 (PWM)
int raw = 0;
int Vin = 5;
float Vout = 0;
float R1 = 10; // resistor value connected to analog pin 1
float R2 = 0; // unknown resistor value, in this case, the stretch sensor
float buffer= 0;
int LEDbrightness;
void setup() {
Serial.begin(9600);
pinMode(LEDpin, OUTPUT); // this sets the LED as the output
}
void loop() {
raw = analogRead(analogPin);
if(raw)
{
buffer= raw * Vin;
Vout= (buffer)/1024.0;
buffer= (Vin/Vout) -1;
R2 = R1 * buffer;
//Serial.print("Vout: ");
//Serial.println(Vout);
Serial.print("R2: ");
Serial.println(R2);
// The following is being recycled from my Skin Electronics assignment :)
// except, when the value is small (textile is stretched), the LED gets brighter
LEDbrightness = map(R2, 12, 5, 0, 255);
// LED gets brighter the more you stretch (resistance gets lower)
analogWrite(LEDpin, LEDbrightness);
delay(1000);
}
}
… which results in the following:

