Skip to content

9. Wearables

Research and Ideation

In textiles, wearable refers to any material or fabric designed to be worn on the body as clothing, accessories, or functional garments. These textiles are typically flexible, durable, and comfortable to suit the needs of the wearer. Wearables also extend to technologically enhanced garments that incorporate electronics or sensors to perform specific functions.

Types of Wearable in Textile

Visual actuator

Inspiration

To see the full documentation and progress of my wearable project, check out E-Textiles for Healthcare. alt text

A visual actuator in wearable technology is a component that produces visible responses—such as light, color changes, or movement—to communicate information or trigger reactions. Commonly used visual actuators include LEDs, OLED displays, or color-changing materials. In the context of wearables, they are often integrated into clothing or accessories to provide real-time feedback based on data from sensors or user interaction. These actuators not only serve a functional purpose but also enhance the aesthetic and expressive potential of the garment.

Materials needed

Material/Component Use
LEDs Visual output — emit light as feedback or decoration
Conductive thread or wires To connect LEDs and electronic components in a flexible way
Microcontroller ( Arduino Nano) Controls the LEDs and responds to sensor inputs
Power source Powers the circuit and wearable device
Resistors Used to limit current to the LEDs
Knitted or crocheted top The base textile for embedding the visual actuator
Needle and scissors For sewing conductive thread or attaching components
Fabric adhesive To secure components in place without damaging the fabric
Optional sensors ( light) To trigger LED behavior based on user movement or environment

Circuit skecth

The circuit sketch combines LEDs, a power source, and an Arduino Nano to make the crop top interactive. It’s lightweight, flexible, and fits seamlessly into the wearable’s design.

alt text

Circuit diagram

To simplify the process, I used a TinkerCAD sketch to visualize and experiment with the design before building it. 🧩 Feel free to try it out yourself—here’s the link Check it out on TinkerCAD

alt text

For the first time, I want to use the Arduino Nano as a controller in my wearable project to explore how it can manage sensors and enhance interactivity.

CODE

#define LED1 2
#define LED2 3
#define LED3 4
#define LED4 5

void setup() {
  pinMode(LED1, OUTPUT);
  pinMode(LED2, OUTPUT);
  pinMode(LED3, OUTPUT);
  pinMode(LED4, OUTPUT);
}

void loop() {
  // Turn all LEDs ON
  digitalWrite(LED1, HIGH);
  digitalWrite(LED2, HIGH);
  digitalWrite(LED3, HIGH);
  digitalWrite(LED4, HIGH);
  delay(500);

  // Turn all LEDs OFF
  digitalWrite(LED1, LOW);
  digitalWrite(LED2, LOW);
  digitalWrite(LED3, LOW);
  digitalWrite(LED4, LOW);
  delay(500);
}

Procedure to Integrate Visual Actuators in Wearable Technology

Step 1: Plan Your Design

• Decide where you want the LEDs to be placed on your wearable (e.g., shoulders, chest, sleeve).

• Sketch the circuit path, including where the microcontroller, battery, and any sensors will be located.

• Plan how wires or conductive thread will run through the textile.

Step 2: Prepare the Textile Base

• Lay out your knitted or crocheted top flat.

• Mark LED and component positions using chalk or removable fabric marker. alt text alt text

Step 3: Sew in the Circuit

• Use conductive thread or thin flexible wires to sew or connect.

• The positive (anode) side of the LED to a digital output pin on the microcontroller.

• The negative (cathode) side of the LED to the GND pin on the microcontroller.

• If needed, sew in resistors in line with each LED to limit current.

• Avoid crossing conductive threads; insulate where needed.

alt text

Step 4: Attach the Microcontroller

• Use fabric adhesive or hand-sew the microcontroller ( Arduino Nano) to a stable part of the top.

• Connect it to the LED lines using conductive thread or wires.

Step 5: Add Power Supply

• Secure the battery holder to the top.

• Connect the + and – terminals to the microcontroller's VIN and GND pins respectively.

• Add an on/off switch if desired, to control power flow.

Step 6: (Optional) Add Sensors

• Attach optional sensors ( light) as needed.

• Wire them to the analog or digital input pins of the microcontroller.

Step 7: Upload Code

• Connect the microcontroller to your computer via USB.

• Upload a basic program to control the LEDs

Result

alt text

This image beautifully captures the successful integration of wearable technology into fashion, showcasing a crocheted top enhanced with glowing blue LEDs. It exemplifies how visual actuators like LEDs can be creatively embedded into handmade garments to combine aesthetics with interactivity. This project not only highlights technical skill and creativity but also reflects the exciting potential of merging traditional craft with modern electronics to create expressive, functional wearables.

Smart Jacket:

Materials Needed

To build this Smart Jacket, you’ll need:

Component Use
Arduino Nano Acts as the microcontroller to process sensor input .
Power Source (e.g., Li-ion Battery Pack) Supplies portable power to the system.
Jumper Wires Connects electronic components within the jacket.
Jacket Base wearable garment for embedding components.
Knitting machine and Yarns Used for attaching and securing components inside the jacket.
Breadboard or Custom PCB For prototyping or permanently soldering connections.

Circuit diagram

alt text

For the second experiment, I chose to use the Xiao ESP32 as the main controller. I want to first test the setup by building the circuit on a breadboard, which will help me understand how the components interact and ensure everything works before integrating it into the final design. This step allows for easy adjustments and gives me a clear overview of the connections and functionality.

alt text alt text

1. Gather and Test Components

  • LEDs
  • Arduino Nano
  • Power source (battery)
  • jumper wires
  • Test each component independently to make sure they work before embedding.

