Skip to content

9. Wearables

RESEARCH


OHM’S LAW

V = I × R

  • Voltage, current, and resistance relationship
  • Essential for planning circuits, LEDs, heating, sensors

alt text

OUTPUTS

Visual Outputs

LED Types

  • Through‑hole LEDs (legs)
  • RGB LEDs
  • SMD LEDs (3528 is a good size)
  • Sewable LEDs

Circuits

  • May need resistors
  • Powered by microcontroller (limited current)

NeoPixels

  • Individual LEDs
  • Strips
  • Rings
  • Matrices
  • Sewable versions
  • Must connect to microcontroller and code
  • May require external power (LiPo, wall power)
  • Capacitor recommended on power line
  • NeoPixel Code Generator available

Fiber Optics

  • Light travels through fiber end
  • Side-emitting fibers glow along the length
  • Variables:
    • LED intensity
    • Fiber type
    • Connection method

Thermochromic Ink

  • Changes color when heated
  • Variables:
    • Pigment quantity
    • Mixing medium
    • Base fabric
    • Room temperature

Heating Elements

Materials:

  • Stainless steel thread
  • Karl Grimm conductive thread
  • Conductive fabric
  • Nichrome wire
  • Flexinol (SMA)

Notes:

  • Heating requires high power
  • Often needs external power source
  • Controlled using a transistor or MOSFET
  • Conductivity

Visual Inspiration

  • Moving Target — Maggie Orth
  • Wifi Tapestry — Richard Vijgen
  • UV pigments

Sound Outputs

Fabric / Textile Speakers

Principles:

  • Coils create magnetic field
  • Coil traces must not touch
  • Permanent magnets needed (preferably neodymium)
  • Produces vibration that can move fabric or air

Variables:

  • Coil tightness
  • Material stretch (stretch fabric = louder)
  • Magnet placement
  • Gap between coil lines
  • Resistances around ~8Ω (measure with multimeter)

Circuits

  • Arduino + high-load circuit
  • Adafruit Mono Amp (switching can be tricky)
  • DFPlayer Mini (SD card; unreliable sometimes)
  • Bela Boards
  • Teensy Audio Shield + Mono Amp

Sound Inspiration

  • Folding Frequencies — EJ Tech
  • The Crying Dress — Kobakant
  • Sonoflex — Thomas Preindl
  • Care Processing Unit — Liza Stark

Shape Outputs

Shape Memory Alloys (SMA / Flexinol)

  • Metal contracts when heated
  • Untrained contracts ~10%
  • Trained contracts ~10% but follows a “memory shape”

Variables:

  • Embedding material (light fabrics like silk work well)
  • Diameter (thicker = more power needed)
  • Length (longer = more resistance)

Construction Options:

  • Folding
  • Curling
  • Smocking / Shibori
  • Crimp beads for attaching/soldering

Circuit:

  • Low current
  • Must consider resistance + recovery time

Shape Inspiration

  • Jie Qi — Input/Output Paper
  • Flip Dots
  • Magnetic Hematite beads

Flip Dots

  • Use electromagnets to flip magnetic disks
  • Must switch polarity (N/S)
  • Requires H-bridge for automatic polarity switching
  • High-load circuit

Variables:

  • Bead size
  • Magnetic strength
  • Coil wind count (50+ recommended)
  • Wire gauge
  • Coil wrapping method
  • Securing beads to textile

Inspiration:

  • Flapping Wing — Kobakant
  • Textile flip-dot dress — Instructables

Haptics

  • Vibration motors (2–5V)
  • ERM motors (simple, 3V)
  • LRA motors (more precise)

Inspiration:

  • Social Body Lab

Microcontrollers

Pin Types

Power Pins

  • GND
  • 5V
  • 3.3V

Inputs

  • Analog (variable voltage)
  • Digital (0/1)

Outputs

  • Digital (HIGH/LOW)
  • Analog PWM (wave symbol, all A pins on FabriXiao)

FabriXiao + ESP32-S3

describe what you see in this image

  1. Solder miocroschip ESP32-S3 onto the FabriXiao board
  2. Make sure you download and use the ESP32-S3 chip to upload code from Arduiono IDE

  • Max output = 3.3V
  • Input via USB = 5V
  • Use MOSFETs for motors, heaters, SMA, speakers

Additional Components

  • Diode (protective)
  • Transistor / MOSFET (high-load control)

Reference:

  • Transistor board slides: https://docs.google.com/presentation/d/1Fa3_2coD3oVF_nZsVp6cF2VkEMZ2YRmqsvGIhmeRsCg/edit?usp=sharing
  • IRF520 MOSFET module (buy version): https://hobbycomponents.com/motor-drivers/661-irf520-mosfet-driver-module

Materials and Tools

Tools

  • Arduino
  • TurtleStitch: https://turtlestitch.org/run

Materials

  • Copperwire
  • Magnets
  • LED
  • FabriXiao
  • Xiao ESP32-S3
  • 9V battery

  • Madeira conductive thread

  • Spring steel (Fjederstål):

    https://www.conradelektronik.dk/da/p/fjederstaaltraad-1000-mm-1-0-mm-reely-1-stk-238103.html

  • SMA / Nitinol wire:

    https://www.magerial.com/

  • Magnetic beads:

    https://www.magneticbeads.net/

  • KOBAKANT resource:

    https://www.kobakant.at/KOBA/


  • Pauline van Dongen — https://www.paulinevandongen.nl/
  • Clara Daguin — https://www.claradaguin.com/copy-of-starlink
  • Sander Hagelaar — portfolio
  • William Darrell kinetic sculptures — Munchies Art Club
  • Théophile Blanquet — kinetic textiles
  • MIT Fiberobo — https://www.media.mit.edu/projects/fiberobo/overview/
  • Kinetic sculpture video — https://www.youtube.com/watch?v=ROP45rjvOHg
  • Irene Posch — Embroidered Computer
  • Flip-Dot Dress — https://www.instructables.com/Flip-Dot-an-interactive-kinetic-wearable/

MOSFET circuit

A MOSFET is an electronic switch that allows a microcontroller, which can only output a small amount of power, to control devices that require much more power, such as motors, heating elements, SMA wire, fabric speakers, or electromagnets.

The microcontroller sends only a small control signal, and the MOSFET handles the larger current from a separate power source.


The Three Pins (Channels) of a MOSFET

1. Gate (G)

The Gate is the control input.

A small voltage from the microcontroller tells the MOSFET when to turn on.

When the Gate receives a HIGH signal, the MOSFET opens and allows current to flow.

2. Drain (D)

The Drain is where the higher-power electricity enters the MOSFET from the load.

Think of the Drain as the “input side” for the main current.

3. Source (S)

The Source is where the current exits the MOSFET and returns to ground.

It is the “output side” of the main current path.


How a MOSFET Works

alt text

When the microcontroller sends a signal to the Gate:

  • The MOSFET opens the connection between Drain and Source
  • Current flows through the load (motor, heater, SMA wire, etc.)
  • The device turns on

When the Gate signal is LOW:

  • The connection closes
  • No current flows
  • The device turns off

The Gate requires only a small amount of energy, allowing the microcontroller to safely control a much larger electrical load.


“On/Off” Flip Dot (One Direction Only)

Dot moves when the coil turns on, and relaxes when it turns off.

What this does

  • Coil OFF → dot is in its “rest” position
  • Coil ON → dot is pulled toward or away from the coil
  • It does not fully flip between two stable sides, it just moves one way

Materials

  • Magnetic bead (e.g. hematite(stone) bead or any small permanent magnet)
  • Coded copper wire (for the coil)
  • Power source (battery or supply 9V)
  • Switch or transistor/MOSFET + microcontroller pin
  • Some structure to hold bead and coil (fabric, cardboard, etc.)

Step-by-step

  1. Make the coil
    • Wrap copper wire tightly around a cylinder shape in desired size.
    • Aim for at least 50 turns.
    • Leave two wire ends free to connect.
  2. Mount the bead
    • Place the magnetic bead close to the front of the coil.
    • It should be able to move or “flip” a bit, not be glued totally stiff.
    • You can hang it on a small thread or pin so it can rotate.
  3. Connect the circuit (simple version)
    • Connect one end of the coil to the positive side of your power source.
    • Connect the other end of the coil to:
      • a switch that goes to ground, or
      • a MOSFET that goes to ground and is controlled by a microcontroller pin.
  4. Turn it on and off
    • When the switch/MOSFET is OFF → no current → coil has no magnetic field → bead sits in rest position.
    • When the switch/MOSFET is ON → current flows → coil becomes an electromagnet → bead is pulled toward the coil.

