Skip to content

5. E-textiles

Finished interactive dandelion

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"
Light up tiles

As both a maker artisan and educator with a background in Universal Design for Learning instructional design, 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.

Simple circuit diagram with a battery, electrons, and a resistor

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 left 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. Here’s a template for a simple series circuit with switch (a), and how it’s represented in the electronics industry with standard symbols for components and lines for wires (b).

An circuit made of an LED light connected to wires and a coin battery

A circuit template diagram and schematic


Some important terms: - Voltage (V) is the force that pushes electrons through a circuit. Unit of measure: Volts. - Current (I) is the rate of flow of electricity. Unit of measure: Ampere, Amps, or A. - Resistance (R) is anything that slows down the current, or rate of flow. Unit of measure: Ohms or Ω. - Ohms Law is the most fundamental formula when working with circuits. It describes the relationship between the voltage, current, and resistance through the formula V=IR, where V is voltage, I is current, and R is resistance. The formula helps you determine how much resistance a circuit system needs to keep components from overheating.

Soft Switches

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 a swatch library (left)), and a piece of conductive fabric in a circuit (right).

Kobakant swatch library

a piece of conductive fabric in a circuit


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, toggle, tilt, and stroke.

Digital switch / continuity tester

This handy device 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.

A continuity tester

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 increases (because there are more conductive threads touching) and the light gets brighter.

Stretch sensor off
Stretch sensor on


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.

Pressure sensor materials
Pressure sensor partially constructed
Completed pressure sensor attached to conductive wires

Microcontrollers / Arduino & analog sensor switches

Voltage divider equation

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.

Here is the system set up, Tinkercad diagrams, and arduino code with sensor/output serial monitor readings.

!|Pressure sensor with Arduino

Laptop connected

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)
Get inspired!

Check out and research alumni pages to betetr understand how to document and get inspired

Add your fav alumni's pages as references

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.

1. Dandelion on fabric design

a. Sketch variations, compose in frame, transfer to fabric

Alt text
Alt text

Alt text
Alt text


b. Test fabric paint, paint on dandelion design elements

Alt text
Alt text


2. Circuit design with Arduino and Tinkercad

a. Paper circuit prototype

Paper prototype circuit sketch
Paper prototype circuit sketch assembled

Paper prototype circuit testing inner ring Paper prototype circuit testing inner ring


b. Tinkercad circuit simulation

Alt text

c. Arduino dandelion code snippet

*/

// 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. Sewing circuit components onto fabric

Prepare components

Alt text Alt text


a. Dandelion core: Sew in leads and components, test

b. Dandelion first ring (inner) seeds: Sew in leads and components, test

c. Dandelion second ring (outer) seeds: Sew in leads and components, test

Alt text

d. Sew in snap switch leads (lights up dandelion core), test

Alt text


e. Sew in pressure sensor and leads (lights up inner and outer ring of dandelion seeds), test

Alt text

4. Test whole system

a. Hook up to Arduino with alligator clips and test**

b. Troubleshoot: Grab a multimeter if any leads are not connecting, LEDs not lighting, etc.

5. Insulate embroidery hoop

a. Identify and use tape to cover metal parts that might touch leads, causing short circuits.

Alt text


6. Assemble and test finished piece!

Back side folded up


Alt text


7. Reflect and learn

a. My green lights were very faint. I will try a lower resistor (currently using 220)

b. Toothy thread knots nicely, but gets tangled. It worked well to run wax along the thread.

c. Not all conductive threads look the same. 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


Fabrication files


  1. File: xxx 

  2. File: xxx