2. Embed Wiring Softly

  • Route conductive thread or flexible wires along seams or through stitch gaps in the knit.
  • Use fabric glue, stretchable tape, or zigzag stitching to secure the wiring without restricting flexibility.
  • Avoid crossing threads to reduce short-circuit risks.

3. Secure Electronics

  • Mount the Arduino on a small felt or fabric patch and hand-stitch it inside a discreet pocket or area of the jacket.
  • Place the battery in a safe, balanced spot to keep weight distributed.

alt text

5. Upload and Test Code

  • Write Arduino code to:

  • Read sensor input (or simulate trigger events).

  • Activate specific motors based on data or signals.
  • Upload via USB and test motor response.
  • Calibrate for comfort and appropriate vibration strength.

CODE

#define LED1 2
#define LED2 3
#define LED3 4
#define LED4 5
#define LED5 6
#define LED6 7
#define LED7 8
#define LED8 9

const int ledPins[] = {LED1, LED2, LED3, LED4, LED5, LED6, LED7, LED8};

const int buttonPin = 10;
bool ledState = false;
bool buttonPressed = false;
unsigned long lastDebounceTime = 0;
unsigned long debounceDelay = 50;

int currentLed = 0;
int direction = 1; // 1 = forward, -1 = backward
unsigned long previousMillis = 0;
const unsigned long interval = 300; // 300ms for each blink

void setup() {
  Serial.begin(115200);
  Serial.println("System Ready. Waiting for button press...");

  for (int i = 0; i < 8; i++) {
    pinMode(ledPins[i], OUTPUT);
    digitalWrite(ledPins[i], LOW);
  }

  pinMode(buttonPin, INPUT_PULLUP);
}

void loop() {
  static bool lastButtonReading = HIGH;
  bool currentReading = digitalRead(buttonPin);

  if (currentReading != lastButtonReading) {
    lastDebounceTime = millis();
  }

  if ((millis() - lastDebounceTime) > debounceDelay) {
    if (currentReading == LOW && !buttonPressed) {
      buttonPressed = true;
      ledState = !ledState;

      if (ledState) {
        Serial.println("Button Pressed: Starting blinking sequence...");
        currentLed = 0;
        direction = 1;
      } else {
        Serial.println("Button Pressed: Stopping and turning OFF all LEDs...");
        for (int i = 0; i < 8; i++) {
          digitalWrite(ledPins[i], LOW);
        }
      }
    }

    if (currentReading == HIGH) {
      buttonPressed = false;
    }
  }

  lastButtonReading = currentReading;

  if (ledState) {
    unsigned long currentMillis = millis();
    if (currentMillis - previousMillis >= interval) {
      previousMillis = currentMillis;

      // Turn OFF all LEDs first
      for (int i = 0; i < 8; i++) {
        digitalWrite(ledPins[i], LOW);
      }

      // Turn ON the current LED
      digitalWrite(ledPins[currentLed], HIGH);
      Serial.print("Blinking LED ");
      Serial.println(currentLed + 1);

      // Move to next LED
      currentLed += direction;

      // If we reach the end, reverse direction
      if (currentLed >= 8) {
        currentLed = 7; // Stay at last LED
        direction = -1; // Reverse
      } else if (currentLed < 0) {
        currentLed = 0; // Stay at first LED
        direction = 1;  // Forward again
      }
    }
  }
}

Code used

Final Adjustments

  • Test the full system while wearing the jacket:

  • Check for overheating, vibration accuracy, and comfort.

  • Reinforce any weak connection points and ensure breathability is preserved.
  • Make the electronics removable if you plan to wash the jacket.

Smart Jacket Result

Vibrating sweater

For this vibrating textile experiment, I decided to use the digital sensor I worked with during the E-Textile week. It provided a simple way to activate the vibration when the textile was touched.

Inspiring projects

It's true that clothing is one of the primary ways that people express themselves—beyond providing comfort, the things you wear can help exude confidence, and in the case of high fashion, can even elicit awe. But what if your clothes could take things a step further and actually change your mental state?

Vibrating Clothes and the Future of E-Textiles – Popular Mechanics

Circuit Diagram

alt text

Materials Needed

  1. knitting machine (size depends on your yarn)

  2. Mini vibration motor (2)

  3. 3V battery

  4. Battery holder

  5. Small switch ( snap button as a switch)

  6. jumper wire

  7. XIAO ESP S32

Process

Some pictures were taken during my experiment to document the process and capture important steps and results. These images help illustrate the materials I used, the setup, and the changes that occurred over time, providing visual support for my findings. alt text alt text

Internal connection

alt text

Code

// Pin definitions
const int buttonPin = 2;        // Pushbutton connected to D2
const int motorPin1 = 3;        // Vibrating Motor 1 on D3
const int motorPin2 = 4;        // Vibrating Motor 2 on D4

// Variable to store button state
int buttonState = 0;

void setup() {
  // Initialize pins
  pinMode(buttonPin, INPUT_PULLUP);  // Use internal pull-up resistor
  pinMode(motorPin1, OUTPUT);
  pinMode(motorPin2, OUTPUT);

  // Initialize motors OFF
  digitalWrite(motorPin1, LOW);
  digitalWrite(motorPin2, LOW);
}

void loop() {
  // Read the state of the button
  buttonState = digitalRead(buttonPin);

  // Check if button is pressed
  if (buttonState == LOW) {
    // Button pressed → turn on motors
    digitalWrite(motorPin1, HIGH);
    digitalWrite(motorPin2, HIGH);
  } else {
    // Button released → turn off motors
    digitalWrite(motorPin1, LOW);
    digitalWrite(motorPin2, LOW);
  }
}

Findings