Skip to content

E-Textiles

Inspirations

Wooo! E-textiles! E-textiles are my bread and butter. Well, electronics are, but I have to say I'm still learning how to better incorporate them into textiles. I'm such an e-textile enthusiast. I'm fascinated by work in this realm. There's so much to investigate creatively, technically, scientifically.

I also love learning how to build circuits that vary in complexity.

I'm inspired by work that makes me daydream for more. I've been a long admirer of these pieces and these labs for a long time and I'm happy to say I've developed close personal/professional relationships with them as well. I hope to collaborate with them on projects that combine textiles and computation some day :)

Fabric that Remembers (Unstable Design Lab)

A Fabric that Remembers - Laura Devendorf, Sasha de Koninck, Shanel Wu, Emma Goodwill

Magnetic Reverberations (Unstable Design Lab)

Magnetic Reverberations - Elizabeth Meiklejohn, Laura Devendorf, Irene Posch

Knitted Keyboard (Soft Technologies Lab)

Knitted Keyboard - Irmandy Wicaksono

Stitch Synth, Lara Grant

Stitch Synth - Lara Grant

Woven Button Experiments, Shanel Wu

Woven Button Experiments - Shanel Wu

I also have a lot of respect and admiration for DJing and sampling, which is a very tactile musical art form.

DJing

The History of DJing and Sampling in Hip Hop

The work of my friend and textile artist, Julia Wright, is also quite a pinpoint of constant inspiration. She experiments quite a bit with weaving and has hopes of translating her weaving obsessions into the furniture, interior design world :)

DJing

Woven Piece by Julia Wright

Julia and I went to Portugal on a work trip and came across the Burel Factory, which is a textile factory that weaves fabric and makes felt for clothes, furniture, blankets, etc. I was quite taken with a shirt sample there that was woven in a waffle weave pattern.

Burel Factory - Waffle Weave Shirt

Waffle Weave Shirt Sample from Burel Factory in Manteigas, Portugal

Even though the former 3 references are not combined with computation or embedded systems, weaving has quite a close relationship with computation as the computer itself was inspired by traditional looms.

Electricity really is one of the most fascinating subjects to both learn about and work with. It has so much labor and history and failure behind it. For so long in the past, it was a principle of physics that had gone untapped or undiscovered. For so long did humans live without it. It's rather poetic. So when I think of this concept in conjunction with textiles and tangible embodied interaction, I feel as though I'm on the precipe of new discovery once again.

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)
What You'll Need
  • Microcontroller - Arduino UNO, ATtiny45 or 85, Circuit Playground, Adafruit Gemma
  • Arduino IDE - to program your microcontroller
  • Appropriate data cable - to connect your microcontroller to your computer
  • Neopixels and/or other LEDs
  • Craft Glue E6000
  • Fabrics - resistive/conductive fabrics
  • Threads - resistive/conductive threads
  • Inks - resistive/conductive inks (thermochromic ink)
  • Velostat - pressure-sensitive conductive sheet
  • Snap metal buttons or Metallic zippers
  • Copper tape + isulating tape
  • Actuators (your choice)
  • Resistors
  • Batteries
  • Paper
  • Copper tape
  • Breadboard
  • Jumper wires
  • Alligator clips
  • Digital Multimeter

Electronics 101

To echo what my awesome group peer Alex Sargent Capps said, you could spend an entire lifetime studying what we do in one week. BUT for our purposes and so forth, I just wanted to mention things to keep in mind when you work with electronics.

Ohm's Law

Ohm's Law: Ohm's Law describes the relationship between voltage (V), current (I), and resistance (R). Expressed as V=IR, the law basically states that the product of the current and resistance through a conductor or circuit is directly proportional to its voltage. Think of it this way: current is the rate of flow of electric charge or electrons (measured in amps, A), resistance is the measure of how much that flow of electric charge can be opposed (measured in ohms, Ω), and voltage is the electromotive force or electric pressure that allows current to flow (measured in volts, V).

Now, Ohm's Law can be used should you want to calculate any 1 of these values knowing any 2 other values in the equation. Also! It's useful as you work through building your circuits. You could do some calculations on any of these values and confirm those values with a multimeter. It's a good way to check your work and make sure you're on the right track. Using this law of course requires practice and more in depth understanding, but please look it up! :)

EXTRA

Kirchoff's Laws. Should you want to build even bigger, more complex circuits, be sure to understand Kirchoff's Laws.

Kirchoff's Voltage Law (KVL) is the sum of all voltages around any closed loop in a circuit is equal to 0. What the hell does this mean??, you ask. Well, circuits generally have more than one loop because you generally have more components. So, with this addition of components, you may need to figure out what and where are the different voltages, if any, in your circuit.

Kirchoff's Current Law (KCL) states that the total amount of current entering a node (or an intersection of connections within your circuit) must equal the amount of current leaving it.

These laws apply to our understanding of conservation of energy and that these are applicable to parallel, series, and series-parallel circuits.

Circuit Types

A circuit is a closed path of electricity flow that contains a power source and components that are both inputs (sensors, resistors, etc.) and outputs (lights, motors, etc.).

Circuit Types

Type What it is Notes
Series Circuit One shared path where components share the same current. Each component has different voltage One component fails, the whole circuit fails
Parallel Circuit Multiple paths where components have same voltage through them. Each component has different current flowing through it Components in different paths work independently of the rest of the circuit
Series-Parallel Circuit Has both shared paths and multiple paths in the same closed circuit loop Some components are in series while others are in parallel

Sensor Types

Sensors are instruments that detect physical stimuli (temperature, humidity, pressure, etc.) and convert that stimuli into measurable electrical signals (or data).

Sensor Types

Type What it is Example
Digital Sensor Also known as a switch. It detects and outputs 2 values - 0 and 1 or OFF and ON Light Switch
Analog Sensor Contrasted from digital sensors, analog sensors detect and output a range of values. The values that exist within OFF and ON Sound sensor that detects range of volumes

Connection Types

Hard/Hard: Both sensor and conductive connections are made from rigid or stiff materials e.g. copper tape or metal wires on plastic, paper, cardboard.

Hard/Soft: Both sensor and conductive connections combine rigid and flexible materials e.g. conductive fabric and microcontroller.

Soft/Soft: Both sensor and conductive connections are made entirely of soft materials e.g. conductive fabric and conductive thread.

Arduino + Arduino IDE

Your microcontroller - be it, Arduino UNO/Nano/Gemma/Lilypad, XIAO, ATTiny, Adafruit Circuit Playground - is the "brain" of your circuit. It's a single-chip computer that executes instructions and performs calculations.

Arduino IDE is the software in which you will write and upload code into your microcontroller. This software is used to code for a variety of microcontrollers other than Arduino. However, make sure you reference the appropriate libraries in your code and use the correct code syntax for your chosen microcontroller.

Digital Sensor - Metal Snap Clip Switch

I made the digital switch using a 9V battery, a breadboard, alligator clips, and jumper wires.

I then moved up to using the Arduino to program my switch.

Simple LED Circuit

Battery Powered LED circuit

Digital Switch

LED Circuit w/ a digital switch (button)

LED Circuit Diagram

Simple LED Circuit Diagram

I used the above diagram to construct my final digital switch swatch which is composed of felt pieces I had left over, conductive thread, an LED w/ its respective resistor, and a metal snap.

I tested it with the digital multimeter and read its resistance values when disconnected and connected.

DMM Digital - Disconnected DMM Digital - Connected


(Left) Open Digital Switch; (Right) Closed Digital Switch

Final Digital Swatch

Digital Swatch - Back

Final Digital Swatch

Digital Swatch - Connected

Below is code I wrote to program the switch using Arduino IDE :)

Sample Code for Digital Switch

int ledPin = 4;
int metalSnap = 2;

void setup() {
  // put your setup code here, to run once:
pinMode(ledPin, OUTPUT);
pinMode(metalSnap, INPUT);

Serial.begin(9600); // Initiates serial monitor
}

void loop() {
  // put your main code here, to run repeatedly:
int digitalSwitch = digitalRead(metalSnap);
Serial.println(digitalSwitch); // Reads and prints sensor values on serial monitor every 5 seconds
delay(5000);

if (digitalSwitch == LOW) {
    digitalWrite(ledPin, LOW);
    Serial.println("OFF");
}
  else {
    digitalWrite(ledPin, HIGH);
    Serial.println("ON");
}
}

Analog Sensor - Crocheted Stretch Sensor

Now, the analog sensor is where I struggled... because there are just too many possibilities! And like most weeks, I got bogged down with experimenting too late vs. committing to ONE, count it, ONE solid idea and running with it. Don't be like me. You got this.

I was playing with quite a bit of ideas - a stretch sensor, a small woven swatch through a paper grid that would be a piezo pressure sensor, a simple velostat pressure sensor, replacing the twill weave on some denim I had with conductive fabric and converting the fabric itself into a capacitive, sound sensor (?) - I mean the list goes on.

I nixed my woven swatch idea because I just didn't have time to continue troubleshooting.

Failed Woven Swatch

Warp (on paper grid) of Discontinued Woven Swatch - Back

Failed Woven Swatch

Warp (on paper grid) of Discontinued Woven Swatch - Front

In the end, I sewed a square wave into a piece of denim with conductive thread and attempted to have the stretch sensor data manipulate the brightness of the LED.

Analog Sensor Diagram

Stretch Sensor Circuit Diagram

Failed Woven Swatch

Final Analog Stretch Sensor

I chose crochet patterns that were more stretchy but I should have gone with a double crochet stitch for more stretch. Also, an amplifier like a transistor is needed for this circuit. Because the stretch value is so small, the change in LED brightness is too small, if not, nonexistent.

Second Attempt! - Stretch Sensor

So, this time around, I tried knitting the stretch sensor along with conductive thread and it worked. I also have very large knitting needles for relatively thinner thread and I didn't want to use them BUT I found out about finger knitting and wanted to try it! It's super easy and I linked the video down below in References if you want a little tutorial!

Finger Knitted Stretch Sensor

Finger Knitted Stretch Sensor

Sample Code for Analog Stretch Sensor

int stretchsensorPin = A0;   // Analog input pin
int ledPin = 9;       // PWM output pin
int stretchsensorValue = 0;  // Stores sensor reading
int brightness = 0;   // Maps brightness value

void setup() {
  pinMode(ledPin, OUTPUT);
  Serial.begin(9600);
}

void loop() {
  stretchsensorValue = analogRead(stretchsensorPin); // Reads sensor, values 300–400, it's not a very sensitive sensor
  brightness = map(stretchsensorValue, 300, 400, 0, 255); // Converts to led brightness, 0–255
  analogWrite(ledPin, brightness);              // Sets led brightness

  Serial.print("Sensor: ");
  Serial.print(stretchsensorValue);
  Serial.print(" -> Brightness: ");
  Serial.println(brightness);

  delay(2000); // 2 seconds
}

References