5. E-textiles¶
Research¶
E-textiles, or electronic textiles, are fabrics that have electronic components integrated into them. These components can include sensors, batteries, LEDs, and even small computers. The integration of electronics into textiles allows for the creation of smart clothing and accessories that can interact with the wearer and the environment.
Importance of E-textiles
E-textiles are important because they represent a significant advancement in wearable technology. They offer the potential for more comfortable, flexible, and unobtrusive wearable devices compared to traditional rigid electronics. This can lead to improved user experiences and broader adoption of wearable technology in various fields.
Main Use Cases
* Healthcare: E-textiles can monitor vital signs such as heart rate, body temperature, and respiratory rate, providing real-time health data to patients and healthcare providers.
* Sports and Fitness: Smart clothing can track physical activity, monitor performance, and provide feedback to athletes and fitness enthusiasts.
* Fashion: Designers can create innovative and interactive clothing that changes color, lights up, or reacts to the environment.
* Military and Safety: E-textiles can be used in uniforms to monitor the health and stress levels of soldiers, or in safety gear to detect hazardous conditions.
* Entertainment: Wearable technology can enhance experiences in gaming, virtual reality, and interactive performances.
E-textiles are paving the way for a future where our clothing and accessories are not just functional but also intelligent and responsive.
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)
get inspired!
-
Palmistry - Montserrat Sitges - Dassault 3D experience
-
Soft tools - Stephanie Vilayphiou - GreenLab
-
Booklet & veggie moisture sensors - Kae Nagano - FabLab Kamakura
-
Knitted samples - Alice Sowa - Icelandic Textile Center
-
Final project trajectory - Ieva Maria Dautartaite
-
References & Inspiration¶
FibeRobo¶
A programmable, actuating fiber developed by an interdisciplinary team of MIT researchers could someday make this vision a reality. The fiber contracts in response to an increase in temperature, then self-reverses when the temperature decreases, without any embedded sensors or other hard components.
The low-cost fiber is fully compatible with textile manufacturing techniques, including weaving looms, embroidery, and industrial knitting machines, and can be produced continuously by the kilometer. This could enable designers to easily incorporate actuation and sensing capabilities into a wide range of fabrics for myriad applications.
Elitac Wearables¶
Elitac is a company that developes wearables from idea to successful product and any stage in-between, for the health, safety/professional and sports sectors.
They specialise in integrating electronics and textiles, with a particular focus on haptic feedback applications and sensor integrations.
I find their case very inspiring because they brought e-textile to real case applications. Before starting this assignment I found it really dull, I did not think it was an important assignment due to the examples presented in class and the development of the assignment. After seeing what Elitac is doing I had to "eat my words" and reflect on the subject. I think for next year it sould be important to present real life e-textile scenarios and show what state of the art companies are doing with it.
You can find many of Elitac's projects in this page They are awesome.
Tools¶
Process and workflow¶
Hummingbird bracelet¶
The first attempt to do something was to make a hummingbird bracelet. It was a busy working week, and all my attempts turned out a total disaster.
First, I asked Copilot to make me three images of the outline of a hummingbird with a microcontroller in the center. This is the result of the prompt:
Of the three designs, I found the last one to be the closest to what I was looking for, so I decided to use it as the basis for the hummingbird circuit. I added the tracks to the ATTINY85 microprocessor and to the LEDs that I planned to place around the figure.
Once I had the tracks for the bracelet, I made the design for laser cutting. The design included a simple switch and a pressure sensor to change the behavior of the LEDs.
Then I laser cut some prototypes to figure out the size
Then I went to the silhuette to cut the traces and this is the result:
A complete disaster. Then I ran out of time in the week and left everything undone leaving the project in backorder. That project is something I will finish soon.
Simple switch¶
After disaster stroke and I ran out of time I planned a new project.
I wanted to experiment with an approach to e-textiles without conductive thread. There are two reasons for this. The first is the cost of the conductive thread. Trying to make a business out of e-textiles using this thread, which is very thick, very expensive, and also very ugly, seems complicated.
The second is to know if enameled copper wire achieved sufficient flexibility to be used within a textile. This considering my final project where I would like the fabrics produced by my loom to incorporate these very thin wires within the weave of the fabric.
Another thing I experimented with and found very interesting was not using any kind of thread. I did everything with material that sticks to the fabric on one side or both sides when Ironed.
This one side sticky fabric has on the sticky side small deposit of a plastic resin that melts when iron
There is also a double sided fabric that melts completly when ironing
In this way, it was not necessary to sew the parts but simply to place these heat-fusible elements and let them act as glue.
I also used copper tape to make the connections larger and soldered the copper wire to them.
With the copper tape, I made the positive and negative of the battery as well as the two parts of the ignition switch that are separated by a piece of sponge with a hole in the middle.
Finally the project worked and this is how it ended up:
Presure sensor¶
The idea of the project is to use the pressure sensor to light a group of LEDs, the more pressure the more LDS lighted.
To make a pressure sensor I decided to use copper wire and velostat in the middle.
At first I searched in you tube [how to make a preassure sensor}(https://www.youtube.com/watch?v=FEPgLbPv6NM) Later, I thought it would be a good idea to bend the cable into a serrated shape instead of using a simple cable.
For this, I designed and printed the saw teeth to bend the wire.
Later, I discovered that it wasn't such a good idea, so I only cut two teeth on one side, which made bending the wire easier.
Once folded, I placed the found sawtooth pieces and glued them with fabric that adheres with ironing to different sides of the fabric, and between them, I placed a piece of velostat.
Next to use the sensor I conected to an arduino UNO according to this schematichs:
To code the sensor's program in an arduino one I, for the first time used AI. In this case copilot. My prompt was:
As an Arduino programmer make a code for Arduino Nano where, when a pressure sensor is pressed, 8 LEDs connected in series light up as the pressure increases. Include the serial.print to see the values. Estimate the values at which the LEDs would turn on. Use the neopixel library.
The result an its explanation were:
#include <Adafruit_NeoPixel.h>
#define PIN 6 // Pin donde están conectados los LEDs NeoPixel
#define NUMPIXELS 8 // Número de LEDs NeoPixel
#define pressureSensorPin A0 // Pin del sensor de presión
Adafruit_NeoPixel pixels(NUMPIXELS, PIN, NEO_GRB + NEO_KHZ800);
void setup() {
pixels.begin(); // Inicializar la librería NeoPixel
Serial.begin(9600); // Iniciar comunicación serial
}
void loop() {
int pressureValue = analogRead(pressureSensorPin); // Leer el valor del sensor de presión
Serial.print("Pressure Value: ");
Serial.println(pressureValue); // Imprimir el valor de presión en el monitor serial
// Estimar los valores de presión para encender los LEDs
int thresholds[NUMPIXELS] = {100, 200, 300, 400, 500, 600, 700, 800};
// Encender LEDs según el valor de presión
for (int i = 0; i < NUMPIXELS; i++) {
if (pressureValue > thresholds[i]) {
pixels.setPixelColor(i, pixels.Color(255, 0, 0)); // Encender LED en rojo
} else {
pixels.setPixelColor(i, pixels.Color(0, 0, 0)); // Apagar LED
}
}
pixels.show(); // Actualizar los LEDs
delay(100); // Pequeña pausa para estabilizar la lectura
}
Code explain:
Import NeoPixel library:
#include
Pin declaration and NeoPixel config:
#define PIN 6 // Pin donde están conectados los LEDs NeoPixel #define NUMPIXELS 8 // Número de LEDs NeoPixel #define pressureSensorPin A0 // Pin del sensor de presión
Adafruit_NeoPixel pixels(NUMPIXELS, PIN, NEO_GRB + NEO_KHZ800); Configuración inicial en setup():
void setup() { pixels.begin(); // Inicializar la librería NeoPixel Serial.begin(9600); // Iniciar comunicación serial }
Main loop():
void loop() { int pressureValue = analogRead(pressureSensorPin); // Leer el valor del sensor de presión Serial.print("Pressure Value: "); Serial.println(pressureValue); // Imprimir el valor de presión en el monitor serial
// Estimate pressure values to light LEDs
int thresholds[NUMPIXELS] = {100, 200, 300, 400, 500, 600, 700, 800};
// Encender LEDs según el valor de presión for (int i = 0; i < NUMPIXELS; i++) { if (pressureValue > thresholds[i]) { pixels.setPixelColor(i, pixels.Color(255, 0, 0)); // Encender LED en rojo } else { pixels.setPixelColor(i, pixels.Color(0, 0, 0)); // Apagar LED } } pixels.show(); // Actualizar los LEDs
delay(100); // Pequeña pausa para estabilizar la lectura } Operation:
Pressure sensor reading: The value of the pressure sensor connected to the analog pin A0 is read. Printing the value: The pressure value is printed on the serial monitor to monitor changes. LED Control: According to the read pressure value, the LEDs on the NeoPixel pins are lit. The LEDs light up in sequence as the pressure value exceeds the thresholds of 100, 200, 300, 400, 500, 600, 700, and 800.
I was A M A Z E D !
Almost everything was right since the begining, I only had to calibrate the sensors readings according to the values of the serial monitor. Te final values were:
// Estimar los valores de presión para encender los LEDs
int thresholds[NUMPIXELS] = {10, 20, 30, 40, 50, 60, 70, 80};
Finally I assembled everything and here is the video with the project: