5. E-textiles¶
References & Inspiration¶
Going into this week, I searched for inspiration in textile arts. I didn’t have much hands-on experience or knowledge of electronic and textile interactions. I have taught basic circuit-making to children through my job as a museum/makerspace educator, where we did projects like scribble bots or making moving drawings with servo motors. I certainly didn’t feel like I understood the topic on a higher level than that, but I kept an open mind.
- Computer 1.0 installation by Victoria Manganiello and Julian Goldman
- A Fabric that Remembers from Unstable Design Lab
- Fabric with heat conducting sections controlled digitally Maggie Orth
- ByteLight and LightBoard Lamps by Ceramicism
- The Embroidered Computer (2018) Ebru Kurbak, Irene Posch. Photo: Elodie Grethen.
Fabricademy Participants¶
Assignment & Tools¶
weekly assignment
- Build at least one digital and one analogue soft sensor, using different materials and techniques.
- Document the sensor project as well as the readings got using the AnalogRead of Arduino
- Integrate the two soft sensors into one or two textile swatches using hard soft connections
- Document the circuit and its schematic
- Document your swatches / samples
- Upload your arduino code as text
- Upload a small video of the swatches functioning
- Integrate the swatch into a project (extra credit)
tools
- Multimeter
- Conductive fabric, thread, tape, yarn, beads, clasps, etc.
- Scrap fabrics and non conductive thread, yarn, etc.
- Sewing supplies
- Alligator clips
- 3.3 V coin cell battery
- LED lights
- Jumper wires
- Resistors
- Arduino UNO
- Arduino IDE software
- Data cable and necessary adaptors to connect laptop + Arduino UNO
Research & Ideation¶
Aside from the projects above, I appreciated the resources that show e-textiles as an experimental, open-source, and shareable practice. For all the developed and presented work in the “e-textile” medium, there is also a huge amount of planning, prototyping, and swatching shared among practitioners.
The amount of new vocabulary and symbols felt overwhelming. The most important thing is the relationship between voltage, current, and resistance. I feel like I understand how what we made works in practice, but I don’t have confidence in explaining it to someone else. We were lucky to have Jessica Stanley work with us in-person at TextileLab Amsterdam. Jessica made things feel more digestable and showed us how to work with Arduino UNO.
Vocabulary
- Current: The flow of electric charge through a circuit, measured in amperes (A).
- Voltage: The electrical potential difference between two points, which drives current through a circuit, measured in volts (V).
- Resistance: The opposition to the flow of electric current, measured in ohms (Ω), which determines how much current flows in a circuit.
- Multimeter: A tool used to measure electrical properties like voltage, current, and resistance in circuits.
- Sensor: A device that detects changes in the environment, such as light or pressure, and sends signals based on those changes.
- Switch: A switch is a break in a circuit. Since the circuit is not complete, no electricity can flow to the components.
- Traces The physical paths of conductive material that electricity moves along in a circuit.
- Series Circuit: A type of circuit where components are connected in a single path, so the same current flows through all parts.
- Parallel Circuit: A type of circuit where components are connected in multiple paths, allowing current to flow through more than one route.
- Arduino: An open-source electronics platform used for building interactive projects, combining hardware and software.
- Input: Data or signals that enter a system, such as pressing a button or activating a sensor.
- Output: Signals or actions produced by a system, like turning on an LED or sending a message. In a circuit, these control output in the physical world. Also called actuators
Online Resources¶
- Sensor Knitting 101 from Liza Stark
- Kobakant How To Get What You Want: ideas and instructions for e-textile projects
- Liza Stark's class website
- E-Textile Vocabulary from Liza Stark
- Instructables: E-textiles
- DIY Continuity Testerfrom Jessica Stanley
Process & Workflow¶
I started by just playing with materials at hand and processes I am interested in. I wanted to get a feel for different types of conductive material and their properties.
At this point, I understood the difference between Digital/Switch and Analog/Sensor.
Then we all made a DIY continuity tester1 with Jessica Stanley. A simple soft circuit has the ability to test if a switch or sensor works, or if a material is conductive or not.
Following Liza Stark's Sensor Knitting 101 slides2, I made an i-cord stretch sensor in preparation for reading analog sensor values with Arduino. By the end of my experimentation on Thursday, I had the following items:
Arduino & Code¶
First, I connected the Arduino UNO to Arduino IDE softward on my laptop.
To test the connection, we ran the Blink code from examples > 01. Basics > Blink. This made the led embedded in the board blink. Changing the value next to delay in void loop changes how long the light is on or off.
/*
Blink
Turns an LED on for one second, then off for one second, repeatedly.
Most Arduinos have an on-board LED you can control. On the UNO, MEGA and ZERO
it is attached to digital pin 13, on MKR1000 on pin 6. LED_BUILTIN is set to
the correct LED pin independent of which board is used.
If you want to know what pin the on-board LED is connected to on your Arduino
model, check the Technical Specs of your board at:
https://docs.arduino.cc/hardware/
modified 8 May 2014
by Scott Fitzgerald
modified 2 Sep 2016
by Arturo Guadalupi
modified 8 Sep 2016
by Colby Newman
This example code is in the public domain.
https://docs.arduino.cc/built-in-examples/basics/Blink/
*/
// the setup function runs once when you press reset or power the board
void setup() {
// initialize digital pin LED_BUILTIN as an output.
pinMode(LED_BUILTIN, OUTPUT);
}
// the loop function runs over and over again forever
void loop() {
digitalWrite(LED_BUILTIN, HIGH); // turn the LED on (HIGH is the voltage level)
delay(1000); // wait for a second
digitalWrite(LED_BUILTIN, LOW); // turn the LED off by making the voltage LOW
delay(1000); // wait for a second
}
Now that you know your Arduino UNO is connected to the IDE, you can connect your analog sensor to the board and read the values. You can also add an external LED with alligator clips and jumper wires to get a visual of your sensor output via changing brightness. I used the example code from examples > 03. Analog > AnalogInOutSerial
/*
Analog input, analog output, serial output
Reads an analog input pin, maps the result to a range from 0 to 255 and uses
the result to set the pulse width modulation (PWM) of an output pin.
Also prints the results to the Serial Monitor.
The circuit:
- potentiometer connected to analog pin 0.
Center pin of the potentiometer goes to the analog pin.
side pins of the potentiometer go to +5V and ground
- LED connected from digital pin 9 to ground through 220 ohm resistor
created 29 Dec. 2008
modified 9 Apr 2012
by Tom Igoe
This example code is in the public domain.
https://docs.arduino.cc/built-in-examples/analog/AnalogInOutSerial/
*/
// These constants won't change. They're used to give names to the pins used:
const int analogInPin = A0; // Analog input pin that the potentiometer is attached to
const int analogOutPin = 9; // Analog output pin that the LED is attached to
int sensorValue = 0; // value read from the pot
int outputValue = 0; // value output to the PWM (analog out)
void setup() {
// initialize serial communications at 9600 bps:
Serial.begin(9600);
}
void loop() {
// read the analog in value:
sensorValue = analogRead(analogInPin);
// map it to the range of the analog out:
outputValue = map(sensorValue, 0, 1023, 0, 255);
// change the analog out value:
analogWrite(analogOutPin, outputValue);
// print the results to the Serial Monitor:
Serial.print("sensor = ");
Serial.print(sensorValue);
Serial.print("\t output = ");
Serial.println(outputValue);
// wait 2 milliseconds before the next loop for the analog-to-digital
// converter to settle after the last reading:
delay(2);
}
I changed the delay value at the bottom of the code to slow down the amount of values being read by the Arduino. I went from delay(2) to delay(1000) to get one reading every second instead of one reading every 2 milliseconds.
// wait 2 milliseconds before the next loop for the analog-to-digital
// converter to settle after the last reading:
delay(1000);
}
Reading the Stretch Sensor¶
Following the diagram from Liza's presentation2, I connected my i-cord to the Arduino. First, I tried an i-cord made by holding conductive thread together with wool yarn.
Illustration from Sensor Knitting 101 by Liza Stark2, Arduino Pinout Diagram from Arduino Documentation
I ran the serial monitor on Arduino IDE to see the range in values. I noticed that the relaxed i-cord input was reading around 480. This mean the overall resistance was somewhat low, and current was flowing through even in a relaxed state.
I made a second i-cord with ready-made conductive yarn thinking it might have more resistance. There was more of a difference in resistance values relaxed and stretched with the conductive yarn i-cord; still, it was not resistive enough at rest to create a large difference in value. The LED I had connected to visualize the sensor reading was always on, and the difference in brightness while manupulating the sensor was minimal.
My Final Swatch¶
I wanted to feel more excited for this assignment. I draw lots of inspiration from plants and animals. The i-cords reminded me of silk moth caterpillars (which I have raised before!), and watching the LEDs flicker and blink made me think about how fireflies communicate with light.
I started planning a parallel circuit for my final swatch, with a pressure sensor as my analog switch instead of the i-cord stretch sensor. I knew after reading the values in Arduino that my i-cord was always conductive and would function as a digital switch. Then, I planned a firefly appliqué where there was a pressure sensor in its upper body. Both the digital and analog components can power an LED on the firefly’s lower body.
- I used scrap fabric to create the background of the swatch
- I sewed power and ground touch points in a holder for a 3.3V coin cell battery.
- I stitched a trace from the (+) side of the battery to the (+) side of an LED.
- From the (-) side of the LED I stitched up the leaf to where I wanted to attach the i-cord switch. I attached one end of the i-cord with the conductive thread, then knotted and cut the thread.
- Around where the "head" of the caterpillar touched, I began stitching a touchpoint of conductive thread and a trace back to the (-) side of the battery, then knotted and cut the thread.
- From a midpoint on the trace coming out of the LED, I began stitching conductive thread to the conductive material on one layer of the firefly(+), then knotted and cut the thread.
- With non-conductive thread, I stitched a layer of velostat in between my two conductive firefly pieces.
- With conductive thread, I then stitched going from the conductive material on the other (-) layer of the firefly to a midpoint on the trace returning to the (-) side of the battery.
- I inserted the battery and played with the bugs!
Interacting with the Swatch¶
I also wanted to use Serial Monitor in Arduino to see the values of the Firefly pressure sensor. I used the same AnalogInOutSerial code from above.









