9. Wearables¶
RESEARCH¶
OHM’S LAW¶
V = I × R
- Voltage, current, and resistance relationship
- Essential for planning circuits, LEDs, heating, sensors
¶
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¶
- Solder miocroschip ESP32-S3 onto the FabriXiao board
- 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/
Inspiration links¶
- 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¶
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¶
- 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.
- 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.
- 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.
- 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¶
Code for On/Off dots(Blink LED)¶
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¶
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¶
- You sew a flat spiral coil of conductive thread on fabric.
- You place a strong magnet (neodymium) close to that coil.
- You send an audio signal through the coil from an amplifier.
- The changing current in the coil makes a changing magnetic field.
- 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:



