5. E-textiles¶
References & inspiration¶
I am inspired by the pioneering work of Leah Buchley for putting e-textiles and wearables on the map (at least mine!) and democratizing making, Jie Qi for following on with work that is both exquisite artistic expression and educational (see her circuit sticker book and popups), and Diane Brancazio from MIT’s k-12 MakerLab for casting a wide net to teachers just entering into the field and incorporating MakerEd into their classrooms. They were asking the right questions.
Living Wall—Programmable wallpaper for interactive spaces, Leah Buechley; Light-up tiles, Diane Brancazio:
Interactive dandelion painting, Jie Qi:
As both a maker artisan and educator with a background in interactive and instructional design informed by Universal Design for Learning (e.g. low barriers for entry, high ceiling), I decided to explore a starter version of Jie Qi’s interactive Dandelion Painting. With a lower barrier for entry, I wondered about its potential as a workshop project for newbies. Additionally, I am drawn to the potential in these kinds of projects because of both the personal expression they afford and the potential for hands-on teaching and collaborative experience and learning. The potential to light up curious minds is huge!
Research & learning¶
Electronic textiles, or smart fabrics, are materials that incorporate electronic components to expand their functionality. Why e-textiles? They can be used to express our identities, communicate with others, and protect ourselves (Liza Stark (https://www.liza-stark.com). E-textiles extend what is possible in fashion, sports and fitness, health care, art, aerospace, and beyond.
Think of a circuit as a circle of moving energy (excited electrons). Energy moves from power (+) to ground (–) in a circuit. The diagram on the right shows a very basic circuit, with a power source, a flow of electrons coming out of the positive side of the battery, and a resistor, which slows down the flow of the electron current.
The most basic elements of a circuit include power (e.g. a battery), conductive pathways (e.g. conductive wire, tape, fabric), and an output (e.g. an LED light).
You can add a switch to open and close the circuit (turns the LED off and on), and a resistor to keep the LED from getting too much energy (power) from the battery. Below is a template for a simple series circuit with switch (a), and a schematic diagram of how it’s represented in the electronics industry with standard symbols for components and lines for wires (b).
Some important terms:
| Term | Unit of measure | Description |
|---|---|---|
| Voltage (V) | Volts | The force that pushes electrons through a circuit |
| Current (I) | Ampere or Amps | The rate of flow of electricity |
| Resistance (R) | Ohms | Anything that slows down the current, or rate of flow |
Ohms Law is the most fundamental and useful formula when working with circuits. It describes the relationship between the voltage (V), current (I), and resistance (R) through the formula V=IR. The formula helps you determine how much resistance a circuit system needs to keep components from overheating.
- If you know the voltage and the resistor value, you can calculate the current you consume: I = V / R
- If you know the voltage and the current, you can calculate the resistor you need: R = V / I
Soft switches & conductive materials¶
Soft switches depart from traditional electronic materials in that most of the components can be soft, like fabric and thread. In this section, we learn methods for connecting hard and soft components and how to use them to our advantage. Conductive fabric properties to consider include resistance, stretchiness, solderability, feel, and substrate (e.g. coated nylon, etc.). Kobakant has a wealth of information on this. Below is their swatch library.
Digital switches in a circuit turn an LED on and off (binary). Pressure sensor switches, on the other hand, turn an LED brighter and dimmer, analog style, depending on the amount of resistance (by how firm or gentle the switch is pressed). Soft digital switches can be momentary (on only while pushing “button”), toggled on and off, or initiated via a tilt or stroke sensor.
Digital switch / continuity tester¶
We learned to make this handy device in a tutorial with Jessica Stanley. It works as a digital on/off switch and a continuity tester. Touching the two safety pins together switches the LED on and off. The safety pins can be also used to test the conductivity of other materials, such as conductive fabric, etc.
Analog sensor switch¶
Analog switch sensors operate along a continuum. Rather than having only an on/off state, a continuous signal can take on any value within a specified range, like a dimmer switch. Inputs include pressure, stretch, bend, potentiometer, stretch, accelerometer, and light sensors. Below is an example of a stretch sensor. The sensor is made of non-conductive yarn laced with conductive thread. As you stretch it, the resistance decreases (because there are more conductive threads touching) and the light gets brighter.
A pressure sensor switch is constructed using a piece of pressure-sensitive velostat sandwiched between squishy fabric layers (thick felt or foam with holes) fashioned with conductive tape. Velostat is a piezoresistive material: It’s electrical resistance decreases when pressured. The velostat should extend beyond the edges of the fabric, and the top and bottom tape must not touch each other.
Microcontrollers / Arduino & analog sensor switches¶
We incorporated a pressure sensitive sensor and voltage divider with Arduino to control variable analog-like outputs. (Voltage divider equation to the right). You can use this handy Voltage Divider Calculator to find the output voltage or decide on what resistors to use.
Below is a photo of the system set up, a link to the Tinkercad diagram, and an arduino code snippet with sensor/output serial monitor readings.
Tinkercad file: AnalogInOutSerial-PressureSensor
Code snippet for analog pressure sensor¶
// 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);
}
kk
void loop() {
// read the analog in value:
sensorValue = max(500, analogRead(analogInPin));
// map it to the range of the analog out:
outputValue = map(sensorValue, 500, 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);
}
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)
Alum inspiration!
-
Soft tools - Stephanie Vilayphiou - GreenLab
-
Booklet & veggie moisture sensors - Kae Nagano - FabLab Kamakura
-
Felted Digital Touch Sensor - Carolina Beirao - TextileLab Amsterdam Waag FutureLab
-
Knitted samples - Alice Sowa - Icelandic Textile Center
-
Final project trajectory - Ieva Maria Dautartaite
Tools
- Arduino UNO
- Laptop
- TinkerCad simulator
- Multimeter
- Breadboard
- Paintbrush
- Marker
- Scissors
- Tracing paper
- Multimeter
- Resistance calculator
- Voltage divider calculator
Materials
- Fabric
- LED sequins
- Conductive thread
- Conductive wires with alligator clips
- Snap for digital switch
- Pressure sensor switch (felt, velostat, conductive fabric tape)
- Felt
- Fabric paint
- Embroidery hoop (wood, or metal with conductive locations tape insulated)
Process & workflow¶
You can set the pressure tolerances in Arduino to control various outputs. Since I couldn’t find a microphone to sense “blowing” on a dandelion, I decided to simulate the action by lighting up concentric rings of dandelion seeds flying off. The on/off snap switch turns on the dandelion, and medium and hard pressure on the analog switch “blows away” the first and second ring of seeds.
The process steps, in brief (details follow):
- Design dandelion elements
- Design circuits with Arduino and Tinkercad
- Sew circuit components onto fabric
- Test whole system
- Assemble and test finished piece
- Reflect and learn
1. Design dandelion elements¶
1a. Sketch variations, compose in frame.
1b. Plan LEDs and circuits for dandelion core + inner and outer seed dispersal rings, transfer to fabric (Use a light table, if you have one! I used my laptop screen.)
1c. Test fabric paint, paint on dandelion design elements
2. Design circuits with Arduino and Tinkercad¶
2a. Sketch and assemble a paper circuit prototype
2b. Test on/off switch (for green LED) and pressure sensor (for inner and outer yellow LED rings)
2c. Simulate circuit in Tinkercad
2d. Create Arduino dandelion code
*/
// 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 analogOutPinInner = 10; // Analog output pin that the LED is attached to
const int analogOutPinOuter = 11; // 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 = max(500, analogRead(analogInPin));
// map it to the range of the analog out:
if (sensorValue > 900 && sensorValue < 950){ //medium pressure
analogWrite (analogOutPinInner, 255);
analogWrite (analogOutPinOuter, 0);
}
else if (sensorValue > 950){ //high pressure
analogWrite (10, 255);
analogWrite (11, 255);
}
else {
analogWrite (10, 0);
analogWrite (11, 0);
}
// 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);
}
3. Sew circuit components onto fabric¶
Prepare components: LED diodes and LED sequins.
3a. Dandelion core: Sew in leads and components, test
3b. Dandelion first ring (inner) seeds: Sew in leads and components, test
3c. Dandelion second ring (outer) seeds: Sew in leads and components, test
3d. Sew in snap on/off switch and leads (lights up dandelion core), test.
3e. Insulate embroidery hoop: Use tape to cover and insulate metal parts that might touch leads, causing short circuits.
3f. Sew in pressure sensor and leads (lights up inner and outer ring of dandelion seeds), test.
4. Assemble and test whole system¶
Hook up to Arduino with alligator clips and test: Is everything lighting up as expected? Use a multimeter to troubleshoot and detect if any leads are not connecting, LEDs not lighting, etc.
7. Reflect and learn¶
a. Once all hooked up, my green lights were very faint. I will try a lower resistor (currently using 220)
b. Toothy/grippy thread knots nicely, but gets tangled. It worked well to run wax along the thread before sewing.
c. Not all conductive threads look the same. Next time, I would choose one that's less visible (unless seeing the traces is part of the design). Electro-Fashion conductive thread - 45m is less visible and sews well (less toothy and tangley). It's available from Opencircuit






