Circuit setup

alt text

ls /dev/cu.*

//int ledPin = 5; //actually 4

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

//void loop() { // put your main code here, to run repeatedly: digitalWrite(ledPin, HIGH); delay(1000); digitalWrite(ledPin, LOW); delay(100); }

Examples of flip dot applications



Fabric Speaker

alt text

A fabric speaker is a speaker made out of textile instead of a hard plastic cone.

Instead of a normal speaker, you sew or print a coil of conductive thread or wire onto fabric and place a magnet nearby.

When sound (an audio signal) is sent through the coil, it creates a changing magnetic field.

This pushes and pulls against the magnet and makes the fabric vibrate.

Those vibrations are what we hear as sound.


Step-by-step

  1. You sew a flat spiral coil of conductive thread on fabric.
  2. You place a strong magnet (neodymium) close to that coil.
  3. You send an audio signal through the coil from an amplifier.
  4. The changing current in the coil makes a changing magnetic field.
  5. The fabric moves slightly back and forth and creates sound.

Example code

https://docs.arduino.cc/language-reference/en/functions/advanced-io/tone/

define BUZZER_PIN D0 // Example pin

void setup() { pinMode(BUZZER_PIN, OUTPUT); }

void loop() { tone(BUZZER_PIN, 1000, 1000); // 1 kHz tone delay(1000); }


Materials

  • Fabric (non-fraying, slightly stretchy can work well)
  • Conductive thread or thin insulated wire
  • Strong magnet (neodymium disk or block)
  • Audio amplifier (for example, small mono amp)
  • Audio source (DFPlayer, phone + amp, microcontroller with sound circuit)
  • Optional: embroidery machine or hand sewing tools

Sensor with coils/flip dots

1. Fabric Coil

  • I stitched a flat spiral coil using coded copper wire.
  • This coil works as an electromagnet when powered, but in this case I wanted to use it as the sensor in my setup.

2. Flip Dots

  • Using the coded copper wire I made 3 small coils from the same wire so the were connected.
  • I placed a small magnet taped to the table under each of the coils.
  • When the magnetic field changes.

3. Sensor Input

  • The sensor(fabric speaker before) was connected to the microcontroller.
  • The sensor triggers the system when it is touch using the sensor code.

4. Microcontroller

  • Reads the sensor value.
  • Sends a small control signal to the MOSFET.

5. MOSFET Circuit

  • Acts as a safe power switch.
  • Lets the microcontroller control a larger current needed for the coil.

6. Activation

  • When the sensor is triggered, the microcontroller turns the MOSFET ON.
  • The MOSFET lets power flow through the fabric coil.
  • The coil becomes an electromagnet and the copper coils lift up.

7. Flip Dot Movement

  • The magnetic field from the coil pulls or lifts them in relation to the magnets.
  • When the MOSFET turns OFF, the coil deactivates and the bead returns or settles in a new position.

Sensor code

// Define touch pin and threshold define TOUCH_PIN A3 // Connect your touch sensor to this pin int outputPin = 5; // Output: actually connect to pin 4 define TOUCH_THRESHOLD 100000 // Adjust based on your setup: open the serial monitor and see what values it records

void setup() { Serial.begin(115200); pinMode(outputPin, OUTPUT); }

void loop() { int touchValue = touchRead(TOUCH_PIN); Serial.println(touchValue);

if (touchValue < TOUCH_THRESHOLD) { digitalWrite(outputPin, HIGH); // Touch detected (heater/coil /etc) //tone(outputPin,400,400); //uncomment this for speaker } else { digitalWrite(outputPin, LOW); // No touch //noTone(); //uncomment this for speaker }

delay(100); }

Example


Turtle stitch

TurtleStitch is a browser-based tool that lets you use block-coding to generate embroidery designs. You create patterns in code, then export them for machine embroidery or textile production. It combines creative design, programming and textiles into one platform. turtlestitch.org+1

Website:

https://www.turtlestitch.org turtlestitch.org